gadgets.cc: In function 'bool replaceCommonName(Security::CertPointer&, const 
std::string&)':
gadgets.cc:262:44: error: invalid conversion from 'const X509_NAME*' {aka 
'const X509_name_st*'} to 'X509_NAME*' {aka 'X509_name_st*'} [-fpermissive]
  262 |     X509_NAME *name = X509_get_subject_name(cert.get());
      |                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      |                                            |
      |                                            const X509_NAME* {aka const 
X509_name_st*}
gadgets.cc:268:51: error: invalid conversion from 'const X509_NAME_ENTRY*' {aka 
'const X509_name_entry_st*'} to 'X509_NAME_ENTRY*' {aka 'X509_name_entry_st*'} 
[-fpermissive]
  268 |         X509_NAME_ENTRY *tmp = X509_NAME_get_entry(name, loc);
      |                                ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
      |                                                   |
      |                                                   const 
X509_NAME_ENTRY* {aka const X509_name_entry_st*}
gadgets.cc: In function 'void printX509Signature(const Security::CertPointer&, 
std::string&)':
gadgets.cc:304:19: error: invalid use of incomplete type 'const 
ASN1_BIT_STRING' {aka 'const struct asn1_string_st'}
  304 |     if (sig && sig->data) {
      |                   ^~
In file included from /usr/include/openssl/crypto.h:38,
                 from /usr/include/openssl/bio.h:32,
                 from /usr/include/openssl/asn1.h:32,
                 from ../../compat/openssl.h:29,
                 from ../../src/security/LockingPointer.h:18,
                 from ../../src/security/forward.h:15,
                 from ../../src/security/ErrorDetail.h:15,
                 from ../../src/security/Io.h:13,
                 from gadgets.cc:15:
/usr/include/openssl/types.h:57:16: note: forward declaration of 
'ASN1_BIT_STRING' {aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc:305:37: error: invalid use of incomplete type 'const 
ASN1_BIT_STRING' {aka 'const struct asn1_string_st'}
  305 |         const unsigned char *s = sig->data;
      |                                     ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 
'ASN1_BIT_STRING' {aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc:306:32: error: invalid use of incomplete type 'const 
ASN1_BIT_STRING' {aka 'const struct asn1_string_st'}
  306 |         for (int i = 0; i < sig->length; ++i) {
      |                                ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 
'ASN1_BIT_STRING' {aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc: In function 'bool mimicAuthorityKeyId(Security::CertPointer&, const 
Security::CertPointer&, const Security::CertPointer&)':
gadgets.cc:380:45: error: invalid conversion from 'const X509_EXTENSION*' {aka 
'const X509_extension_st*'} to 'X509_EXTENSION*' {aka 'X509_extension_st*'} 
[-fpermissive]
  380 |         if (indx >= 0 && (ext = X509_get_ext(issuerCert.get(), indx))) {
      |                                 ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
      |                                             |
      |                                             const X509_EXTENSION* {aka 
const X509_extension_st*}
gadgets.cc:421:17: error: invalid use of incomplete type 'struct asn1_string_st'
  421 |     extOct.get()->data = ext_der;
      |                 ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'struct 
asn1_string_st'
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc:422:17: error: invalid use of incomplete type 'struct asn1_string_st'
  422 |     extOct.get()->length = ext_len;
      |                 ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'struct 
asn1_string_st'
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc: In function 'int mimicExtensions(Security::CertPointer&, const 
Security::CertPointer&, const Security::CertPointer&)':
gadgets.cc:474:47: error: invalid conversion from 'const X509_EXTENSION*' {aka 
'const X509_extension_st*'} to 'X509_EXTENSION*' {aka 'X509_extension_st*'} 
[-fpermissive]
  474 |         if (X509_EXTENSION *ext = X509_get_ext(mimicCert.get(), pos)) {
      |                                   ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
      |                                               |
      |                                               const X509_EXTENSION* 
{aka const X509_extension_st*}
gadgets.cc:485:40: error: invalid conversion from 'const X509_EXTENSION*' {aka 
'const X509_extension_st*'} to 'X509_EXTENSION*' {aka 'X509_extension_st*'} 
[-fpermissive]
  485 |                 if ((ext = X509_get_ext(cert.get(), p)) != nullptr) {
      |                            ~~~~~~~~~~~~^~~~~~~~~~~~~~~
      |                                        |
      |                                        const X509_EXTENSION* {aka const 
X509_extension_st*}
gadgets.cc:498:28: error: invalid use of incomplete type 'ASN1_OCTET_STRING' 
{aka 'struct asn1_string_st'}
  498 |                     ext_oct->data = ext_der;
      |                            ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 
'ASN1_OCTET_STRING' {aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc:499:28: error: invalid use of incomplete type 'ASN1_OCTET_STRING' 
{aka 'struct asn1_string_st'}
  499 |                     ext_oct->length = ext_len;
      |                            ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 
'ASN1_OCTET_STRING' {aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc: In function 'SBuf Ssl::AsnToSBuf(const ASN1_STRING&)':
gadgets.cc:521:48: error: invalid use of incomplete type 'const ASN1_STRING' 
{aka 'const struct asn1_string_st'}
  521 |     return SBuf(reinterpret_cast<const char *>(buffer.data), 
buffer.length);
      |                                                ^~~~~~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'ASN1_STRING' 
{aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc:521:62: error: invalid use of incomplete type 'const ASN1_STRING' 
{aka 'const struct asn1_string_st'}
  521 |     return SBuf(reinterpret_cast<const char *>(buffer.data), 
buffer.length);
      |                                                              ^~~~~~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'ASN1_STRING' 
{aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc: In function 'bool addAltNameWithSubjectCn(Security::CertPointer&)':
gadgets.cc:579:44: error: invalid conversion from 'const X509_NAME*' {aka 
'const X509_name_st*'} to 'X509_NAME*' {aka 'X509_name_st*'} [-fpermissive]
  579 |     X509_NAME *name = X509_get_subject_name(cert.get());
      |                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      |                                            |
      |                                            const X509_NAME* {aka const 
X509_name_st*}
gadgets.cc: In function 'bool buildCertificate(Security::CertPointer&, const 
Ssl::CertificateProperties&)':
gadgets.cc:613:52: error: invalid conversion from 'const X509_NAME*' {aka 
'const X509_name_st*'} to 'X509_NAME*' {aka 'X509_name_st*'} [-fpermissive]
  613 |         if (X509_NAME *name = 
X509_get_subject_name(properties.mimicCert.get())) {
      |                               
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                    |
      |                                                    const X509_NAME* 
{aka const X509_name_st*}
gadgets.cc:661:32: error: invalid conversion from 'const unsigned char*' to 
'unsigned char*' [-fpermissive]
  661 |         alStr = X509_alias_get0(properties.mimicCert.get(), &alLen);
      |                 ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                |
      |                                const unsigned char*
gadgets.cc:670:45: error: invalid conversion from 'const X509_EXTENSION*' {aka 
'const X509_extension_st*'} to 'X509_EXTENSION*' {aka 'X509_extension_st*'} 
[-fpermissive]
  670 |             X509_EXTENSION 
*ext=X509_get_ext(properties.mimicCert.get(), pos);
      |                                 
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                             |
      |                                             const X509_EXTENSION* {aka 
const X509_extension_st*}
gadgets.cc: In function 'bool Ssl::sslDateIsInTheFuture(const char*)':
gadgets.cc:932:18: error: aggregate 'ASN1_UTCTIME tm' has incomplete type and 
cannot be defined
  932 |     ASN1_UTCTIME tm;
      |                  ^~
gadgets.cc: In function 'bool asn1timeToGeneralizedTimeStr(ASN1_TIME*, char*, 
int)':
gadgets.cc:950:15: error: invalid use of incomplete type 'ASN1_TIME' {aka 
'struct asn1_string_st'}
  950 |     if ((aTime->length + 3) > bufLen)
      |               ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'ASN1_TIME' 
{aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc:954:14: error: invalid use of incomplete type 'ASN1_TIME' {aka 
'struct asn1_string_st'}
  954 |     if (aTime->type == V_ASN1_UTCTIME) {
      |              ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'ASN1_TIME' 
{aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc:955:18: error: invalid use of incomplete type 'ASN1_TIME' {aka 
'struct asn1_string_st'}
  955 |         if (aTime->data[0] > '5') { // RFC 2459, section 4.1.2.5.1
      |                  ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'ASN1_TIME' 
{aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc:966:22: error: invalid use of incomplete type 'ASN1_TIME' {aka 
'struct asn1_string_st'}
  966 |     memcpy(str, aTime->data, aTime->length);
      |                      ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'ASN1_TIME' 
{aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc:966:35: error: invalid use of incomplete type 'ASN1_TIME' {aka 
'struct asn1_string_st'}
  966 |     memcpy(str, aTime->data, aTime->length);
      |                                   ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'ASN1_TIME' 
{aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc:967:14: error: invalid use of incomplete type 'ASN1_TIME' {aka 
'struct asn1_string_st'}
  967 |     str[aTime->length] = '\0';
      |              ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'ASN1_TIME' 
{aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
gadgets.cc: In function 'bool Ssl::certificateMatchesProperties(X509*, const 
CertificateProperties&)':
gadgets.cc:999:54: error: invalid conversion from 'const X509_NAME*' {aka 
'const X509_name_st*'} to 'X509_NAME*' {aka 'X509_name_st*'} [-fpermissive]
  999 |         X509_NAME *cert1_name = X509_get_subject_name(cert);
      |                                 ~~~~~~~~~~~~~~~~~~~~~^~~~~~
      |                                                      |
      |                                                      const X509_NAME* 
{aka const X509_name_st*}
gadgets.cc:1000:54: error: invalid conversion from 'const X509_NAME*' {aka 
'const X509_name_st*'} to 'X509_NAME*' {aka 'X509_name_st*'} [-fpermissive]
 1000 |         X509_NAME *cert2_name = X509_get_subject_name(cert2);
      |                                 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~
      |                                                      |
      |                                                      const X509_NAME* 
{aka const X509_name_st*}
gadgets.cc:1011:37: warning: 'int X509_cmp_current_time(const ASN1_TIME*)' is 
deprecated: Since OpenSSL 4.0 [-Wdeprecated-declarations]
 1011 |     } else if (X509_cmp_current_time(X509_getm_notBefore(cert)) >= 0) {
      |                ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/ssl.h:34,
                 from ../../compat/openssl.h:44:
/usr/include/openssl/x509.h:694:27: note: declared here
  694 | OSSL_DEPRECATEDIN_4_0 int X509_cmp_current_time(const ASN1_TIME *s);
      |                           ^~~~~~~~~~~~~~~~~~~~~
gadgets.cc:1021:37: warning: 'int X509_cmp_current_time(const ASN1_TIME*)' is 
deprecated: Since OpenSSL 4.0 [-Wdeprecated-declarations]
 1021 |     } else if (X509_cmp_current_time(X509_getm_notAfter(cert)) <= 0) {
      |                ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/x509.h:694:27: note: declared here
  694 | OSSL_DEPRECATEDIN_4_0 int X509_cmp_current_time(const ASN1_TIME *s);
      |                           ^~~~~~~~~~~~~~~~~~~~~
gadgets.cc: In function 'const char* getSubjectEntry(X509*, int)':
gadgets.cc:1063:50: warning: 'int X509_NAME_get_text_by_NID(const X509_NAME*, 
int, char*, int)' is deprecated: Since OpenSSL 4.0 [-Wdeprecated-declarations]
 1063 |     const int nameLen = X509_NAME_get_text_by_NID(
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~^
 1064 |                             X509_get_subject_name(x509),
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1065 |                             nid,  name, sizeof(name));
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/x509.h:1041:27: note: declared here
 1041 | OSSL_DEPRECATEDIN_4_0 int X509_NAME_get_text_by_NID(const X509_NAME 
*name,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~
libtool: compile:  x86_64-linux-gnu-g++ -std=c++17 -DHAVE_CONFIG_H 
-DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" 
-DDEFAULT_SQUID_DATA_DIR=\"/usr/share/squid\" 
-DDEFAULT_SQUID_CONFIG_DIR=\"/etc/squid\" -I../.. -I../../include -I../../lib 
-I../../src -I../../include -isystem /usr/include/mit-krb5 -isystem 
/usr/include/mit-krb5 -I/usr/include/p11-kit-1 -Wdate-time -D_FORTIFY_SOURCE=3 
-Wall -Wextra -Wimplicit-fallthrough=5 -Wpointer-arith -Wwrite-strings 
-Wcomments -Wshadow -Wmissing-declarations -Woverloaded-virtual -Werror -pipe 
-D_REENTRANT -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer 
-ffile-prefix-map=/build/reproducible-path/squid-7.6=. -flto=auto 
-ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection 
-fdebug-prefix-map=/build/reproducible-path/squid-7.6=/usr/src/squid-7.6-2ubuntu2
 -Wno-error=deprecated-declarations -c crtd_message.cc -o crtd_message.o 
>/dev/null 2>&1
libtool: compile:  x86_64-linux-gnu-g++ -std=c++17 -DHAVE_CONFIG_H 
-DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" 
-DDEFAULT_SQUID_DATA_DIR=\"/usr/share/squid\" 
-DDEFAULT_SQUID_CONFIG_DIR=\"/etc/squid\" -I../.. -I../../include -I../../lib 
-I../../src -I../../include -isystem /usr/include/mit-krb5 -isystem 
/usr/include/mit-krb5 -I/usr/include/p11-kit-1 -Wdate-time -D_FORTIFY_SOURCE=3 
-Wall -Wextra -Wimplicit-fallthrough=5 -Wpointer-arith -Wwrite-strings 
-Wcomments -Wshadow -Wmissing-declarations -Woverloaded-virtual -Werror -pipe 
-D_REENTRANT -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer 
-ffile-prefix-map=/build/reproducible-path/squid-7.6=. -flto=auto 
-ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection 
-fdebug-prefix-map=/build/reproducible-path/squid-7.6=/usr/src/squid-7.6-2ubuntu2
 -Wno-error=deprecated-declarations -c ErrorDetail.cc -o ErrorDetail.o 
>/dev/null 2>&1
make[5]: *** [Makefile:889: gadgets.lo] Error 1
make[5]: *** Waiting for unfinished jobs....
libtool: compile:  x86_64-linux-gnu-g++ -std=c++17 -DHAVE_CONFIG_H 
-DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" 
-DDEFAULT_SQUID_DATA_DIR=\"/usr/share/squid\" 
-DDEFAULT_SQUID_CONFIG_DIR=\"/etc/squid\" -I../.. -I../../include -I../../lib 
-I../../src -I../../include -isystem /usr/include/mit-krb5 -isystem 
/usr/include/mit-krb5 -I/usr/include/p11-kit-1 -Wdate-time -D_FORTIFY_SOURCE=3 
-Wall -Wextra -Wimplicit-fallthrough=5 -Wpointer-arith -Wwrite-strings 
-Wcomments -Wshadow -Wmissing-declarations -Woverloaded-virtual -Werror -pipe 
-D_REENTRANT -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer 
-ffile-prefix-map=/build/reproducible-path/squid-7.6=. -flto=auto 
-ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection 
-fdebug-prefix-map=/build/reproducible-path/squid-7.6=/usr/src/squid-7.6-2ubuntu2
 -Wno-error=deprecated-declarations -c ErrorDetailManager.cc -o 
ErrorDetailManager.o >/dev/null 2>&1
support.cc: In function 'std::optional<AnyP::Host> ParseSubjectAltName(const 
GENERAL_NAME&)':
support.cc:275:28: error: invalid use of incomplete type 'ASN1_OCTET_STRING' 
{aka 'struct asn1_string_st'}
  275 |         if (san.d.iPAddress->length == 4) {
      |                            ^~
In file included from /usr/include/openssl/crypto.h:38,
                 from /usr/include/openssl/bio.h:32,
                 from /usr/include/openssl/asn1.h:32,
                 from ../../compat/openssl.h:29,
                 from ../../src/security/Context.h:15,
                 from ../../src/security/PeerOptions.h:14,
                 from ../../src/security/ServerOptions.h:13,
                 from ../../src/anyp/PortCfg.h:18,
                 from ../../src/AccessLogEntry.h:12,
                 from ../../src/acl/FilledChecklist.h:12,
                 from support.cc:18:
/usr/include/openssl/types.h:57:16: note: forward declaration of 
'ASN1_OCTET_STRING' {aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
support.cc:278:49: error: invalid use of incomplete type 'ASN1_OCTET_STRING' 
{aka 'struct asn1_string_st'}
  278 |             memcpy(&addr.s_addr, san.d.iPAddress->data, 
sizeof(addr.s_addr));
      |                                                 ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 
'ASN1_OCTET_STRING' {aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
support.cc:283:28: error: invalid use of incomplete type 'ASN1_OCTET_STRING' 
{aka 'struct asn1_string_st'}
  283 |         if (san.d.iPAddress->length == 16) {
      |                            ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 
'ASN1_OCTET_STRING' {aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
support.cc:286:50: error: invalid use of incomplete type 'ASN1_OCTET_STRING' 
{aka 'struct asn1_string_st'}
  286 |             memcpy(&addr.s6_addr, san.d.iPAddress->data, 
sizeof(addr.s6_addr));
      |                                                  ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 
'ASN1_OCTET_STRING' {aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
In file included from ../../src/base/YesNoNone.h:13,
                 from ../../src/security/PeerOptions.h:12:
support.cc:291:84: error: invalid use of incomplete type 'ASN1_OCTET_STRING' 
{aka 'struct asn1_string_st'}
  291 |         debugs(83, 3, "unexpected length of an IP address SAN: " << 
san.d.iPAddress->length);
      |                                                                         
           ^~
../../src/debug/Stream.h:201:21: note: in definition of macro 'debugs'
  201 |             _dbo << CONTENT; \
      |                     ^~~~~~~
/usr/include/openssl/types.h:57:16: note: forward declaration of 
'ASN1_OCTET_STRING' {aka 'struct asn1_string_st'}
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
support.cc: In function 'bool Ssl::HasMatchingSubjectName(X509&, const 
GeneralNameMatcher&)':
support.cc:307:47: error: binding reference of type 'X509_NAME&' {aka 
'X509_name_st&'} to 'const X509_name_st' discards qualifiers
  307 |         if (const auto cn = ParseCommonNameAt(*name, i)) {
      |                                               ^~~~~
In file included from ../../src/AccessLogEntry.h:31:
../../src/ssl/gadgets.h:288:45: note: initializing argument 1 of 
'std::optional<AnyP::Host> Ssl::ParseCommonNameAt(X509_NAME&, int)'
  288 | std::optional<AnyP::Host> ParseCommonNameAt(X509_NAME &, int);
      |                                             ^~~~~~~~~~~
support.cc: In function 'const char* ssl_get_attribute(X509_NAME*, const 
char*)':
support.cc:872:34: warning: 'int X509_NAME_get_text_by_NID(const X509_NAME*, 
int, char*, int)' is deprecated: Since OpenSSL 4.0 [-Wdeprecated-declarations]
  872 |         X509_NAME_get_text_by_NID(name, nid, buffer, sizeof(buffer));
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/ssl.h:34,
                 from ../../compat/openssl.h:44:
/usr/include/openssl/x509.h:1041:27: note: declared here
 1041 | OSSL_DEPRECATEDIN_4_0 int X509_NAME_get_text_by_NID(const X509_NAME 
*name,
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~
support.cc: In function 'const char* Ssl::GetX509UserAttribute(X509*, const 
char*)':
support.cc:888:33: error: invalid conversion from 'const X509_NAME*' {aka 
'const X509_name_st*'} to 'X509_NAME*' {aka 'X509_name_st*'} [-fpermissive]
  888 |     name = X509_get_subject_name(cert);
      |            ~~~~~~~~~~~~~~~~~~~~~^~~~~~
      |                                 |
      |                                 const X509_NAME* {aka const 
X509_name_st*}
support.cc: In function 'const char* Ssl::GetX509CAAttribute(X509*, const 
char*)':
support.cc:942:32: error: invalid conversion from 'const X509_NAME*' {aka 
'const X509_name_st*'} to 'X509_NAME*' {aka 'X509_name_st*'} [-fpermissive]
  942 |     name = X509_get_issuer_name(cert);
      |            ~~~~~~~~~~~~~~~~~~~~^~~~~~
      |                                |
      |                                const X509_NAME* {aka const 
X509_name_st*}
support.cc: In function 'bool Ssl::verifySslCertificate(const 
Security::ContextPointer&, const CertificateProperties&)':
support.cc:1157:34: warning: 'int X509_cmp_current_time(const ASN1_TIME*)' is 
deprecated: Since OpenSSL 4.0 [-Wdeprecated-declarations]
 1157 |     return (X509_cmp_current_time(time_notBefore) < 0 && 
X509_cmp_current_time(time_notAfter) > 0);
      |             ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/usr/include/openssl/x509.h:694:27: note: declared here
  694 | OSSL_DEPRECATEDIN_4_0 int X509_cmp_current_time(const ASN1_TIME *s);
      |                           ^~~~~~~~~~~~~~~~~~~~~
support.cc:1157:79: warning: 'int X509_cmp_current_time(const ASN1_TIME*)' is 
deprecated: Since OpenSSL 4.0 [-Wdeprecated-declarations]
 1157 |     return (X509_cmp_current_time(time_notBefore) < 0 && 
X509_cmp_current_time(time_notAfter) > 0);
      |                                                          
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/usr/include/openssl/x509.h:694:27: note: declared here
  694 | OSSL_DEPRECATEDIN_4_0 int X509_cmp_current_time(const ASN1_TIME *s);
      |                           ^~~~~~~~~~~~~~~~~~~~~
support.cc: In function 'void Ssl::InRamCertificateDbKey(const 
CertificateProperties&, SBuf&)':
support.cc:1487:41: error: invalid use of incomplete type 'const struct 
asn1_string_st'
 1487 |             key.append((const char *)sig->data, sig->length);
      |                                         ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'struct 
asn1_string_st'
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~
support.cc:1487:52: error: invalid use of incomplete type 'const struct 
asn1_string_st'
 1487 |             key.append((const char *)sig->data, sig->length);
      |                                                    ^~
/usr/include/openssl/types.h:57:16: note: forward declaration of 'struct 
asn1_string_st'
   57 | typedef struct asn1_string_st ASN1_INTEGER;
      |                ^~~~~~~~~~~~~~

** Description changed:

  squid FTBFS with OpenSSL4 due to a strict dep on older SSL
  ```
  libssl-dev (<< 4)
  ```
- 
- Need to remove the constraint and investigate the needed changes.
+ Builds with the constraint removed show that compatibility will require quite 
some fixes.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163757

Title:
  FTBFS with Openssl4

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/squid/+bug/2163757/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to