doing ./config no-comp ; make on OpenSSL 0.9.8n I get this:
gcc -I../crypto -I.. -I../include -DDSO_DLFCN -DHAVE_DLFCN_H -m64
-DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_BN_ASM_MONT
-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -c -o s23_clnt.o
s23_clnt.c
s23_clnt.c: In function 'ssl23_client_hello':
s23_clnt.c:375: error: 'j' undeclared (first use in this function)
s23_clnt.c:375: error: (Each undeclared identifier is reported only once
s23_clnt.c:375: error: for each function it appears in.)
s23_clnt.c:381: error: 'comp' undeclared (first use in this function)
make[1]: *** [s23_clnt.o] Error 1
Looking closer, the variables j and comp are in a preprocessor block:
#ifndef OPENSSL_NO_COMP
int j;
SSL_COMP *comp;
#endif
at line 209 of s23_clnt.c
Comparing to a 0.9.8l (which works), it looks like the #ifndef is new, as
0.9.8l had these declared without the preprocessor wrappings:
static int ssl23_client_hello(SSL *s)
{
unsigned char *buf;
unsigned char *p,*d;
int i,j,ch_len;
unsigned long Time,l;
int ssl2_compat;
int version = 0, version_major, version_minor;
SSL_COMP *comp;
int ret;
Any reason not to remove the preprocessor #ifndef from 0.9.8n?
Thanks,
Jeff