Hi all,
I'm seeing weird OpenSSL behaviour and I suspect it's a bug in the library.
The problem is that SSL_write() sometimes returns SSL_ERROR_SSL with
errno equal to EAGAIN. Calling SSL_write() again seems to solve the
problem. I have the impression that SSL_write() should return
SSL_ERROR_WANT_WRITE in this situation.
Please take note that it's very difficult to reproduce the error. I
observe it only when sending a particular buffer over SSL and only for
some percentage of the tries. With other buffers, everything works
ordinarily.
Here is some more information about the error.
* the error queue contains "rsa routines:RSA_verify:wrong signature
length" and "asn1 encoding routines:ASN1_item_verify:EVP lib".
* the underlying socket is blocking
* I'm using OpenSSL 0.9.8h and Linux 2.6.18
Detailed information about the return values:
SSL_write() returned -1
SSL_get_error() returned 1
// the above corresponds to SSL_ERROR_SSL ("A failure in the SSL library
occurred, usually a protocol error. The OpenSSL error queue contains
more information on the error.")
ERR_get_error() returned 67596407
ERR_error_string() returned error:04077077:rsa routines:RSA_verify:wrong
signature length
ERR_get_error() returned 218910726
ERR_error_string() returned error:0D0C5006:asn1 encoding
routines:ASN1_item_verify:EVP lib
ERR_get_error() returned 0
errno is 11 // which corresponds to EAGAIN
Regards,
Aleksander Korzynski
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]