diff --git a/package/p11-kit/0001-import-object-Avoid-integer-truncation-on-32-bit-platforms.patch b/package/p11-kit/0001-import-object-Avoid-integer-truncation-on-32-bit-platforms.patch deleted file mode 100644 index 03f54b4408..0000000000 --- a/package/p11-kit/0001-import-object-Avoid-integer-truncation-on-32-bit-platforms.patch +++ /dev/null @@ -1,109 +0,0 @@ -From d49c92c8420db6ee4c88515bdb014f68f4d471d9 Mon Sep 17 00:00:00 2001 -From: Daiki Ueno -Date: Sat, 2 Dec 2023 09:24:01 +0900 -Subject: [PATCH] import-object: Avoid integer truncation on 32-bit platforms -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The build fails when compiling for 32-bit platforms with --Werror=incompatible-pointer-types: - - CFLAGS="-m32 -march=i686 -Werror=incompatible-pointer-types -Werror=implicit -Werror=int-conversion" setarch i686 -- meson setup _build - setarch i686 -- meson compile -C _build -v - ... - - ../p11-kit/import-object.c: In function ‘add_attrs_pubkey_rsa’: - ../p11-kit/import-object.c:223:62: error: passing argument 3 of ‘p11_asn1_read’ from incompatible pointer type [-Werror=incompatible-pointer-types] - 223 | attr_modulus.pValue = p11_asn1_read (asn, "modulus", &attr_modulus.ulValueLen); - | ^~~~~~~~~~~~~~~~~~~~~~~~ - | | - | long unsigned int * - -Reported by Sam James in: -https://github.com/p11-glue/p11-kit/issues/608 - -Signed-off-by: Daiki Ueno - -Upstream: https://github.com/p11-glue/p11-kit/commit/d49c92c8420db6ee4c88515bdb014f68f4d471d9 -Signed-off-by: Fabrice Fontaine ---- - p11-kit/import-object.c | 30 +++++++++++++++++++++++++++--- - 1 file changed, 27 insertions(+), 3 deletions(-) - -diff --git a/p11-kit/import-object.c b/p11-kit/import-object.c -index feee0765..fb47b964 100644 ---- a/p11-kit/import-object.c -+++ b/p11-kit/import-object.c -@@ -55,6 +55,7 @@ - #endif - - #include -+#include - #include - #include - #include -@@ -201,6 +202,7 @@ add_attrs_pubkey_rsa (CK_ATTRIBUTE *attrs, - CK_ATTRIBUTE attr_encrypt = { CKA_ENCRYPT, &tval, sizeof (tval) }; - CK_ATTRIBUTE attr_modulus = { CKA_MODULUS, }; - CK_ATTRIBUTE attr_exponent = { CKA_PUBLIC_EXPONENT, }; -+ size_t len = 0; - - pubkey = p11_asn1_read (info, "subjectPublicKey", &pubkey_len); - if (pubkey == NULL) { -@@ -220,17 +222,31 @@ add_attrs_pubkey_rsa (CK_ATTRIBUTE *attrs, - goto cleanup; - } - -- attr_modulus.pValue = p11_asn1_read (asn, "modulus", &attr_modulus.ulValueLen); -+ attr_modulus.pValue = p11_asn1_read (asn, "modulus", &len); - if (attr_modulus.pValue == NULL) { - p11_message (_("failed to obtain modulus")); - goto cleanup; - } -+#if ULONG_MAX < SIZE_MAX -+ if (len > ULONG_MAX) { -+ p11_message (_("failed to obtain modulus")); -+ goto cleanup; -+ } -+#endif -+ attr_modulus.ulValueLen = len; - -- attr_exponent.pValue = p11_asn1_read (asn, "publicExponent", &attr_exponent.ulValueLen); -+ attr_exponent.pValue = p11_asn1_read (asn, "publicExponent", &len); - if (attr_exponent.pValue == NULL) { - p11_message (_("failed to obtain exponent")); - goto cleanup; - } -+#if ULONG_MAX < SIZE_MAX -+ if (len > ULONG_MAX) { -+ p11_message (_("failed to obtain exponent")); -+ goto cleanup; -+ } -+#endif -+ attr_exponent.ulValueLen = len; - - result = p11_attrs_build (attrs, &attr_key_type, &attr_encrypt, &attr_modulus, &attr_exponent, NULL); - if (result == NULL) { -@@ -260,12 +276,20 @@ add_attrs_pubkey_ec (CK_ATTRIBUTE *attrs, - CK_ATTRIBUTE attr_key_type = { CKA_KEY_TYPE, &key_type, sizeof (key_type) }; - CK_ATTRIBUTE attr_ec_params = { CKA_EC_PARAMS, }; - CK_ATTRIBUTE attr_ec_point = { CKA_EC_POINT, }; -+ size_t len = 0; - -- attr_ec_params.pValue = p11_asn1_read (info, "algorithm.parameters", &attr_ec_params.ulValueLen); -+ attr_ec_params.pValue = p11_asn1_read (info, "algorithm.parameters", &len); - if (attr_ec_params.pValue == NULL) { - p11_message (_("failed to obtain EC parameters")); - goto cleanup; - } -+#if ULONG_MAX < SIZE_MAX -+ if (len > ULONG_MAX) { -+ p11_message (_("failed to obtain EC parameters")); -+ goto cleanup; -+ } -+#endif -+ attr_ec_params.ulValueLen = len; - - /* subjectPublicKey is read as BIT STRING value which contains - * EC point data. We need to DER encode this data as OCTET STRING. diff --git a/package/p11-kit/p11-kit.hash b/package/p11-kit/p11-kit.hash index 81d209b2c2..43a566a82c 100644 --- a/package/p11-kit/p11-kit.hash +++ b/package/p11-kit/p11-kit.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 d8ddce1bb7e898986f9d250ccae7c09ce14d82f1009046d202a0eb1b428b2adc p11-kit-0.25.3.tar.xz +sha256 04d0a86450cdb1be018f26af6699857171a188ac6d5b8c90786a60854e1198e5 p11-kit-0.25.5.tar.xz # Locally computed sha256 2e1ba993904df807a10c3eda1e5c272338edc35674b679773a8b3ad460731054 COPYING diff --git a/package/p11-kit/p11-kit.mk b/package/p11-kit/p11-kit.mk index 53e953e070..154a34e634 100644 --- a/package/p11-kit/p11-kit.mk +++ b/package/p11-kit/p11-kit.mk @@ -4,7 +4,7 @@ # ################################################################################ -P11_KIT_VERSION = 0.25.3 +P11_KIT_VERSION = 0.25.5 P11_KIT_SOURCE = p11-kit-$(P11_KIT_VERSION).tar.xz P11_KIT_SITE = https://github.com/p11-glue/p11-kit/releases/download/$(P11_KIT_VERSION) P11_KIT_INSTALL_STAGING = YES