projects/aports·commit 17dbdee9

main/s390-tools: upgrade to 2.44.1

17dbdee9 · Sertonix <[email protected]> · 2026-10-20 13:27:23 +02:00

Commit
17dbdee973f785f7cfbaf70b27312f8f3cb076c8
Parents
bbf74b1b

Changes

2 files changed · +55 −2

main/s390-tools/APKBUILD

View file
diff --git a/main/s390-tools/APKBUILD b/main/s390-tools/APKBUILD
index 4af93fa..ffc725c 100644
--- a/main/s390-tools/APKBUILD
+++ b/main/s390-tools/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Sertonix <[email protected]>
pkgname=s390-tools
-pkgver=2.44.0
+pkgver=2.44.1
pkgrel=0
pkgdesc="Tools for use with the s390 Linux kernel and device drivers"
url="https://github.com/ibm-s390-tools/s390-tools"
@@ -29,6 +29,7 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/ibm-s390-tools/s390-tools/ar
0003-disable-nls.patch
0004-iucvterm-gettext.patch
0005-no-pie.patch
+ canonicalize_file_name.patch
argz.c
argz.h
@@ -61,12 +62,13 @@ package() {
}
sha512sums="
-6f2f7fa45573b1a2515c4ea143ff0877711713724c737f9aaa4f853f6142f215628c10d1827f94cf54a50c1fec757fd3710f3e4b60f6125b0ee952002e43dbf7 s390-tools-2.44.0.tar.gz
+f3b1e0f203749a3e9a43df39cd21070fae46303207eb11e1c04d0cce78fd6c361d22d912fe043aa460f8cbc9d64b29c46f4f7c8a963e736b1a1343f5f907bc4b s390-tools-2.44.1.tar.gz
9c9bfd430e2ba90556a736801c8c5f87716f8c4b00151e87080e3f2991079f0bd7ef3542a1e72d686352a2fcb7e32bad72c80d08b42db6ccc88796964e21a748 0001-busybox.patch
3574234289053857307d031d1c8fdc9beb779798bf58692e8224003b28ded2a27119ddde91cb035fe03fd5f4bd6b9d54eebecd7ea5f8b476b919ca4f3b9d76dc 0002-musl.patch
8c6b9ea5b10d508fc8ea4dcafe61bc69d7b7cb2ae0f26283ac4da3a741f6feb48515119392c96b08742a094ec0d614ccdfb773777f4f4cdf5565f60da8566807 0003-disable-nls.patch
499426022a63b15db4c2bd95f47dcb1489d9808cd861e35cb1ed43b8420ff9b9f57ac710a1af6db99708bb750aab968a2832051798a4067d7cf775b5765bc312 0004-iucvterm-gettext.patch
cfe4cf3d21553d8189c5927ea10275977428057d9f5ad706628fa226457bb528d44c30c30ffb85bd885cc6b5027062f905b4b599b20ca3cc1af3665d3b3abe1f 0005-no-pie.patch
+af3c6f7becf9aadbb0582acfd7124191504cf07b532b54fb8de1abec9c3aa9cd2973f90a05fed3ee423b0eeae945f535a24f9f02582659b1eeca1105fa98f69a canonicalize_file_name.patch
2e573314d4c4ed90b61da28de22ae8e2f68ced5489f7e5e0b30f51b776efaf40c1f781d3b485418572d8f33a169fa6946b7358cbd4a7de5a3724b20ed622262b argz.c
50bd5c0f555963dadbfaa72df5bf0801a48743d6d0feddb6ebfa4ffa410196216c1860d3a577361e035169fea4217aef3f04d69394c59db65b60c5ea29eba8cb argz.h
"

main/s390-tools/canonicalize_file_name.patch

View file
diff --git a/main/s390-tools/canonicalize_file_name.patch b/main/s390-tools/canonicalize_file_name.patch
new file mode 100644
index 0000000..d4105ce
--- /dev/null
+++ b/main/s390-tools/canonicalize_file_name.patch
@@ -0,0 +1,51 @@
+commit 45e0a472516f54ee25f2a5e893fbbc8232d5acc4
+Author: Sertonix <[email protected]>
+Date: 2026-10-20T13:36:08+02:00
+
+ zkey: replace canonicalize_file_name with realpath
+
+ canonicalize_file_name is a glibc extension that is equivalent to
+ realpath(path, NULL) and only the latter may available on non-glibc
+ systems like musl.
+
+ Signed-off-by: Sertonix <[email protected]>
+
+diff --git a/zkey/kms.c b/zkey/kms.c
+index 3f2e8d64..f5a59b98 100644
+--- a/zkey/kms.c
++++ b/zkey/kms.c
+@@ -490,8 +490,8 @@ static bool is_path_within_base_path(const char *base_path, const char *path)
+ size_t base_len;
+ bool ret = false;
+
+- real_base_path = canonicalize_file_name(base_path);
+- real_path = canonicalize_file_name(path);
++ real_base_path = realpath(base_path, NULL);
++ real_path = realpath(path, NULL);
+
+ if (real_base_path == NULL || real_path == NULL) {
+ warnx("Failed to resolve path for safety check: %s",
+diff --git a/zkey/plugin-utils.c b/zkey/plugin-utils.c
+index 9fc09581..be8374b5 100644
+--- a/zkey/plugin-utils.c
++++ b/zkey/plugin-utils.c
+@@ -406,7 +406,7 @@ int plugin_remove_config_file(struct plugin_data *pd, const char *filename)
+ /**
+ * Checks whether 'path' resolves to a location strictly inside the plugin's
+ * config directory. Both the config directory and 'path' are canonicalized
+- * via canonicalize_file_name() so that symlinks and '..' components in
++ * via realpath() so that symlinks and '..' components in
+ * 'path' cannot escape the config directory.
+ *
+ * @param pd the plugin data
+@@ -422,8 +422,8 @@ bool plugin_path_is_within_config(struct plugin_data *pd, const char *path)
+ size_t config_len;
+ bool ok = false;
+
+- real_config = canonicalize_file_name(pd->config_path);
+- real_path = canonicalize_file_name(path);
++ real_config = realpath(pd->config_path, NULL);
++ real_path = realpath(path, NULL);
+
+ if (real_config == NULL || real_path == NULL) {
+ plugin_set_error(pd, "Failed to resolve path '%s': %s",