--- Begin Message ---
Package: src:lasso
Version: 2.8.2-9
Severity: normal
Hi,
prompted by 1106888 I just decided to file the bugs. I have no plans to drive
this transition, though.
lasso FTBFS with xmlsec 1.3.x - as in experimental.
It looks like xmlSecCryptoAppKeyLoad is gone and now xmlSecCryptoAppKeyLoadEx
should be used instead[1]?
make[6]: Entering directory '/build/reproducible-path/lasso-2.8.2/lasso/xml'
/bin/bash ../../libtool --tag=CC --mode=compile x86_64-linux-gnu-gcc -DHAVE_CONFIG_H
-I. -I../.. -I../../lasso -I../.. -I../.. -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread
-I/usr/include/libxml2 -I/usr/include/xmlsec1 -D__XMLSEC_FUNCTION__=__func__
-DXMLSEC_OPENSSL3_ENGINES=1 -DXMLSEC_NO_FTP=1 -DXMLSEC_NO_HTTP=1 -DXMLSEC_NO_MD5=1
-DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1 -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1
-DXMLSEC_CRYPTO_OPENSSL=1 -DLASSO_INTERNALS -DG_LOG_DOMAIN=\"lasso\"
-Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration
-ffile-prefix-map=/build/reproducible-path/lasso-2.8.2=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -MT
tools.lo -MD -MP -MF .deps/tools.Tpo -c -o tools.lo tools.c
libtool: compile: x86_64-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I../../lasso -I../..
-I../.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
-I/usr/include/sysprof-6 -pthread -I/usr/include/libxml2 -I/usr/include/xmlsec1
-D__XMLSEC_FUNCTION__=__func__ -DXMLSEC_OPENSSL3_ENGINES=1 -DXMLSEC_NO_FTP=1
-DXMLSEC_NO_HTTP=1 -DXMLSEC_NO_MD5=1 -DXMLSEC_NO_GOST=1 -DXMLSEC_NO_GOST2012=1
-DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1 -DXMLSEC_CRYPTO_OPENSSL=1 -DLASSO_INTERNALS
-DG_LOG_DOMAIN=\"lasso\" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2
-Werror=implicit-function-declaration
-ffile-prefix-map=/build/reproducible-path/lasso-2.8.2=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -MT
tools.lo -MD -MP -MF .deps/tools.Tpo -c tools.c -fPIC -DPIC -o .libs/tools.o
tools.c: In function 'lasso_get_public_key_from_pem_file':
tools.c:312:35: error: implicit declaration of function
'xmlSecCryptoAppKeyLoad'; did you mean 'xmlSecCryptoAppKeyLoadEx'?
[-Wimplicit-function-declaration]
312 | pub_key = xmlSecCryptoAppKeyLoad(file,
| ^~~~~~~~~~~~~~~~~~~~~~
| xmlSecCryptoAppKeyLoadEx
tools.c:312:33: error: assignment to 'xmlSecKeyPtr' {aka 'struct _xmlSecKey *'}
from 'int' makes pointer from integer without a cast [-Wint-conversion]
312 | pub_key = xmlSecCryptoAppKeyLoad(file,
| ^
tools.c: In function 'lasso_get_public_key_from_private_key_file':
tools.c:381:16: error: returning 'int' from a function with return type
'xmlSecKeyPtr' {aka 'struct _xmlSecKey *'} makes pointer from integer without a
cast [-Wint-conversion]
381 | return xmlSecCryptoAppKeyLoad(private_key_file,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
382 | xmlSecKeyDataFormatPem, NULL, NULL, NULL);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from private.h:36,
from tools.c:37:
tools.c: In function 'lasso_base64_decode':
tools.c:2553:50: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
2553 | lasso_transfer_string(*buffer, *((char**)&out));
| ~^~~~~~~~~~~~~
../utils.h:501:34: note: in definition of macro 'lasso_transfer_full'
501 | (dest) = (void*)(src); \
| ^~~
tools.c:2553:17: note: in expansion of macro 'lasso_transfer_string'
2553 | lasso_transfer_string(*buffer, *((char**)&out));
| ^~~~~~~~~~~~~~~~~~~~~
tools.c:2553:50: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
2553 | lasso_transfer_string(*buffer, *((char**)&out));
| ~^~~~~~~~~~~~~
../utils.h:502:18: note: in definition of macro 'lasso_transfer_full'
502 | (src) = NULL; \
| ^~~
tools.c:2553:17: note: in expansion of macro 'lasso_transfer_string'
2553 | lasso_transfer_string(*buffer, *((char**)&out));
| ^~~~~~~~~~~~~~~~~~~~~
make[6]: *** [Makefile:796: tools.lo] Error 1
make[6]: Leaving directory '/build/reproducible-path/lasso-2.8.2/lasso/xml'
make[5]: *** [Makefile:836: all-recursive] Error 1
make[5]: Leaving directory '/build/reproducible-path/lasso-2.8.2/lasso/xml'
make[4]: *** [Makefile:742: all-recursive] Error 1
make[4]: Leaving directory '/build/reproducible-path/lasso-2.8.2/lasso'
make[3]: *** [Makefile:566: all] Error 2
make[3]: Leaving directory '/build/reproducible-path/lasso-2.8.2/lasso'
make[2]: *** [Makefile:593: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/lasso-2.8.2'
make[1]: *** [Makefile:500: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/lasso-2.8.2'
make: *** [debian/rules:59: build-stamp] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Regards,
Rene
[1] git diff debian/1.2.39-5 debian/1.3.7-1 | grep xmlSecCryptoAppKeyLoad
- key = xmlSecCryptoAppKeyLoad(files, format, pwd,
+ key = xmlSecCryptoAppKeyLoadEx(files, type, format, pwd,
xmlSecCryptoAppGetDefaultPwdCallback(), (void*)files);
- fprintf(stderr, "Error: xmlSecCryptoAppKeyLoad failed: file=%s\n",
+ fprintf(stderr, "Error: xmlSecCryptoAppKeyLoadEx failed: file=%s\n",
- key = xmlSecCryptoAppKeyLoad(engineAndKeyId, keyFormat, pwd,
+ key = xmlSecCryptoAppKeyLoadEx(engineAndKeyId, type, keyFormat, pwd,
- fprintf(stderr, "Error: xmlSecCryptoAppKeyLoad failed: file=%s\n",
+ fprintf(stderr, "Error: xmlSecCryptoAppKeyLoadEx failed:
engineAndKeyId=%s\n",
- key = xmlSecCryptoAppKeyLoad(filename, xmlSecKeyDataFormatPkcs12, pwd,
+ key = xmlSecCryptoAppKeyLoadEx(filename, xmlSecKeyDataTypePrivate,
xmlSecKeyDataFormatPkcs12, pwd,
- fprintf(stderr, "Error: xmlSecCryptoAppKeyLoad failed: filename=%s\n",
+ fprintf(stderr, "Error: xmlSecCryptoAppKeyLoadEx failed:
filename='%s'\n",
-<a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyLoad" title="xmlSecCryptoAppKeyLoad
()">xmlSecCryptoAppKeyLoad</a> <span class="c_punctuation">()</span>
+<a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyLoadEx" title="xmlSecCryptoAppKeyLoadEx
()">xmlSecCryptoAppKeyLoadEx</a> <span class="c_punctuation">()</span>
-<a name="xmlSecCryptoAppKeyLoad"></a><h3>xmlSecCryptoAppKeyLoad ()</h3>
+<a name="xmlSecCryptoAppKeyLoadEx"></a><h3>xmlSecCryptoAppKeyLoadEx ()</h3>
-xmlSecCryptoAppKeyLoad (<em class="parameter"><code>const <font><span
class="type">char</span></font> *filename</code></em>,
+xmlSecCryptoAppKeyLoadEx (<em class="parameter"><code>const <font><span
class="type">char</span></font> *filename</code></em>,
-<a name="xmlSecCryptoAppKeyLoad.parameters"></a><h4>Parameters</h4>
+<a name="xmlSecCryptoAppKeyLoadEx.parameters"></a><h4>Parameters</h4>
@@ -2053,6 +2896,11 @@ xmlSecCryptoAppKeyLoad (<em class="parameter"><code>const
<font><span class="typ
@@ -2076,7 +2924,7 @@ xmlSecCryptoAppKeyLoad (<em class="parameter"><code>const
<font><span class="typ
-<a name="xmlSecCryptoAppKeyLoad.returns"></a><h4>Returns</h4>
+<a name="xmlSecCryptoAppKeyLoadEx.returns"></a><h4>Returns</h4>
-For uniformity, call xmlSecCryptoAppKeyLoad instead of this function. Pass
+For uniformity, call xmlSecCryptoAppKeyLoadEx instead of this function. Pass
- key = xmlSecCryptoAppKeyLoad((const char*)name,
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+ key = xmlSecCryptoAppKeyLoadEx((const char*)name,
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
- key = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL,
NULL);
+ key = xmlSecCryptoAppKeyLoadEx(key_file, xmlSecKeyDataTypePublic |
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
- dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file,
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+ dsigCtx->signKey = xmlSecCryptoAppKeyLoadEx(key_file,
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
- dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file,
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+ dsigCtx->signKey = xmlSecCryptoAppKeyLoadEx(key_file,
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
- dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file,
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+ dsigCtx->signKey = xmlSecCryptoAppKeyLoadEx(key_file,
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+<li class="listitem"><p><font>xmlSecCryptoAppKeyLoadExMethod</font></p></li>
+<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyLoadEx"
title="xmlSecCryptoAppKeyLoadEx ()">xmlSecCryptoAppKeyLoadEx</a></p></li>
<li
class="listitem"><p><font>xmlSecCryptoAppKeyLoadMemoryMethod</font></p></li>
<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyLoadMemory"
title="xmlSecCryptoAppKeyLoadMemory ()">xmlSecCryptoAppKeyLoadMemory</a></p></li>
<li class="listitem"><p><font>xmlSecCryptoAppKeyLoadMethod</font></p></li>
-<li class="listitem"><p><a class="link" href="xmlsec-app.html#xmlSecCryptoAppKeyLoad"
title="xmlSecCryptoAppKeyLoad ()">xmlSecCryptoAppKeyLoad</a></p></li>
- dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file,
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+ dsigCtx->signKey = xmlSecCryptoAppKeyLoadEx(key_file,
xmlSecKeyDataTypePrivate | xmlSecKeyDataTypePublic, xmlSecKeyDataFormatPem, NULL,
NULL, NULL);
- key = xmlSecCryptoAppKeyLoad(files[i], xmlSecKeyDataFormatPem, NULL,
NULL, NULL);
+ key = xmlSecCryptoAppKeyLoadEx(files[i], xmlSecKeyDataTypePrivate |
xmlSecKeyDataTypePublic, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
- key = xmlSecCryptoAppKeyLoad((const char*)name,
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+ key = xmlSecCryptoAppKeyLoadEx((const char*)name,
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
- key = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL,
NULL);
+ key = xmlSecCryptoAppKeyLoadEx(key_file, xmlSecKeyDataTypePublic |
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
- dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file,
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+ dsigCtx->signKey = xmlSecCryptoAppKeyLoadEx(key_file,
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
- dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file,
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+ dsigCtx->signKey = xmlSecCryptoAppKeyLoadEx(key_file,
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
- dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file,
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+ dsigCtx->signKey = xmlSecCryptoAppKeyLoadEx(key_file,
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
- dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file,
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+ dsigCtx->signKey = xmlSecCryptoAppKeyLoadEx(key_file,
xmlSecKeyDataTypePrivate | xmlSecKeyDataTypePublic, xmlSecKeyDataFormatPem, NULL,
NULL, NULL);
- key = xmlSecCryptoAppKeyLoad(files[i], xmlSecKeyDataFormatPem, NULL,
NULL, NULL);
+ key = xmlSecCryptoAppKeyLoadEx(files[i], xmlSecKeyDataTypePrivate |
xmlSecKeyDataTypePublic, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
-XMLSEC_EXPORT xmlSecKeyPtr xmlSecCryptoAppKeyLoad
(const char *filename,
+XMLSEC_EXPORT xmlSecKeyPtr xmlSecCryptoAppKeyLoadEx
(const char *filename,
-#define xmlSecCryptoAppKeyLoad xmlSecGCryptAppKeyLoad
+#define xmlSecCryptoAppKeyLoadEx xmlSecGCryptAppKeyLoadEx
#define xmlSecCryptoAppKeyLoadMemory xmlSecGCryptAppKeyLoadMemory
-#define xmlSecCryptoAppKeyLoad xmlSecGnuTLSAppKeyLoad
+#define xmlSecCryptoAppKeyLoadEx xmlSecGnuTLSAppKeyLoadEx
#define xmlSecCryptoAppKeyLoadMemory xmlSecGnuTLSAppKeyLoadMemory
-#define xmlSecCryptoAppKeyLoad xmlSecMSCngAppKeyLoad
+#define xmlSecCryptoAppKeyLoadEx xmlSecMSCngAppKeyLoadEx
#define xmlSecCryptoAppKeyLoadMemory xmlSecMSCngAppKeyLoadMemory
-#define xmlSecCryptoAppKeyLoad xmlSecMSCryptoAppKeyLoad
+#define xmlSecCryptoAppKeyLoadEx xmlSecMSCryptoAppKeyLoadEx
#define xmlSecCryptoAppKeyLoadMemory xmlSecMSCryptoAppKeyLoadMemory
-#define xmlSecCryptoAppKeyLoad xmlSecNssAppKeyLoad
+#define xmlSecCryptoAppKeyLoadEx xmlSecNssAppKeyLoadEx
#define xmlSecCryptoAppKeyLoadMemory xmlSecNssAppKeyLoadMemory
-#define xmlSecCryptoAppKeyLoad xmlSecOpenSSLAppKeyLoad
+#define xmlSecCryptoAppKeyLoadEx xmlSecOpenSSLAppKeyLoadEx
#define xmlSecCryptoAppKeyLoadMemory xmlSecOpenSSLAppKeyLoadMemory
* xmlSecCryptoAppKeyLoadMethod:
@@ -249,6 +296,26 @@ typedef xmlSecKeyPtr
(*xmlSecCryptoAppKeyLoadMethod) (const c
+ * xmlSecCryptoAppKeyLoadExMethod:
+typedef xmlSecKeyPtr (*xmlSecCryptoAppKeyLoadExMethod) (const
char *filename,
* xmlSecCryptoAppKeyLoadMemoryMethod:
@@ -278,7 +345,7 @@ typedef xmlSecKeyPtr
(*xmlSecCryptoAppKeyLoadMemoryMethod) (const x
- * For uniformity, call xmlSecCryptoAppKeyLoad instead of this function. Pass
+ * For uniformity, call xmlSecCryptoAppKeyLoadEx instead of this function. Pass
- * For uniformity, call xmlSecCryptoAppKeyLoad instead of this function. Pass
+ * For uniformity, call xmlSecCryptoAppKeyLoadEx instead of this function. Pass
xmlSecCryptoAppKeyLoadMethod cryptoAppKeyLoad;
+ xmlSecCryptoAppKeyLoadExMethod cryptoAppKeyLoadEx;
xmlSecCryptoAppKeyLoadMemoryMethod cryptoAppKeyLoadMemory;
-#define xmlSecCryptoAppKeyLoad xmlSecSkeletonAppKeyLoad
-#define xmlSecCryptoAppKeyLoadMemory xmlSecSkeletonAppKeyLoadMemory
- * xmlSecCryptoAppKeyLoad:
+ * xmlSecCryptoAppKeyLoadEx:
-xmlSecCryptoAppKeyLoad(const char *filename, xmlSecKeyDataFormat format,
+xmlSecCryptoAppKeyLoadEx(const char *filename, xmlSecKeyDataType type,
xmlSecKeyDataFormat format,
@@ -1461,7 +2056,7 @@ xmlSecCryptoAppKeyLoadMemory(const xmlSecByte* data,
xmlSecSize dataSize, xmlSec
- * For uniformity, call xmlSecCryptoAppKeyLoad instead of this function. Pass
+ * For uniformity, call xmlSecCryptoAppKeyLoadEx instead of this function. Pass
--- End Message ---