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
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
SSL_alert_type_string.pod
SSL_check_chain.pod
SSL_CIPHER_get_name.pod GH528: "cipher -v" output is confusing. 2016-01-11 18:54:49 -05:00
SSL_clear.pod
SSL_COMP_add_compression_method.pod
SSL_CONF_cmd_argv.pod
SSL_CONF_cmd.pod Update documentation of SSL METHODs and ciphers 2016-02-23 18:14:01 -05:00
SSL_CONF_CTX_new.pod
SSL_CONF_CTX_set1_prefix.pod
SSL_CONF_CTX_set_flags.pod
SSL_CONF_CTX_set_ssl_ctx.pod
SSL_connect.pod
SSL_CTX_add1_chain_cert.pod
SSL_CTX_add_extra_chain_cert.pod
SSL_CTX_add_session.pod
SSL_CTX_config.pod SSL configuration module docs 2015-12-22 15:14:14 +00:00
SSL_CTX_ctrl.pod
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
SSL_CTX_free.pod
SSL_CTX_get0_param.pod
SSL_CTX_get_verify_mode.pod
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
SSL_CTX_sess_set_cache_size.pod
SSL_CTX_sess_set_get_cb.pod constify PACKET 2016-02-01 16:21:57 +01:00
SSL_CTX_sessions.pod
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
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
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
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
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
SSL_CTX_set_quiet_shutdown.pod
SSL_CTX_set_read_ahead.pod
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
SSL_CTX_set_ssl_version.pod
SSL_CTX_set_timeout.pod
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
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
SSL_CTX_use_serverinfo.pod
SSL_do_handshake.pod
SSL_free.pod
SSL_get_all_async_fds.pod Refactor the async wait fd logic 2016-02-29 12:58:44 +00:00
SSL_get_ciphers.pod
SSL_get_client_CA_list.pod
SSL_get_client_random.pod
SSL_get_current_cipher.pod
SSL_get_default_timeout.pod
SSL_get_error.pod Tweak async documentation based on feedback 2015-11-20 23:35:19 +00:00
SSL_get_extms_support.pod
SSL_get_fd.pod
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
SSL_get_psk_identity.pod
SSL_get_rbio.pod
SSL_get_session.pod Doc fixes suggested by Claus Assmann 2016-01-27 02:02:22 -05:00
SSL_get_shared_sigalgs.pod
SSL_get_SSL_CTX.pod
SSL_get_verify_result.pod
SSL_get_version.pod
SSL_library_init.pod Rename INIT funtions, deprecate old ones. 2016-02-10 09:37:03 -05:00
SSL_load_client_CA_file.pod
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
SSL_SESSION_free.pod
SSL_SESSION_get_time.pod
SSL_SESSION_has_ticket.pod
SSL_session_reused.pod
SSL_set1_host.pod DANE documentation typos 2016-01-06 14:15:12 -05:00
SSL_set_bio.pod
SSL_set_connect_state.pod
SSL_set_fd.pod
SSL_set_session.pod
SSL_set_shutdown.pod
SSL_set_verify_result.pod
SSL_shutdown.pod
SSL_state_string.pod
SSL_want.pod
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