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-&gt;signKey = xmlSecCryptoAppKeyLoad(key_file, 
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+    dsigCtx-&gt;signKey = xmlSecCryptoAppKeyLoadEx(key_file, 
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
-    dsigCtx-&gt;signKey = xmlSecCryptoAppKeyLoad(key_file, 
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+    dsigCtx-&gt;signKey = xmlSecCryptoAppKeyLoadEx(key_file, 
xmlSecKeyDataTypePrivate, xmlSecKeyDataFormatPem, NULL, NULL, NULL);
-    dsigCtx-&gt;signKey = xmlSecCryptoAppKeyLoad(key_file, 
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+    dsigCtx-&gt;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-&gt;signKey = xmlSecCryptoAppKeyLoad(key_file, 
xmlSecKeyDataFormatPem, NULL, NULL, NULL);
+    dsigCtx-&gt;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

Reply via email to