#1138483 libnetconf2: FTBFS with openssl 4.0

Package:
libnetconf2
Source:
libnetconf2
Submitter:
Sebastian Andrzej Siewior
Date:
2026-07-31 04:07:02 UTC
Severity:
normal
Tags:
#1138483#5
Date:
2026-05-30 16:23:15 UTC
From:
To:
OpenSSL 4.0 is in experimental. This package fails to build against it:

| [ 75%] Building C object CMakeFiles/netconf2.dir/src/session_openssl.c.o
| /usr/bin/cc -Dnetconf2_EXPORTS -I/build/reproducible-path/libnetconf2-3.7.10/obj-x86_64-linux-gnu/compat -I/build/reproducible-path/libnetconf2-3.7.10/obj-x86_64-linux-gnu/src -I/build/reproducible-path/libnetconf2-3.7.10/obj-x86_64-linux-gnu/include -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libnetconf2-3.7.10=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -fvisibility=hidden -std=c99 -DNC_ENABLED_SSH_TLS -fPIC -MD -MT CMakeFiles/netconf2.dir/src/session_openssl.c.o -MF CMakeFiles/netconf2.dir/src/session_openssl.c.o.d -o CMakeFiles/netconf2.dir/src/session_openssl.c.o -c /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c: In function ‘nc_tls_get_san_value_type_wrap’:
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:505:15: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   505 |         if (ip->length == 4) {
|       |               ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:506:54: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   506 |             if (asprintf(san_value, "%d.%d.%d.%d", ip->data[0], ip->data[1], ip->data[2], ip->data[3]) == -1) {
|       |                                                      ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:506:67: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   506 |             if (asprintf(san_value, "%d.%d.%d.%d", ip->data[0], ip->data[1], ip->data[2], ip->data[3]) == -1) {
|       |                                                                   ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:506:80: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   506 |             if (asprintf(san_value, "%d.%d.%d.%d", ip->data[0], ip->data[1], ip->data[2], ip->data[3]) == -1) {
|       |                                                                                ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:506:93: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   506 |             if (asprintf(san_value, "%d.%d.%d.%d", ip->data[0], ip->data[1], ip->data[2], ip->data[3]) == -1) {
|       |                                                                                             ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:511:22: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   511 |         } else if (ip->length == 16) {
|       |                      ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:513:23: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   513 |                     ip->data[0], ip->data[1], ip->data[2], ip->data[3], ip->data[4], ip->data[5],
|       |                       ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:513:36: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   513 |                     ip->data[0], ip->data[1], ip->data[2], ip->data[3], ip->data[4], ip->data[5],
|       |                                    ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:513:49: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   513 |                     ip->data[0], ip->data[1], ip->data[2], ip->data[3], ip->data[4], ip->data[5],
|       |                                                 ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:513:62: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   513 |                     ip->data[0], ip->data[1], ip->data[2], ip->data[3], ip->data[4], ip->data[5],
|       |                                                              ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:513:75: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   513 |                     ip->data[0], ip->data[1], ip->data[2], ip->data[3], ip->data[4], ip->data[5],
|       |                                                                           ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:513:88: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   513 |                     ip->data[0], ip->data[1], ip->data[2], ip->data[3], ip->data[4], ip->data[5],
|       |                                                                                        ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:514:23: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   514 |                     ip->data[6], ip->data[7], ip->data[8], ip->data[9], ip->data[10], ip->data[11],
|       |                       ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:514:36: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   514 |                     ip->data[6], ip->data[7], ip->data[8], ip->data[9], ip->data[10], ip->data[11],
|       |                                    ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:514:49: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   514 |                     ip->data[6], ip->data[7], ip->data[8], ip->data[9], ip->data[10], ip->data[11],
|       |                                                 ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:514:62: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   514 |                     ip->data[6], ip->data[7], ip->data[8], ip->data[9], ip->data[10], ip->data[11],
|       |                                                              ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:514:75: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   514 |                     ip->data[6], ip->data[7], ip->data[8], ip->data[9], ip->data[10], ip->data[11],
|       |                                                                           ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:514:89: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   514 |                     ip->data[6], ip->data[7], ip->data[8], ip->data[9], ip->data[10], ip->data[11],
|       |                                                                                         ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:515:23: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   515 |                     ip->data[12], ip->data[13], ip->data[14], ip->data[15]) == -1) {
|       |                       ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:515:37: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   515 |                     ip->data[12], ip->data[13], ip->data[14], ip->data[15]) == -1) {
|       |                                     ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:515:51: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   515 |                     ip->data[12], ip->data[13], ip->data[14], ip->data[15]) == -1) {
|       |                                                   ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:515:65: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   515 |                     ip->data[12], ip->data[13], ip->data[14], ip->data[15]) == -1) {
|       |                                                                 ^~
| In file included from /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:35:
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:521:80: error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|   521 |             WRN(NULL, "SAN IP address in an unknown format (length is %d).", ip->length);
|       |                                                                                ^~
| /build/reproducible-path/libnetconf2-3.7.10/src/log_p.h:57:123: note: in definition of macro ‘WRN’
|    57 | #define WRN(session, ...) if(ATOMIC_LOAD_RELAXED(verbose_level)>=NC_VERB_WARNING){nc_log_printf(session, NC_VERB_WARNING, __VA_ARGS__);}
|       |                                                                                                                           ^~~~~~~~~~~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c: In function ‘nc_tls_move_crls_to_store’:
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:789:5: warning: ‘X509_STORE_get0_objects’ is deprecated: Since OpenSSL 4.0;Use X509_STORE_get1_objects [-Wdeprecated-declarations]
|   789 |     objs = X509_STORE_get0_objects(src);
|       |     ^~~~
| In file included from /usr/include/openssl/x509.h:494,
|                  from /usr/include/openssl/ssl.h:34,
|                  from /build/reproducible-path/libnetconf2-3.7.10/src/session_wrapper.h:48,
|                  from /build/reproducible-path/libnetconf2-3.7.10/src/session_p.h:36,
|                  from /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:37:
| /usr/include/openssl/x509_vfy.h:527:24: note: declared here
|   527 | STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *xs);
|       |                        ^~~~~~~~~~~~~~~~~~~~~~~
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c: In function ‘nc_server_tls_get_crl_distpoint_uris_wrap’:
| /build/reproducible-path/libnetconf2-3.7.10/src/session_openssl.c:1370:5: warning: ‘X509_STORE_get0_objects’ is deprecated: Since OpenSSL 4.0;Use X509_STORE_get1_objects [-Wdeprecated-declarations]
|  1370 |     objs = X509_STORE_get0_objects(cert_store);
|       |     ^~~~
| /usr/include/openssl/x509_vfy.h:527:24: note: declared here
|   527 | STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(const X509_STORE *xs);
|       |                        ^~~~~~~~~~~~~~~~~~~~~~~
| make[3]: *** [CMakeFiles/netconf2.dir/build.make:320: CMakeFiles/netconf2.dir/src/session_openssl.c.o] Error 1
| make[3]: Leaving directory '/build/reproducible-path/libnetconf2-3.7.10/obj-x86_64-linux-gnu'

Full buildlog
https://breakpoint.cc/openssl-rebuild/logs-4/attempted/libnetconf2_3.7.10-2_amd64-2026-04-19T10:51:08Z

Sebastian

#1138483#12
Date:
2026-06-03 12:41:26 UTC
From:
To:
retitle 1138483 FTBFS openssl 4
found 1138483 4.4.9-1
tag 1138483 upstream
forwarded 1138483 https://github.com/CESNET/libnetconf2/issues/612
thanks

Hi,

thanks for the report, I've reproduced it with the current upstream
version from experimental (4.4.9-1) and reported it upstream.

Regards,
Daniel

#1138483#23
Date:
2026-06-03 12:41:26 UTC
From:
To:
retitle 1138483 FTBFS openssl 4
found 1138483 4.4.9-1
tag 1138483 upstream
forwarded 1138483 https://github.com/CESNET/libnetconf2/issues/612
thanks

Hi,

thanks for the report, I've reproduced it with the current upstream
version from experimental (4.4.9-1) and reported it upstream.

Regards,
Daniel

#1138483#28
Date:
2026-07-31 04:04:47 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
libnetconf2, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1138483@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Daniel Baumann <daniel@debian.org> (supplier of updated libnetconf2 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 31 Jul 2026 05:25:52 +0200
Source: libnetconf2
Architecture: source
Version: 4.4.14-1
Distribution: experimental
Urgency: medium
Maintainer: Daniel Baumann <daniel@debian.org>
Changed-By: Daniel Baumann <daniel@debian.org>
Closes: 1138483
Changes:
 libnetconf2 (4.4.14-1) experimental; urgency=medium
 .
   * Merging upstream version 4.4.14:
     - builds with openssl 4 (Closes: #1138483).
   * Bumping libyang build-depends.
Checksums-Sha1:
 3488d8c42c44658aeefeca1bfb85c27c0ade4dde 1492 libnetconf2_4.4.14-1.dsc
 ef5df3c9593404b77389c890f7c709cc4310c580 369068 libnetconf2_4.4.14.orig.tar.xz
 b246cf78a12aae9eb7d1b39cbd47ac8e9f8e61e2 5748 libnetconf2_4.4.14-1.debian.tar.xz
 5f3cd6a5da112756a7c13adac86bf97f61dd8775 10101 libnetconf2_4.4.14-1_amd64.buildinfo
Checksums-Sha256:
 79618df5495295dfcc0407de452057df0e27b5085620924d1589b03637dde552 1492 libnetconf2_4.4.14-1.dsc
 ce31c776845a75641a074f293272da5d5c8b41e8f09776a390d2a866b6260c08 369068 libnetconf2_4.4.14.orig.tar.xz
 5677f14b498855c9cd81aa7d6e6a2804c5ef83aa7c47f11865a24c68aa6a9355 5748 libnetconf2_4.4.14-1.debian.tar.xz
 8dfd01220939c632644f705ec2588b0ffa6d48cc4175ba457b3aadb6c70568bf 10101 libnetconf2_4.4.14-1_amd64.buildinfo
Files:
 5bb7d4094db4091a6ba8283e3611db5f 1492 libs optional libnetconf2_4.4.14-1.dsc
 4a90d8bf63afb17cb22a7be36f3fc102 369068 libs optional libnetconf2_4.4.14.orig.tar.xz
 dc2432218fc72e844275855ca4b691f0 5748 libs optional libnetconf2_4.4.14-1.debian.tar.xz
 afd6bffbb86edb04dccb610901d1eac9 10101 libs optional libnetconf2_4.4.14-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQQmmGg4gLaoSj0ERgL7tPDoCoAiLwUCamwYaQAKCRD7tPDoCoAi
L3zcAP925VeEjiqjAkMvWsG6EnpF6zLyLTJQUkmknfK6uVqsEgEA3nxzv0I3550z
r0kePf+AuhLWhr75F5aWuCG/jCHdpAY=
=zgd0
-----END PGP SIGNATURE-----