openssl/doc/ssl
Matt Caswell ff75a25749 Refactor the async wait fd logic
Implementation experience has shown that the original plan for async wait
fds was too simplistic. Originally the async logic created a pipe internally
and user/engine code could then get access to it via API calls. It is more
flexible if the engine is able to create its own fd and provide it to the
async code.

Another issue is that there can be a lot of churn in the fd value within
the context of (say) a single SSL connection leading to continually adding
and removing fds from (say) epoll. It is better if we can provide some
stability of the fd value across a whole SSL connection. This is
problematic because an engine has no concept of an SSL connection.

This commit refactors things to introduce an ASYNC_WAIT_CTX which acts as a
proxy for an SSL connection down at the engine layer.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-29 12:58:44 +00:00
..
d2i_SSL_SESSION.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
DTLSv1_listen.pod Update DTLSv1_listen documentation 2016-02-05 20:47:36 +00:00
OPENSSL_init_ssl.pod OPENSSL_init_ssl.pod: fix minor typo 2016-02-16 22:49:23 +01:00
SSL_accept.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_alert_type_string.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_check_chain.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CIPHER_get_name.pod GH528: "cipher -v" output is confusing. 2016-01-11 18:54:49 -05:00
SSL_clear.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_COMP_add_compression_method.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CONF_cmd_argv.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CONF_cmd.pod Update documentation of SSL METHODs and ciphers 2016-02-23 18:14:01 -05:00
SSL_CONF_CTX_new.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CONF_CTX_set1_prefix.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CONF_CTX_set_flags.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CONF_CTX_set_ssl_ctx.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_connect.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_add1_chain_cert.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_add_extra_chain_cert.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_add_session.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_config.pod SSL configuration module docs 2015-12-22 15:14:14 +00:00
SSL_CTX_ctrl.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_dane_enable.pod Suppress DANE TLSA reflection when verification fails 2016-02-08 14:46:09 -05:00
SSL_CTX_flush_sessions.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_free.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_get0_param.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_get_verify_mode.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_load_verify_locations.pod RT4354: Add some cross-refs 2016-02-27 18:58:56 -05:00
SSL_CTX_new.pod Update documentation of SSL METHODs and ciphers 2016-02-23 18:14:01 -05:00
SSL_CTX_sess_number.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_sess_set_cache_size.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_sess_set_get_cb.pod constify PACKET 2016-02-01 16:21:57 +01:00
SSL_CTX_sessions.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_set1_curves.pod Remove SSL_{CTX_}set_ecdh_auto() and always enable ECDH 2015-12-04 22:30:36 +01:00
SSL_CTX_set1_sigalgs.pod GH601: Various spelling fixes. 2016-02-05 15:25:50 -05:00
SSL_CTX_set1_verify_cert_store.pod The functions take a SSL *, not a SSL_CTX * 2015-12-23 22:30:31 +01:00
SSL_CTX_set_cert_cb.pod Turn B<...()> into ...() 2015-11-21 11:50:01 -05:00
SSL_CTX_set_cert_store.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_set_cert_verify_callback.pod Remove SSLeay history, etc., from docs 2015-10-28 17:23:51 -04:00
SSL_CTX_set_cipher_list.pod Remove support for all 40 and 56 bit ciphers. 2015-12-05 17:45:59 +01:00
SSL_CTX_set_client_CA_list.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_set_client_cert_cb.pod Turn B<...()> into ...() 2015-11-21 11:50:01 -05:00
SSL_CTX_set_custom_cli_ext.pod Custom extension documentation. 2014-08-28 17:06:53 +01:00
SSL_CTX_set_default_passwd_cb.pod Fix SSL_use_certificate_chain_file 2015-11-10 23:02:44 +00:00
SSL_CTX_set_generate_session_id.pod Remove SSLeay history, etc., from docs 2015-10-28 17:23:51 -04:00
SSL_CTX_set_info_callback.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_set_max_cert_list.pod Remove SSLeay history, etc., from docs 2015-10-28 17:23:51 -04:00
SSL_CTX_set_min_proto_version.pod Make SSL{_CTX,}_{get,set,clear}_options functions 2016-01-11 10:51:02 -05:00
SSL_CTX_set_mode.pod RT4292: Remove ===== line 2016-02-05 12:47:46 -05:00
SSL_CTX_set_msg_callback.pod Fix typo in SSL_CTX_set_msg_callback docs 2016-02-18 14:12:19 -05:00
SSL_CTX_set_options.pod Make SSL{_CTX,}_{get,set,clear}_options functions 2016-01-11 10:51:02 -05:00
SSL_CTX_set_psk_client_callback.pod add initial support for RFC 4279 PSK SSL ciphersuites 2006-03-10 23:06:27 +00:00
SSL_CTX_set_quiet_shutdown.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_set_read_ahead.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_set_security_level.pod Fixed typo in the SSL_CTX_set_security_level 2016-01-22 14:58:04 -05:00
SSL_CTX_set_session_cache_mode.pod Remove SSLeay history, etc., from docs 2015-10-28 17:23:51 -04:00
SSL_CTX_set_session_id_context.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_set_ssl_version.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_set_timeout.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_set_tlsext_status_cb.pod Add some documentation for the OCSP callback functions 2015-12-27 21:59:04 +00:00
SSL_CTX_set_tlsext_ticket_key_cb.pod Remove SSLeay history, etc., from docs 2015-10-28 17:23:51 -04:00
SSL_CTX_set_tmp_dh_callback.pod Always generate DH keys for ephemeral DH cipher suites. 2015-12-23 22:26:31 +00:00
SSL_CTX_set_verify.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_CTX_use_certificate.pod RT4354: Add some cross-refs 2016-02-27 18:58:56 -05:00
SSL_CTX_use_psk_identity_hint.pod RT2518: fix pod2man errors 2014-09-08 11:18:30 -04:00
SSL_CTX_use_serverinfo.pod GH297: Fix NAME section of SSL_CTX_use_serverinfo.pod 2015-06-23 08:19:06 -04:00
SSL_do_handshake.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_free.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_all_async_fds.pod Refactor the async wait fd logic 2016-02-29 12:58:44 +00:00
SSL_get_ciphers.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_client_CA_list.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_client_random.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_current_cipher.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_default_timeout.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_error.pod Tweak async documentation based on feedback 2015-11-20 23:35:19 +00:00
SSL_get_extms_support.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_fd.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_peer_cert_chain.pod Clarify resumed sessions and NULL return. 2016-02-08 02:35:51 +00:00
SSL_get_peer_certificate.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_psk_identity.pod add initial support for RFC 4279 PSK SSL ciphersuites 2006-03-10 23:06:27 +00:00
SSL_get_rbio.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_session.pod Doc fixes suggested by Claus Assmann 2016-01-27 02:02:22 -05:00
SSL_get_shared_sigalgs.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_SSL_CTX.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_verify_result.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_get_version.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_library_init.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
SSL_load_client_CA_file.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_new.pod Add SSL_up_ref() and SSL_CTX_up_ref() 2016-01-26 13:19:10 +00:00
SSL_pending.pod Remove SSLeay history, etc., from docs 2015-10-28 17:23:51 -04:00
SSL_read.pod Remove some SSLv2 references 2015-10-30 09:17:22 +00:00
SSL_rstate_string.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_SESSION_free.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_SESSION_get_time.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_SESSION_has_ticket.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_session_reused.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_set1_host.pod DANE documentation typos 2016-01-06 14:15:12 -05:00
SSL_set_bio.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_set_connect_state.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_set_fd.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_set_session.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_set_shutdown.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_set_verify_result.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_shutdown.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_state_string.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_want.pod Fix L<> content in manpages 2015-08-21 15:11:50 -04:00
SSL_write.pod Remove some SSLv2 references 2015-10-30 09:17:22 +00:00
ssl.pod GH753: More spelling fix 2016-02-27 10:58:16 -05:00