On 1/17/2013 12:10 PM, A G wrote:
Hi
Here
http://marc.info/?l=openssl-users&m=124386218929227
It states that

"...This is why it is very important to understand that any possible forward 
progress on any port (and a write operation that returns WANT_READ may have made forward 
progress!) requires you to retry all pending operations on all ports...."

Please beware that this old post by Mr. Schwartz seems to use the word
"port" in an unusual way.  Wherever that post says "port" you should
probably read "API entrypoint", as in "Each SSL_CTX may interact with
the application and/or the socket using any of ? entrypoints, including
SSL_read(), SSL_write() and at least 2 others".

So if your code has provided more bytes for SSL to encrypt (and later
send), or extracted some decrypted bytes from SSL (previously
received) or provided some received (encrypted) bytes from the socket
or sent some (encrypted) bytes from the socket, any of those 4
operations may now be ready for more.

The error codes "WANT_READ" and "WANT_WRITE" help you determine which
of those 4 is most likely ready, but as soon as all 4 API entrypoints
say they can do no more until you provide them with more data/extract
some data from them, then you know that to be true.

Someone please correct me if I got this wrong.

Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2730 Herlev, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to