openssl/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
..
record Remove unused parameters from internal functions 2016-02-22 13:39:44 -05:00
statem GH742: keep gost specific variable under macro 2016-02-25 08:42:55 -05:00
bio_ssl.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
build.info Update build.info files for auto-init/de-init 2016-02-09 15:11:38 +00:00
d1_lib.c Remove unused parameters from internal functions 2016-02-22 13:39:44 -05:00
d1_msg.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
d1_srtp.c Add new DTLS-SRTP protection profiles from RFC 7714 2016-02-04 22:52:21 +00:00
Makefile.in Always build library object files with shared library cflags 2016-02-20 16:51:31 +01:00
methods.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
packet_locl.h constify PACKET 2016-02-01 16:21:57 +01:00
pqueue.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
s3_cbc.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
s3_enc.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
s3_lib.c Remove unused parameter in ssl_set_masks(). 2016-02-24 02:41:54 +00:00
s3_msg.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
ssl_asn1.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
ssl_cert.c Fix MacOS/X build warnings 2016-02-11 13:53:39 -05:00
ssl_ciph.c GH715: ENGINE_finish can take NULL 2016-02-25 15:19:42 -05:00
ssl_conf.c Remove outdated DEBUG flags. 2016-02-18 17:14:50 -05:00
ssl_err.c GH235: Set error status on malloc failure 2016-02-25 08:37:36 -05:00
ssl_init.c Hide OPENSSL_INIT_SETTINGS. 2016-02-11 08:43:46 -05:00
ssl_lib.c Refactor the async wait fd logic 2016-02-29 12:58:44 +00:00
ssl_locl.h Refactor the async wait fd logic 2016-02-29 12:58:44 +00:00
ssl_mcnf.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
ssl_rsa.c TLS support for X25519 2016-02-28 22:54:54 +00:00
ssl_sess.c Move to REF_DEBUG, for consistency. 2016-02-11 12:40:32 -05:00
ssl_stat.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
ssl_txt.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
ssl_utst.c Fix build-break 2016-02-15 10:17:12 -05:00
t1_enc.c GH735: remove unnecessary allocation 2016-02-23 11:33:57 -05:00
t1_ext.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00
t1_lib.c TLS support for X25519 2016-02-28 22:54:54 +00:00
t1_reneg.c Remove outdated DEBUG flags. 2016-02-18 17:14:50 -05:00
t1_trce.c Fix the enable-ssl-trace config option 2016-02-12 10:06:45 +00:00
tls_srp.c Remove /* foo.c */ comments 2016-01-26 16:40:43 -05:00