Just resending, I noticed that my message didn't make it through the list, and no, it was not caught by the anti-spam :-)
On Mon, Nov 07, 2016 at 08:19:06PM +0100, Willy Tarreau wrote: > Hi Dirkjan, > > On Mon, Nov 07, 2016 at 01:02:33PM +0100, Dirkjan Bussink wrote: > > Hi Willy, > > > > > On 26 Oct 2016, at 11:40, Willy Tarreau <w...@1wt.eu> wrote: > > > > > > Yes I'd rather have it work with 0.9.8 as it's still supported and used by > > > some LTS distros. For example, RHEL5's regular support is due till March > > > 2017 > > > and extended support till november 2020. It's not very likely that such > > > users > > > will decide to upgrade to 1.7 now especially since some of the SSL-related > > > features only work with newer versions. But if we can make it work as it > > > used > > > to with limited effort it's better. Is your current patch capable of > > > supporting > > > 0.9.8 ? > > > > I don't think there's a reason it couldn't work. I haven't tested it though > > yet, only against 1.0.1 and 1.1.0 at this point. > > OK so I got a few build errors with openssl-0.9.8za but I think they're > not impossible to get rid of, because every time it was just a matter of > having some of these functions already declard in openssl (which sounds > quite strange), hence the "conflicting type" declaration. What I don't > understand is why I do find them both in 0.9.8 and 1.0.1 still they don't > cause this build failure in 1.0.1. Any insight would be welcome, as I'm > sure we're pretty close from something working. I checked the sources and > didn't see any suspicious #if. Maybe we should rearrange our own > compat/openssl > so that we don't redefine them on 0.9.8 ? I have not tested on 1.0.0 either > but I think it's really dead even on LTS distros. > > Thanks, > Willy > > ------------------------------------------------ > In file included from src/ssl_sock.c:56:0: > include/compat/openssl.h:31:36: error: static declaration of > 'SSL_SESSION_get_id' follows non-static declaration > In file included from src/ssl_sock.c:43:0: > /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:1433:22: note: previous > declaration of 'SSL_SESSION_get_id' was here > In file included from src/ssl_sock.c:56:0: > include/compat/openssl.h:37:32: error: conflicting types for > 'X509_NAME_get_entry' > In file included from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183:0, > from src/ssl_sock.c:43: > /dev/shm/openssl-0.9.8za/include/openssl/x509.h:1106:18: note: previous > declaration of 'X509_NAME_get_entry' was here > In file included from src/ssl_sock.c:56:0: > include/compat/openssl.h:42:28: error: conflicting types for > 'X509_NAME_ENTRY_get_object' > In file included from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183:0, > from src/ssl_sock.c:43: > /dev/shm/openssl-0.9.8za/include/openssl/x509.h:1127:15: note: previous > declaration of 'X509_NAME_ENTRY_get_object' was here > In file included from src/ssl_sock.c:56:0: > include/compat/openssl.h:47:28: error: conflicting types for > 'X509_NAME_ENTRY_get_data' > In file included from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183:0, > from src/ssl_sock.c:43: > /dev/shm/openssl-0.9.8za/include/openssl/x509.h:1128:15: note: previous > declaration of 'X509_NAME_ENTRY_get_data' was here > In file included from src/ssl_sock.c:56:0: > include/compat/openssl.h:52:19: error: conflicting types for > 'ASN1_STRING_length' > In file included from > /dev/shm/openssl-0.9.8za/include/openssl/objects.h:960:0, > from /dev/shm/openssl-0.9.8za/include/openssl/evp.h:98, > from /dev/shm/openssl-0.9.8za/include/openssl/x509.h:73, > from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183, > from src/ssl_sock.c:43: > /dev/shm/openssl-0.9.8za/include/openssl/asn1.h:795:5: note: previous > declaration of 'ASN1_STRING_length' was here > In file included from src/ssl_sock.c:56:0: > include/compat/openssl.h:57:19: error: static declaration of > 'X509_NAME_entry_count' follows non-static declaration > In file included from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183:0, > from src/ssl_sock.c:43: > /dev/shm/openssl-0.9.8za/include/openssl/x509.h:1095:7: note: previous > declaration of 'X509_NAME_entry_count' was here > In file included from src/ssl_sock.c:56:0: > include/compat/openssl.h: In function 'X509_NAME_entry_count': > include/compat/openssl.h:60:1: error: expected ';' before '}' token > include/compat/openssl.h: At top level: > include/compat/openssl.h:68:20: error: conflicting types for 'X509_ALGOR_get0' > In file included from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183:0, > from src/ssl_sock.c:43: > /dev/shm/openssl-0.9.8za/include/openssl/x509.h:871:6: note: previous > declaration of 'X509_ALGOR_get0' was here > In file included from src/shctx.c:30:0: > include/compat/openssl.h:31:36: error: static declaration of > 'SSL_SESSION_get_id' follows non-static declaration > In file included from include/types/listener.h:29:0, > from include/types/global.h:31, > from src/shctx.c:28: > /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:1433:22: note: previous > declaration of 'SSL_SESSION_get_id' was here > In file included from src/shctx.c:30:0: > include/compat/openssl.h:37:32: error: conflicting types for > 'X509_NAME_get_entry' > In file included from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183:0, > from include/types/listener.h:29, > from include/types/global.h:31, > from src/shctx.c:28: > /dev/shm/openssl-0.9.8za/include/openssl/x509.h:1106:18: note: previous > declaration of 'X509_NAME_get_entry' was here > In file included from src/shctx.c:30:0: > include/compat/openssl.h:42:28: error: conflicting types for > 'X509_NAME_ENTRY_get_object' > In file included from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183:0, > from include/types/listener.h:29, > from include/types/global.h:31, > from src/shctx.c:28: > /dev/shm/openssl-0.9.8za/include/openssl/x509.h:1127:15: note: previous > declaration of 'X509_NAME_ENTRY_get_object' was here > In file included from src/shctx.c:30:0: > include/compat/openssl.h:47:28: error: conflicting types for > 'X509_NAME_ENTRY_get_data' > In file included from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183:0, > from include/types/listener.h:29, > from include/types/global.h:31, > from src/shctx.c:28: > /dev/shm/openssl-0.9.8za/include/openssl/x509.h:1128:15: note: previous > declaration of 'X509_NAME_ENTRY_get_data' was here > In file included from src/shctx.c:30:0: > include/compat/openssl.h:52:19: error: conflicting types for > 'ASN1_STRING_length' > In file included from > /dev/shm/openssl-0.9.8za/include/openssl/objects.h:960:0, > from /dev/shm/openssl-0.9.8za/include/openssl/evp.h:98, > from /dev/shm/openssl-0.9.8za/include/openssl/x509.h:73, > from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183, > from include/types/listener.h:29, > from include/types/global.h:31, > from src/shctx.c:28: > /dev/shm/openssl-0.9.8za/include/openssl/asn1.h:795:5: note: previous > declaration of 'ASN1_STRING_length' was here > In file included from src/shctx.c:30:0: > include/compat/openssl.h:57:19: error: static declaration of > 'X509_NAME_entry_count' follows non-static declaration > In file included from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183:0, > from include/types/listener.h:29, > from include/types/global.h:31, > from src/shctx.c:28: > /dev/shm/openssl-0.9.8za/include/openssl/x509.h:1095:7: note: previous > declaration of 'X509_NAME_entry_count' was here > In file included from src/shctx.c:30:0: > include/compat/openssl.h: In function 'X509_NAME_entry_count': > include/compat/openssl.h:60:1: error: expected ';' before '}' token > include/compat/openssl.h: At top level: > include/compat/openssl.h:68:20: error: conflicting types for 'X509_ALGOR_get0' > In file included from /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:183:0, > from include/types/listener.h:29, > from include/types/global.h:31, > from src/shctx.c:28: > /dev/shm/openssl-0.9.8za/include/openssl/x509.h:871:6: note: previous > declaration of 'X509_ALGOR_get0' was here > src/shctx.c: In function 'shared_context_set_cache': > src/shctx.c:660:2: warning: passing argument 2 of 'SSL_CTX_sess_set_get_cb' > from incompatible pointer type [enabled by default] > In file included from include/types/listener.h:29:0, > from include/types/global.h:31, > from src/shctx.c:28: > /dev/shm/openssl-0.9.8za/include/openssl/ssl.h:849:6: note: expected 'struct > SSL_SESSION * (*)(struct ssl_st *, unsigned char *, int, int *)' but > argument is of type 'struct SSL_SESSION * (*)(struct SSL *, const unsigned > char *, int, int *)' > make: *** [src/shctx.o] Error 1 > make: *** Waiting for unfinished jobs.... > make: *** [src/ssl_sock.o] Error 1 > ------------------------------------------------ > > >