SSL_CTX_set_mode(3)
SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER
Make it possible to retry SSL_write() with changed buffer
location (the buffer contents must stay the same). This is not the
default to avoid the mis-
conception that non-blocking SSL_write() behaves like
non-blocking write().
What is that all about ? My application makes no guarantee what the
exact address given to SSL_write() is, it only guarantees the first so
many bytes are my valid data. Why do I need to give it such guarantees ?
What if I am also using the SSL_MODE_ENABLE_PARTIAL_WRITE, but not using
SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER. Do I have to make sure that the
address I pass to SSL_write() for the 2nd call has exactly the same
memory address offset as the original call ? i.e. if I wrote 32 byte
out of 64 from my static buffer; would I need to call "SSL_write(ssl,
&static_buffer[32], 32);" ?
What are the implementation reasons for these unusual requirements ?
Where can I find the full information about those unusual requirements
and the "This is not the default to avoid the mis-conception that
non-blocking SSL_write() behaves like non-blocking write()." part ?
i.e. What else is going to bite me ? Maybe I can wrap OpenSSL with my
own library that bring back a more friendly interface.
Not my today. My application (appears to) work with OpenSSL, its only
because I am now auditing all the possible what-if scenarios I am
turning up things that might bite me. Help I'm sinking :)
Darryl
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]