Bug#1106675: lasso ftbfs with libxml 2.14.x and xmlsec1 from experimental
Upstream maintainer here. I tried to reproduce the reported failure in the test suite on latest lasso (2.9.0) by compiling xmlsec 1.3.7 locally with the same configuration flags as the experimental package on Debian but I cannot reproduce the problem. This bug has been merged with 1106894, and marked as fixed upstream, with https://dev.entrouvert.org/issues/106375, so it's expected an upcoming newer release wouldn't have it. I didn't upload a package with the backported patch as "[this bug is NOT targeted to the upcoming trixie release]".
Bug#1106675: lasso ftbfs with libxml 2.14.x and xmlsec1 from experimental
Hi, Upstream maintainer here. I tried to reproduce the reported failure in the test suite on latest lasso (2.9.0) by compiling xmlsec 1.3.7 locally with the same configuration flags as the experimental package on Debian but I cannot reproduce the problem. Is there something specific on the machine where the build was done ? Lile custom configuration of available algorithm in /etc/ssl/openssl.cnf ? Maybe xmlsec was compiled with the flag `--disable-rsa-pkcs15` ? Whas does `openssl list -disabled` reports ? On my system for example: $ openssl list -disabled Disabled algorithms: IDEA MD2 MDC2 RC5 SCTP SSL3 ZLIB
Bug#1106675: lasso ftbfs with libxml 2.14.x and xmlsec1 from experimental
Control: tags -1 + patch On 27.05.25 19:24, Frederic Peters wrote: forwarded -1 https://dev.entrouvert.org/issues/106375 thanks I didn't investigate yet, maybe more a xmlsec1 issue ... ftr I orwarded the report upstream to have a look. it looks like the needed fixes are all in the upstream VCS. However I based my effort on the patches of the Fedora package, plus one more upstream commit. It might be an alternative to grab all these changes into a git-updates.diff. See https://patches.ubuntu.com/l/lasso/lasso_2.8.2-9ubuntu2.patch One of the python bindings tests is still failing, attaching here the test log. That might be worth forwarding. === lasso 2.8.2: bindings/python/tests/test-suite.log === # TOTAL: 2 # PASS: 1 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 System information (uname -a): Linux 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr 6 15:05:05 UTC 2025 x86_64 x86_64 x86_64 Distribution information (/etc/os-release): PRETTY_NAME="Ubuntu Questing Quokka (development branch)" NAME="Ubuntu" VERSION_ID="25.10" VERSION="25.10 (Questing Quokka)" VERSION_CODENAME=questing ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/"; .. contents:: :depth: 2 FAIL: profiles_tests test01 (__main__.ServerTestCase.test01) Server construction, dump & newFromDump. ... ok test02 (__main__.ServerTestCase.test02) Server construction without argument, dump & newFromDump. ... ok test01 (__main__.LoginTestCase.test01) SP login; testing access to authentication request. ... ok test02 (__main__.LoginTestCase.test02) SP login; testing processing of an empty Response. ... ERROR:Lasso:2025-05-30 09:52:51 (login.c/:2324) Invalid message ok test03 (__main__.LoginTestCase.test03) Conversion of a lib:AuthnRequest with an AuthnContext into a query and back. ... ok test04 (__main__.LoginTestCase.test04) Conversion of a lib:AuthnRequest with extensions into a query and back. ... ok test05 (__main__.LoginTestCase.test05) SAMLv2 Authn request emitted and received using Artifact binding ... ok test07 (__main__.LoginTestCase.test07) SAMLv2 SSO with DSA key for the IdP ... ok test08 (__main__.LoginTestCase.test08) Verify KeyEncryptionMethod support ... WARNING:Lasso:2025-05-30 09:52:51 Encryption failed FAIL test_06 (__main__.LoginTestCase.test_06) Login test between SP and IdP with encrypted private keys ... ok test01 (__main__.LogoutTestCase.test01) SP logout without session and identity; testing initRequest. ... ERROR:Lasso:2025-05-30 09:52:51 (logout.c/:535) Session not found ok test02 (__main__.LogoutTestCase.test02) IDP logout without session and identity; testing logout.getNextProviderId. ... ok test03 (__main__.LogoutTestCase.test03) IDP logout; testing processRequestMsg with non Liberty query. ... ERROR:Lasso:2025-05-30 09:52:51 (logout.c/:675) Invalid message ok test04 (__main__.LogoutTestCase.test04) IDP logout; testing processResponseMsg with non Liberty query. ... ok test05 (__main__.LogoutTestCase.test05) Test parsing of a logout request with more than one session index ... ok test01 (__main__.DefederationTestCase.test01) IDP initiated defederation; testing processNotificationMsg with non Liberty query. ... ERROR:Lasso:2025-05-30 09:52:51 (defederation.c/:323) Invalid message ok test01 (__main__.IdentityTestCase.test01) Identity newFromDump & dump. ... ok test01 (__main__.AttributeAuthorityTestCase.test01) Attribute request and response test between sp5 and idp6 ... ok == FAIL: test08 (__main__.LoginTestCase.test08) Verify KeyEncryptionMethod support -- Traceback (most recent call last): File "/home/packages/tmp/lasso-2.8.2/bindings/python/tests/./profiles_tests.py", line 343, in test08 assert 'xmlenc#rsa-1_5' in run() ^ AssertionError -- Ran 18 tests in 0.027s FAILED (failures=1) FAIL profiles_tests.py (exit status: 1)
Bug#1106675: lasso ftbfs with libxml 2.14.x and xmlsec1 from experimental
Package: src:lasso Version: 2.8.2-9 Tags: ftbfs sid forky User: [email protected] Usertags: libxml2.14 [this bug is NOT targeted to the upcoming trixie release] I didn't investigate yet, maybe more a xmlsec1 issue ... [...] 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); | ~ tools.c: In function 'lasso_xml_parse_memory_with_error': tools.c:2220:9: warning: 'recovery' is deprecated [-Wdeprecated-declarations] 2220 | ctxt->recovery = 0; | ^~~~ In file included from /usr/include/libxml2/libxml/tree.h:17, from xml.h:37, from private.h:31, from tools.c:37: /usr/include/libxml2/libxml/parser.h:377:9: note: declared here 377 | int recovery XML_DEPRECATED_MEMBER; | ^~~~ tools.c:2235:17: warning: 'lastError' is deprecated [-Wdeprecated-declarations] 2235 | xmlCopyError(&ctxt->lastError, error); | ^~~~ /usr/include/libxml2/libxml/parser.h:439:14: note: declared here 439 | xmlError lastError XML_DEPRECATED_MEMBER; | ^ tools.c: In function 'xmlDetectSAX2': tools.c:2291:17: warning: 'sax2' is deprecated [-Wdeprecated-declarations] 2291 | ctxt->sax2 = 1; | ^~~~ /usr/include/libxml2/libxml/parser.h:401:9: note: declared here 401 | int sax2 XML_DEPRECATED_MEMBER; | ^~~~ tools.c:2296:9: warning: 'str_xml' is deprecated [-Wdeprecated-declarations] 2296 | ctxt->str_xml = xmlDictLookup(ctxt->dict, BAD_CAST "xml", 3); | ^~~~ /usr/include/libxml2/libxml/parser.h:392:20: note: declared here 392 | const xmlChar *str_xml XML_DEPRECATED_MEMBER; |^~~ tools.c:2297:9: warning: 'str_xmlns' is deprecated [-Wdeprecated-declarations] 2297 | ctxt->str_xmlns = xmlDictLookup(ctxt->dict, BAD_CAST "xmlns", 5); | ^~~~ /usr/include/libxml2/libxml/parser.h:393:20: note: declared here 393 | const xmlChar *str_xmlns XML_DEPRECATED_MEMBER; |^ tools.c:2298:9: warning: 'str_xml_ns' is deprecated [-Wdeprecated-declarations] 2298 | ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36); | ^~~~ /usr/include/libxml2/libxml/parser.h:394:20: note: declared here 394 | const xmlChar *str_xml_ns XML_DEPRECATED_MEMBER; |^~ tools.c:2299:9: warning: 'str_xml' is deprecated [-Wdeprecated-declarations] 2299 | if ((ctxt->str_xml==NULL) || (ctxt->str_xmlns==NULL) || | ^~ /usr/include/libxml2/libxml/parser.h:392:20: note: declared here 392 | const xmlChar *str_xml XML_DEPRECATED_MEMBER; |^~~ tools.c:2299:9: warning: 'str_xmlns' is deprecated [-Wdeprecated-declarations] 2299 | if ((ctxt->str_xml==NULL) || (ctxt->str_xmlns==NULL) || | ^~ /usr/include/libxml2/libxml/parser.h:393:20: note: declared here 393 | const xmlChar *str_xmlns XML_DEPRECATED_MEMBER; |^ tools.c:2300:25: warning: 'str_xml_ns' is deprecated [-Wdeprecated-declarations] 2300 | (ctxt->str_xml_ns == NULL)) { | ^ /usr/include/libxml2/libxml/parser.h:394:20: note: declared here 394 | const xmlChar *str_xml_ns XML_DEPRECATED_MEMBER; |^~ In file included from private.h:36: 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
Bug#1106675: lasso ftbfs with libxml 2.14.x and xmlsec1 from experimental
forwarded -1 https://dev.entrouvert.org/issues/106375 thanks I didn't investigate yet, maybe more a xmlsec1 issue ... ftr I orwarded the report upstream to have a look. Fred

