Hi,
I am trying to use SSL_accept on vxWorks 5.5 (Pentium). But when the SSL
client sends the initial handshake message (Client Hello),
then SSL_accept returns failure with error as SSL_ERROR_WANT_READ.

The same code works fine when used on Linux platform and handshake completes
successfully.

On server side, when select returns success, TCP accept is called and
finally SSL_accept is called.
the following snippet shows the code flow:

pSslCtx = SSL_CTX_new(TLSv1_method());


...
SSL_set_accept_state(pSsl);
dRetVal = SSL_accept(pSsl);
                   ssl3_accept
                       ssl3_get_client_hello
                          ssl3_get_message
                                ssl3_read_bytes
                                     ssl3_get_record
                                           ssl3_read_n
                                                  BIO_read


The function SSL_accept internally calls ssl3_get_client_hello, and finally
function BIO_read is called to read the Hello message. This function returns
failure while reading.

If I use a debugger and browse the exection step by step then everything
works fine. 
Also, if I add some delay (by adding sleep(2)) before BIO_read, then also
everything works fine. 

Please suggest what may be the reason for this. Is something missing in
initilization part ? 
or can I make the call of BIO_read blocking ?


-- 
View this message in context: 
http://www.nabble.com/Problem-in-using-SSL_accept-on-vxWorks-5.5-%28Pentium%29-tp19454074p19454074.html
Sent from the OpenSSL - User mailing list archive at Nabble.com.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to