| 2022-09-19 | ||
| 14:23 | • New ticket [cfba27dc07] Build against LibreSSL 3.5.3 has missing definitions. artifact: 0fb4157e56 user: anonymous | |
| Ticket Hash: | cfba27dc078fdc30b866d896df921346897c2d1a | ||
| Title: | Build against LibreSSL 3.5.3 has missing definitions | ||
| Status: | Open | Type: | Build Problem | 
| Severity: | Critical | Priority: | |
| Subsystem: | Resolution: | ||
| Last Modified: | 2022-09-19 14:23:33 3.11 years ago | Created: | 2022-09-19 14:23:33 3.11 years ago | 
| Version Found In: | 3.5.3 | ||
| User Comments: | ||||
| anonymous added on 2022-09-19 14:23:33:
 When building against LibreSSL 3.5.3, TclTLS needs to include private header files from LibreSSL.  Specifically,
File tcltls-1.7.22/tls.c
-- needs libressl-3.5.3/crypto/dh/dh_local.h
File tcltls-1.7.22/tlsBIO.c
-- needs libressl-3.5.3/crypto/bio/bio_local.h
Without including these files, the build fails with error messages, e.g.
In file included from ../../src/tcltls-1.7.22/tls.c:84:
./dh_params.h: In function ‘get_dhParams’:
./dh_params.h:33: error: dereferencing pointer to incomplete type
./dh_params.h:34: error: dereferencing pointer to incomplete type
./dh_params.h:35: error: dereferencing pointer to incomplete type
./dh_params.h:35: error: dereferencing pointer to incomplete type
make: *** [tls.o] Error 1
The reason is that some definitions in LibreSSL are no longer present in the installed headers.  From the LibreSSL Changelog file:
3.5.0 - Development release
        * Compatibility Changes
          - Most structs that were previously defined in the following headers
            are now opaque as they are in OpenSSL 1.1:
            bio.h, bn.h, comp.h, dh.h, dsa.h, evp.h, hmac.h, ocsp.h, rsa.h,
            x509.h, x509v3.h, x509_vfy.h | ||||