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

Reply via email to