Hi.

Could someone more knowledgeable with OpenSSL please explain to me exactly how the OpenSSL error information queue (accessed using ERR_get_error(), SSL_get_error() and related APIs) is supposed to be used.

  Is every failing OpenSSL API expected to push something into this queue?

Can a failing OpenSSL API be expected to push more than 1 element into this queue?

Is every OpenSSL API caller expected to check and clear the OpenSSL error information queue afterwards?

Can ERR_get_error() return 0 even if the OpenSSL error information queue is not empty?


I started wandering about whether we interpreted this OpenSSL error information queue management correctly after in one of our applications OpenSSL SSL_read() API returned -1 but did not push corresponding error information into the OpenSSL error information queue (ERR_get_error() returned 0). This happened as an isolated incident on a multiple-user server being tested under heavy load (many clients opening and closing SSL connections, sending and receiving data at the same time).

  Best regards,
    Jurko Gospodnetić
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to