<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""></div><div apple-content-edited="true" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">--</div><div class="">-Todd Short</div><div class="">// <a href="mailto:tshort@akamai.com" class="">tshort@akamai.com</a></div><div class="">// “One if by land, two if by sea, three if by the Internet."</div></div>
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Feb 27, 2015, at 3:14 PM, Short, Todd via RT <<a href="mailto:rt@openssl.org" class="">rt@openssl.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Hello OpenSSL Org:<br class=""><br class="">This is a change that Akamai has made to its implementation of OpenSSL.<br class=""><br class="">Version: master branch<br class="">Description: Patch/Feature to add asynchronous processing for some operations<br class=""><br class="">This change rebrands SSL_ERROR_WANT_X509_LOOKUP to be SSL_ERROR_WANT_EVENT, making an event type to wait for visible in SSL->rwstate and letting TLS_SRP have its own event type instead of piggybacking on SSL_X509_LOOKUP. This also adds events for for decryption of client key exchange response, generating client certificate verify message and signing of server key exchange message. these typically long-duration RSA operations. The events are:<br class=""><br class=""># define SSL_MIN_EVENT                    1000<br class="">/* client is deciding which cert to present - doesn't follow MIN */<br class=""># define SSL_EVENT_X509_LOOKUP            SSL_X509_LOOKUP<br class="">/* server is processing TLS SRP client hello */<br class=""># define SSL_EVENT_SRP_CLIENTHELLO        1000<br class="">/* server is waiting for decryption of key */<br class=""># define SSL_EVENT_KEY_EXCH_DECRYPT_DONE  1001<br class="">/* client is waiting for cert verify setup */<br class=""># define SSL_EVENT_SETUP_CERT_VRFY_DONE   1002<br class="">/* server is siging the message for key exchange */<br class=""><br class="">New APIs:<br class="">void SSL_CTX_set_schedule_task_cb(SSL_CTX *ctx, SSL_schedule_task_cb cb);<br class="">int SSL_signal_event(const SSL *ssl, int event, int retcode);<br class="">int SSL_signal_event_err(const SSL *ssl, int event, int func, int reason, const char *file, int line);<br class="">int SSL_want_event(const SSL *ssl);<br class=""><br class="">Github link:<br class=""><a href="https://github.com/akamai/openssl/commit/e4fa5107524bb5e6e4c79953d436b7e59ee6c5e2" class="">https://github.com/akamai/openssl/commit/e4fa5107524bb5e6e4c79953d436b7e59ee6c5e2</a><br class=""><br class="">And attachment.<br class=""><br class="">Thank you.<br class="">--<br class="">-Todd Short<br class="">// tshort@akamai.com<br class="">// “One if by land, two if by sea, three if by the Internet."<br class=""><br class=""><span id="cid:6567C5D4-752B-411C-B64A-1D17AC6A5479"><0004-Rebranding-of-SSL_ERROR_WANT_X509_LOOKUP-as-SSL_ERRO.patch></span>_______________________________________________<br class="">openssl-dev mailing list<br class="">To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev<br class=""></div></blockquote></div><br class=""></body></html>