OpenSSL v3 alpha 1: include file problem

Richard Levitte levitte at openssl.org
Tue Apr 28 07:40:52 UTC 2020


I hope this is fixed by https://github.com/openssl/openssl/pull/11655

On Mon, 27 Apr 2020 23:14:12 +0200,
Norm Green wrote:
> 
> I don't know if this change was intentional or not.
> With 3.0 alpha, compiling this simple program on Linux fails but
> succeeds on 1.1:
> 
> -----------------
> #include <openssl/ssl.h>
> ----------------
> 
> gcc -c -I \
> /home/normg/local/gs360_opensslv3/slow50/openssl/install50/include test.c
> 
> 
> In file included from
> /home/normg/local/gs360_opensslv3/slow50/openssl/install50/include/openssl/types.h:20:0,
>                  from
> /home/normg/local/gs360_opensslv3/slow50/openssl/install50/include/openssl/err.h:26,
>                  from test.c:1:
> /home/normg/local/gs360_opensslv3/slow50/openssl/install50/include/openssl/ssl.h:235:28:
> error: 'SRTP_PROTECTION_PROFILE' does not name a type
>  DEFINE_OR_DECLARE_STACK_OF(SRTP_PROTECTION_PROFILE)
>                             ^
> /home/normg/local/gs360_opensslv3/slow50/openssl/install50/include/openssl/safestack.h:30:45:
> note: in definition of macro 'SKM_DEFINE_STACK_OF'
>      typedef int (*sk_##t1##_compfunc)(const t3 * const *a, const t3
> *const *b); \
> ...<pages and pages of warnings/errors>
> 
> 
> 
> To fix it, all we need is to include err.h first, as follows:
> 
> -----------------
> #include <openssl/err.h>
> #include <openssl/ssl.h>
> ----------------
> 
> I scanned the wiki and readme and did not see a requirement to include
> err.h before ssl.h.  Is this intentional or a bug?
> 
> It's easy enough for me to fix this in my source code, but other
> packages that rely upon openssl break with "ssl.h is unusable" errors
> due of this change (OpenLDAP is one such example).
> 
> Norm Green
> 
-- 
Richard Levitte         levitte at openssl.org
OpenSSL Project         http://www.openssl.org/~levitte/


More information about the openssl-users mailing list