aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/ssl_internal.hrl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2014-04-28 23:01:21 +0200
committerIngela Anderton Andin <[email protected]>2014-05-09 11:14:14 +0200
commitc80735b0c82ec0bbaa2e2bda4f1598210b193556 (patch)
treebdca3c192b6441e1da1ecffe6a996482d889d352 /lib/ssl/src/ssl_internal.hrl
parent138bdae063206223bb35258780e0ec1b4301967b (diff)
downloadotp-c80735b0c82ec0bbaa2e2bda4f1598210b193556.tar.gz
otp-c80735b0c82ec0bbaa2e2bda4f1598210b193556.tar.bz2
otp-c80735b0c82ec0bbaa2e2bda4f1598210b193556.zip
ssl: Handle socket option inheritance when pooling of accept sockets is used
Implement a listen socket tracker process that holds the emulated socket options so that it is possible to implement a destructive ssl:setopts on SSL/TLS listen sockets without changing the options of the internal socket as we want that socket to have the internal socket option values.
Diffstat (limited to 'lib/ssl/src/ssl_internal.hrl')
-rw-r--r--lib/ssl/src/ssl_internal.hrl17
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/ssl/src/ssl_internal.hrl b/lib/ssl/src/ssl_internal.hrl
index 8bf5b30a83..fd0d87bd5f 100644
--- a/lib/ssl/src/ssl_internal.hrl
+++ b/lib/ssl/src/ssl_internal.hrl
@@ -116,14 +116,6 @@
honor_cipher_order = false
}).
--record(config, {ssl, %% SSL parameters
- inet_user, %% User set inet options
- emulated, %% #socket_option{} emulated
- inet_ssl, %% inet options for internal ssl socket
- transport_info, %% Callback info
- connection_cb
- }).
-
-record(socket_options,
{
mode = list,
@@ -133,6 +125,15 @@
active = true
}).
+-record(config, {ssl, %% SSL parameters
+ inet_user, %% User set inet options
+ emulated, %% Emulated option list or "inherit_tracker" pid
+ inet_ssl, %% inet options for internal ssl socket
+ transport_info, %% Callback info
+ connection_cb
+ }).
+
+
-type state_name() :: hello | abbreviated | certify | cipher | connection.
-type gen_fsm_state_return() :: {next_state, state_name(), term()} |
{next_state, state_name(), term(), timeout()} |