Re: [exim-dev] CentOS 5's old openssl and TLS support

Etusivu
Poista viesti
Vastaa
Lähettäjä: Todd Lyons
Päiväys:  
Vastaanottaja: Phil Pennock, exim-dev
Aihe: Re: [exim-dev] CentOS 5's old openssl and TLS support
On Sun, May 20, 2012 at 4:32 PM, Phil Pennock <pdp@???> wrote:
> On 2012-05-20 at 08:02 -0700, Todd Lyons wrote:
>> Do we need to add some detection of openssl version or is this also going
>> to be a backwards incompatible change?
> There's some around registering the callback but not around defining the
> content, an oversight. I'll clean it up a little.


Is this possibly one more of those functions that needs a little detection
wrapping?

gcc -c -O -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/usr/include
-I/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DSPF -DSRS
-fpie -DSPF -I../src -I../../src -I../src/srs/src -I../../src/srs/src
-I../../src/srs -std=gnu99 -I. -I/usr/kerberos/include tls.c
In file included from tls.c:97:
tls-openssl.c: In function 'tls_client_start':
tls-openssl.c:1261: warning: implicit declaration of function
'SSL_set_tlsext_host_name'
tls.c: At top level:
tls-openssl.c:49: warning: 'ctx_sni' defined but not used


That results in the link error below:

gcc -o exim -pie acl.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.o
directory.o dns.o drtables.o enq.o exim.o expand.o filter.o filtertest.o
globals.o dkim.o header.o host.o ip.o log.o lss.o match.o moan.o os.o
parse.o queue.o rda.o readconf.o receive.o retry.o rewrite.o rfc2047.o
route.o search.o sieve.o smtp_in.o smtp_out.o spool_in.o spool_out.o
store.o string.o tls.o tod.o transport.o tree.o verify.o lookups/lf_quote.o
lookups/lf_check_file.o lookups/lf_sqlperform.o local_scan.o perl.o
malware.o mime.o regex.o spam.o spool_mbox.o demime.o bmi_spam.o spf.o
srs.o dcc.o version.o \
 routers/routers.a transports/transports.a lookups/lookups.a \
 auths/auths.a pdkim/pdkim.a \
 -lresolv -lnsl -lcrypt -lm    \
 -lpam -ldl -lwrap -ldb -lldap -llber -lsqlite3 -L/usr/lib64/mysql
-lmysqlclient -lpq -lsasl2 \
 -Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE
 /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/auto/DynaLoader/DynaLoader.a
-L/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE -lperl -lresolv
-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -L/usr/kerberos/lib64 -lssl
-lcrypto -ldl -lz   -lpcre -lspf2 -lsrs_alt -L../src -lcompat
tls.o: In function `tls_client_start':
/home/tlyons/RPM/BUILD/exim-4.80_RC4/build-Linux-x86_64/tls-openssl.c:1261:
undefined reference to `SSL_set_tlsext_host_name'
collect2: ld returned 1 exit status
make[1]: *** [exim] Error 1
make[1]: Leaving directory
`/home/tlyons/RPM/BUILD/exim-4.80_RC4/build-Linux-x86_64'
make: *** [all] Error 2


...Todd
--
Always code as if the guy who ends up maintaining your code will be a
violent psychopath who knows where you live. -- Martin Golding