Mailing List Archive

[Bug 3038] Conflicting types of tls_in caused by hctx typedef
https://bugs.exim.org/show_bug.cgi?id=3038

--- Comment #1 from Jeremy Harris <jgh146exb@wizmail.org> ---
What is the result? If a failure in compilation please
give compiler versions and the command-line being used
( use make FULLECHO='' )

--
You are receiving this mail because:
You are on the CC list for the bug.

--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-dev.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-dev-unsubscribe@lists.exim.org
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/
[Bug 3038] Conflicting types of tls_in caused by hctx typedef [ In reply to ]
https://bugs.exim.org/show_bug.cgi?id=3038

--- Comment #2 from Michael Tautschnig <mt@debian.org> ---
This fails at link time, and wouldn't be detectable with regular ELF linkers.
The problem was found when using goto-cc (from the CBMC suite of tools), which
performs type-aware linking. Still posting the relevant log section:

[...]
cc -o eximon.bin em_version.o -rdynamic -ldl -pie -L/usr/X11R6/lib64 \
util-spool_in.o util-store.o util-string.o util-queue.o util-tod.o
util-tree.o em_StripChart.o em_TextPop.o em_globals.o em_init.o em_log.o
em_main.o em_menu.o em_queue.o em_strip.o em_text.o em_xs.o -lXaw -lXmu -lXt
-lXext -lX11 -lpcre2-8 \
-lcrypt -lm -L/usr/lib64/nsl -lnsl -lc
reason for conflict at #this.resume_hctx: type classes differ
struct {
hashmethod method;
signed int hashlen;
union u;
}
void *
../exim_monitor/em_globals.c:225:1: error: error: conflicting types for
variable 'tls_in'
old definition in module 'spool_in' file globals.h line 121
struct {
client_conn_ctx active;
signed int bits;
BOOL certificate_verified;
BOOL dane_verified;
signed int tlsa_usage;
uschar * cipher;
const uschar * cipher_stdname;
const uschar * ver;
BOOL on_connect;
unsigned int $pad9;
uschar * on_connect_ports;
void * ourcert;
void * peercert;
uschar * peerdn;
uschar * sni;
uschar * channelbinding;
enum ocsp;
unsigned int $pad17;
hctx resume_hctx;
const uschar * resume_index;
unsigned int resumption;
BOOL : 1 host_resumable;
BOOL : 1 ticket_received;
BOOL : 1 verify_override;
BOOL : 1 ext_master_secret;
unsigned __CPROVER_bitvector[4] : 4 $bit_field_pad23;
unsigned __CPROVER_bitvector[24] $pad26;
}
new definition in module 'em_globals' file ../exim_monitor/em_globals.c line
225
struct {
client_conn_ctx active;
signed int bits;
BOOL certificate_verified;
BOOL dane_verified;
signed int tlsa_usage;
uschar * cipher;
const uschar * cipher_stdname;
const uschar * ver;
BOOL on_connect;
unsigned int $pad9;
uschar * on_connect_ports;
void * ourcert;
void * peercert;
uschar * peerdn;
uschar * sni;
uschar * channelbinding;
enum ocsp;
unsigned int $pad17;
hctx resume_hctx;
const uschar * resume_index;
unsigned int resumption;
BOOL : 1 host_resumable;
BOOL : 1 ticket_received;
BOOL : 1 verify_override;
BOOL : 1 ext_master_secret;
unsigned __CPROVER_bitvector[4] : 4 $bit_field_pad23;
unsigned __CPROVER_bitvector[24] $pad26;
}
tls_support tls_in = {
typechecking main failed
make[1]: *** [Makefile:787: eximon.bin] Error 1

--
You are receiving this mail because:
You are on the CC list for the bug.

--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-dev.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-dev-unsubscribe@lists.exim.org
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/