aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2024-08-12 22:41:22 +0200
committerJ08nY2024-08-12 22:41:22 +0200
commite0bc60f3257039e9cfcbaa9312c6e40664989646 (patch)
tree0c819985713b68e612a22d83621dc74fb9d75216
parentb170ce52826b8e82c6278de980772ed73cb3ea6e (diff)
downloadECTester-e0bc60f3257039e9cfcbaa9312c6e40664989646.tar.gz
ECTester-e0bc60f3257039e9cfcbaa9312c6e40664989646.tar.zst
ECTester-e0bc60f3257039e9cfcbaa9312c6e40664989646.zip
Fix mbedTLS and Botan default builds.
-rw-r--r--fetchReleases.py19
-rw-r--r--flake.nix11
-rw-r--r--nix/botan_pkg_versions.json35
-rw-r--r--nix/mbedtls_pkg_versions.json98
-rw-r--r--standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile8
5 files changed, 91 insertions, 80 deletions
diff --git a/fetchReleases.py b/fetchReleases.py
index 5ced814..2de5437 100644
--- a/fetchReleases.py
+++ b/fetchReleases.py
@@ -66,6 +66,9 @@ def fetch_botan():
download_link = download_url.format(version=link['href'])
match = re.match(r"Botan-(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\.(?P<ext>.*)", link.text)
+ if match['major'] == "3":
+ # TODO: Handle Botan-3
+ continue
version = f"{match['major']}.{match['minor']}.{match['patch']}"
ext = f"{match['ext']}"
@@ -235,11 +238,16 @@ def fetch_mbedtls():
versions = {}
for release in resp.json():
if not release['draft'] and not release['prerelease']:
- version = release['tag_name']
- sort_version = version.replace("mbedtls-", "v")
+ tag = release["tag_name"]
+ version = tag.replace("mbedtls-", "v")
flat_version = version.replace('.', '')
- download_url = f"https://github.com/{owner}/{repo}/archive/{version}.tar.gz"
- digest = get_source_hash(download_url, unpack=True)
+ download_url = f"https://github.com/{owner}/{repo}/archive/{tag}.tar.gz"
+ if version == "v3.6.0":
+ # TODO: Special case for the time being
+ digest = "sha256-tCwAKoTvY8VCjcTPNwS3DeitflhpKHLr6ygHZDbR6wQ="
+ else:
+ digest = get_source_hash(download_url, unpack=True)
+
print(f"{version}:{digest}")
rendered = single_version_template.render(pkg=pkg, digest=digest, flat_version=flat_version, version=version).strip()
@@ -247,7 +255,8 @@ def fetch_mbedtls():
versions[flat_version] = {
"version": version,
"hash": digest,
- "sort": parse_version(sort_version)
+ "tag": tag,
+ "sort": parse_version(version)
}
serialize_versions(pkg, renders, versions)
diff --git a/flake.nix b/flake.nix
index 52aa90c..333df95 100644
--- a/flake.nix
+++ b/flake.nix
@@ -156,6 +156,7 @@
{
version ? null,
hash ? null,
+ tag ? null,
}:
if version == null then
pkgs.mbedtls
@@ -163,10 +164,11 @@
pkgs.mbedtls.overrideAttrs (
final: prev: {
inherit version;
+ inherit tag;
src = pkgs.fetchFromGitHub {
owner = "Mbed-TLS";
repo = "mbedtls";
- rev = "mbedtls-${version}";
+ rev = tag;
inherit hash;
# mbedtls >= 3.6.0 uses git submodules
fetchSubmodules = true;
@@ -465,10 +467,10 @@
libgcrypt = libgcryptBuilder { inherit version hash; };
};
mbedtlsShimBuilder =
- { version, hash }:
+ { version, hash, tag }:
import ./nix/mbedtlsshim.nix {
inherit pkgs;
- mbedtls = (mbedtlsBuilder { inherit version hash; });
+ mbedtls = (mbedtlsBuilder { inherit version hash tag; });
};
ippcpShimBuilder =
{ version, hash }:
@@ -529,6 +531,7 @@
mbedtls ? {
version = null;
hash = null;
+ tag = null;
},
ippcp ? {
version = null;
@@ -557,7 +560,7 @@
cryptoppShim = cryptoppShimBuilder { inherit (cryptopp) version hash; };
boringsslShim = boringsslShimBuilder { inherit (boringssl) rev hash; };
gcryptShim = gcryptShimBuilder { inherit (gcrypt) version hash; };
- mbedtlsShim = mbedtlsShimBuilder { inherit (mbedtls) version hash; };
+ mbedtlsShim = mbedtlsShimBuilder { inherit (mbedtls) version hash tag; };
ippcpShim = ippcpShimBuilder { inherit (ippcp) version hash; };
nettleShim = nettleShimBuilder { inherit (nettle) version tag hash; };
libresslShim = libresslShimBuilder { inherit (libressl) version hash; };
diff --git a/nix/botan_pkg_versions.json b/nix/botan_pkg_versions.json
index cd09209..7d283bf 100644
--- a/nix/botan_pkg_versions.json
+++ b/nix/botan_pkg_versions.json
@@ -1,39 +1,4 @@
{
- "v350": {
- "version": "3.5.0",
- "source_extension": "tar.xz",
- "hash": "sha256-Z+ja4cokaNkN5OYByH1fMf9JKzjoq4vL0C3fcQTtip8="
- },
- "v340": {
- "version": "3.4.0",
- "source_extension": "tar.xz",
- "hash": "sha256-cYQ6/MCixYX48z+jBPC1iuS5xdgwb4lGZ7N0YEQndVc="
- },
- "v330": {
- "version": "3.3.0",
- "source_extension": "tar.xz",
- "hash": "sha256-No8R9CbxIFrtuenjI2ihZTXcEb1gNRBm5vZmTsNrhbk="
- },
- "v320": {
- "version": "3.2.0",
- "source_extension": "tar.xz",
- "hash": "sha256-BJyEeDX89u86niBrM94F3TiZnDJeJHSCdypVmNnl7OM="
- },
- "v311": {
- "version": "3.1.1",
- "source_extension": "tar.xz",
- "hash": "sha256-MMhP6RmTapj+9TMfJGxiqiwOTSCFstRREgf2ogr6Oms="
- },
- "v310": {
- "version": "3.1.0",
- "source_extension": "tar.xz",
- "hash": "sha256-ThjnVai7xr+W+skW+/By7NBnQMcqcgF8JxYuTAtHJf4="
- },
- "v300": {
- "version": "3.0.0",
- "source_extension": "tar.xz",
- "hash": "sha256-XaVS4A+hwEepDCLrXwJH7CfnQytot44Qp84JVSacytc="
- },
"v2195": {
"version": "2.19.5",
"source_extension": "tar.xz",
diff --git a/nix/mbedtls_pkg_versions.json b/nix/mbedtls_pkg_versions.json
index c0e7b49..000efd5 100644
--- a/nix/mbedtls_pkg_versions.json
+++ b/nix/mbedtls_pkg_versions.json
@@ -1,122 +1,152 @@
{
"v360": {
"version": "v3.6.0",
- "hash": "sha256-yzGBkrqh+T/5GS66xL5zJstCmvcfG09TfxqA3F8UPJg="
+ "hash": "sha256-tCwAKoTvY8VCjcTPNwS3DeitflhpKHLr6ygHZDbR6wQ=",
+ "tag": "v3.6.0"
},
"v352": {
"version": "v3.5.2",
- "hash": "sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM="
+ "hash": "sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM=",
+ "tag": "v3.5.2"
},
"v351": {
"version": "v3.5.1",
- "hash": "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw="
+ "hash": "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw=",
+ "tag": "v3.5.1"
},
- "mbedtls-350": {
- "version": "mbedtls-3.5.0",
- "hash": "sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU="
+ "v350": {
+ "version": "v3.5.0",
+ "hash": "sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU=",
+ "tag": "mbedtls-3.5.0"
},
"v341": {
"version": "v3.4.1",
- "hash": "sha256-NIjyRcVbg6lT6+RlTz5Jt6V9T85mvta5grOSLIAK9Ts="
+ "hash": "sha256-NIjyRcVbg6lT6+RlTz5Jt6V9T85mvta5grOSLIAK9Ts=",
+ "tag": "v3.4.1"
},
"v340": {
"version": "v3.4.0",
- "hash": "sha256-1YA4hp/VEjph5k0qJqhhH4nBbTP3Qu2pl7WpuvPkVfg="
+ "hash": "sha256-1YA4hp/VEjph5k0qJqhhH4nBbTP3Qu2pl7WpuvPkVfg=",
+ "tag": "v3.4.0"
},
"v330": {
"version": "v3.3.0",
- "hash": "sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE="
+ "hash": "sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE=",
+ "tag": "v3.3.0"
},
"v321": {
"version": "v3.2.1",
- "hash": "sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc="
+ "hash": "sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc=",
+ "tag": "v3.2.1"
},
"v320": {
"version": "v3.2.0",
- "hash": "sha256-b0c8E3eFwHw2bbvAOQY55RRkXVcx9hUCmkZA9QlRodQ="
+ "hash": "sha256-b0c8E3eFwHw2bbvAOQY55RRkXVcx9hUCmkZA9QlRodQ=",
+ "tag": "v3.2.0"
},
"v310": {
"version": "v3.1.0",
- "hash": "sha256-esQe1qnM1yBzNPpd+qog3/8guttt6CKUiyzIQ1nMfJs="
+ "hash": "sha256-esQe1qnM1yBzNPpd+qog3/8guttt6CKUiyzIQ1nMfJs=",
+ "tag": "v3.1.0"
},
"v300": {
"version": "v3.0.0",
- "hash": "sha256-M4PQwsa856Hy3QXKwnNRp4alk5oVJBGkDEjZWf6vT4s="
+ "hash": "sha256-M4PQwsa856Hy3QXKwnNRp4alk5oVJBGkDEjZWf6vT4s=",
+ "tag": "v3.0.0"
},
"v2288": {
"version": "v2.28.8",
- "hash": "sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o="
+ "hash": "sha256-A1DYZrvJ8SRujroVwqPfcTOSgLnT5xRat/RVdq2fL/o=",
+ "tag": "v2.28.8"
},
"v2287": {
"version": "v2.28.7",
- "hash": "sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw="
+ "hash": "sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw=",
+ "tag": "v2.28.7"
},
"v2286": {
"version": "v2.28.6",
- "hash": "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8="
+ "hash": "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8=",
+ "tag": "v2.28.6"
},
- "mbedtls-2285": {
- "version": "mbedtls-2.28.5",
- "hash": "sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o="
+ "v2285": {
+ "version": "v2.28.5",
+ "hash": "sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o=",
+ "tag": "mbedtls-2.28.5"
},
"v2284": {
"version": "v2.28.4",
- "hash": "sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE="
+ "hash": "sha256-88Lnj9NgS5PWg2hydvb9cwi6s6BG3UMvkUH2Ny1jmtE=",
+ "tag": "v2.28.4"
},
"v2283": {
"version": "v2.28.3",
- "hash": "sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw="
+ "hash": "sha256-w5bJErCNRZLE8rHcuZlK3bOqel97gPPMKH2cPGUR6Zw=",
+ "tag": "v2.28.3"
},
"v2282": {
"version": "v2.28.2",
- "hash": "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ="
+ "hash": "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ=",
+ "tag": "v2.28.2"
},
"v2281": {
"version": "v2.28.1",
- "hash": "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw="
+ "hash": "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw=",
+ "tag": "v2.28.1"
},
"v2280": {
"version": "v2.28.0",
- "hash": "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g="
+ "hash": "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g=",
+ "tag": "v2.28.0"
},
"v2270": {
"version": "v2.27.0",
- "hash": "sha256-vlZZnN/XAlmoDhRJTZUcrToeCiGaQrKe6k2t3G1My0M="
+ "hash": "sha256-vlZZnN/XAlmoDhRJTZUcrToeCiGaQrKe6k2t3G1My0M=",
+ "tag": "v2.27.0"
},
"v2260": {
"version": "v2.26.0",
- "hash": "sha256-VbgYI7I6BxcuW9EvRr0CXVPsRBNlsIl3Pti8/XK9nGk="
+ "hash": "sha256-VbgYI7I6BxcuW9EvRr0CXVPsRBNlsIl3Pti8/XK9nGk=",
+ "tag": "v2.26.0"
},
"v2250": {
"version": "v2.25.0",
- "hash": "sha256-UQ0z374ptC1m7Ezomj7BuMG2+yYg+ByOGYI9zKzlceQ="
+ "hash": "sha256-UQ0z374ptC1m7Ezomj7BuMG2+yYg+ByOGYI9zKzlceQ=",
+ "tag": "v2.25.0"
},
"v2240": {
"version": "v2.24.0",
- "hash": "sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM="
+ "hash": "sha256-zO65lsM/nw0NfqvRGT+n8sRT2hpdvMzcJR4nve7F0SM=",
+ "tag": "v2.24.0"
},
"v21612": {
"version": "v2.16.12",
- "hash": "sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q="
+ "hash": "sha256-EjIbPWiqq0Xif1sXV59mM0qfDjsHuOomDlRWrFKlt6Q=",
+ "tag": "v2.16.12"
},
"v21611": {
"version": "v2.16.11",
- "hash": "sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg="
+ "hash": "sha256-sas6xdOUM8cTomXEBpvi6eCOLcCO9vvRmvUIu4kEdRg=",
+ "tag": "v2.16.11"
},
"v21610": {
"version": "v2.16.10",
- "hash": "sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4="
+ "hash": "sha256-ar1JVepzNjD6jgp9V0G/YNajO7s0sxYe3t0v8O0sVs4=",
+ "tag": "v2.16.10"
},
"v2169": {
"version": "v2.16.9",
- "hash": "sha256-jhWJh4gKU0JOERANiYSI3me0oMDTRJ7ZQaKhNc6w51c="
+ "hash": "sha256-jhWJh4gKU0JOERANiYSI3me0oMDTRJ7ZQaKhNc6w51c=",
+ "tag": "v2.16.9"
},
"v2719": {
"version": "v2.7.19",
- "hash": "sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY="
+ "hash": "sha256-0GAoJMq6O0j8WwwhknD486XcaCALZ3TW5mxKcliISmY=",
+ "tag": "v2.7.19"
},
"v2718": {
"version": "v2.7.18",
- "hash": "sha256-SkAK9lTqdc3VbJyu8VNHR1PPUlt/+swIJl/R5l7zhUg="
+ "hash": "sha256-SkAK9lTqdc3VbJyu8VNHR1PPUlt/+swIJl/R5l7zhUg=",
+ "tag": "v2.7.18"
}
} \ No newline at end of file
diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile
index 74d1a93..1393f82 100644
--- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile
+++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile
@@ -141,13 +141,17 @@ tomcrypt.o: tomcrypt.c
# Botan-2 shim
+BOTAN_NAME := "botan-2"
+ifeq ($(shell pkg-config --exists $(BOTAN_NAME); echo $$?),1)
+ BOTAN_NAME := "botan-3"
+endif
botan: botan_provider.so
botan_provider.so: botan.o cpp_utils.o | cpplibs
- $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs botan-2) -Wl,-Bdynamic -l:lib_timing.so -l:lib_cppsignals.so
+ $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -Wl,-Bstatic $(shell pkg-config --libs $(BOTAN_NAME)) -Wl,-Bdynamic -l:lib_timing.so -l:lib_cppsignals.so
botan.o: botan.cpp
- $(CXX) $(shell pkg-config --cflags botan-2) $(BOTAN_CXXFLAGS) $(CXXFLAGS) -c $<
+ $(CXX) $(shell pkg-config --cflags $(BOTAN_NAME)) $(BOTAN_CXXFLAGS) $(CXXFLAGS) -c $<
# Crypto++ shim