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]

Reply via email to