[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: core dumps with slapd, TLS, and solaris 8



urg.

well, I've been busy recompiling things today. I've had to recompile both
openldap, AND openssl, statically, and with -g, and no -O, so I can
attempt to debug this thing.

And I just discovered that openssl has some incredibly irritating
structure.
Like SSLv23_method(), which gets called from 
ldap_pvt_tls_init_def_ctx() just before the place that slapd coredumps
on me.
 
Taking a closer look,
   SSL_METHOD *SSLv23_method(void){
    	static int init=1;
    	static SSL_METHOD SSLv23_data;
   ....    
                memcpy((char *)&SSLv23_data,(char *)sslv23_base_method(),
                        sizeof(SSL_METHOD));
   }

which proceeds to do a memcpy on the STATIC STRUCT here, and return
the struct.
Why the hell couldn't it use malloc() or something???

because oddly enough, with gcc 2.95.2, solaris 8 intel, gdb seems to be
telling me that the address of this library static struct is 0x0.

Which is odd, because I would presume that accessing this beasty would
generate a segfault. 

I suppose this belongs on -devel more, but this is where I'm subscribed to
right now. I wasnt really intending to become an openldap developer.