Package: cone
Version: 0.89-1
Usertags: goto-cc

During a rebuild of all packages in a clean sid chroot (and cowbuilder+pbuilder)
the build failed with the following error. Please note that we use our research
compiler tool-chain (using tools from the cbmc package), which permits extended
reporting on type inconsistencies at link time.

[...]
libtool: link: gcc -I./.. -I.. -Wall -g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -Wl,-z 
-Wl,relro -o couriertls starttls.o argparse.o  ./.libs/libcouriertls.a -lssl 
-lcrypto ./.libs/libspipe.a ../rfc1035/librfc1035.a ../md5/.libs/libmd5.a 
../random128/.libs/librandom128.a ../numlib/.libs/libnumlib.a 
../liblock/.libs/liblock.a ../soxwrap/libsoxwrap.a

error: conflicting function declarations "tls_create"
old definition in module starttls file libcouriertls.h line 187
struct ssl_context_t * (signed int, const struct tls_info *)
new definition in module libcouriertls file libcouriertls.c line 480
struct ssl_ctx_st * (signed int isserver, struct tls_info *info)

Note that the above is the result of expanding typedefs, which sheds light on
the actual source:

http://sources.debian.net/src/cone/0.89-1/tcpd/libcouriertls.h?hl=187#L187
http://sources.debian.net/src/cone/0.89-1/tcpd/libcouriertls.c?hl=480#L480

It seems that the starttls module will expect that Courier's internal struct
will be returned:

http://sources.debian.net/src/cone/0.89-1/tcpd/libcouriergnutls.c?hl=158#L158

Whereas the actual implementation will return an OpenSSL struct:

http://sources.debian.net/src/openssl/1.0.1f-1/ssl/ssl.h?hl=778#L778

Good luck!!!

Best,
Michael

Attachment: pgpGG6MGsWjqu.pgp
Description: PGP signature

Reply via email to