[EMAIL PROTECTED] wrote:
Hi,
I am using openssl-0.9.8.
I have a non-blocking multi-threaded application running as a proxy and I am
using BIO pairs and a filter (SSL)BIO for doing the SSL part ( similar to
ssltest.c ).
Since I want to be able to allow both sslv3 and tlsv1, I am passing
SSLv23_server_method to SSL_CTX_new.
In my application, I am calling BIO_ctrl_pending on the SSL BIO and this in
turn calls the ssl_pending function pointer and this pointer is initialized to
ssl_undefined_const_function for SSLv23_server_method.
The result is that an error gets generated in the current thread's error queue,
in spite of BIO_ctrl_pending returning the correct value and my BIO_read fails
at a later ( random ) time due to the above error.
I have set both the static and dynamic locking callbacks using
CRYPTO_set_locking_callback and CRYPTO_set_dynlock_lock_callback.
I wanted to know why is ssl_pending initialized to ssl_undefined_const_function
for SSLv23_server_method?
but it is defined correctly for SSLv3_server_method and TLSv1_server_method?
I believe that ssl23 doesn't do the SSL stuff completely, just enough to
read the Client Hello message and figure out which protocol is being
talked, then it switches over to the appropriate <Protocol>_server_method().
From your error it seems that phase is still not over.
-jb
--
I used to think I was indecisive, but now I'm not so sure.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager [EMAIL PROTECTED]