From a06549fbe59333347232c56093791c0075fcd150 Mon Sep 17 00:00:00 2001 From: Ingela Anderton Andin Date: Fri, 6 Jul 2018 11:14:25 +0200 Subject: ssl: Improve error handling When doing ssl:controlling_process on a ssl socket that has not performed the TLS/DTLS handshake that call will succeed even though the documentation stated otherwise. However if some other ssl option was incorrect the call would hang. Now {error, closed} will be returned in the latter case, which is logical independent on if it should succeed or not in the former case. The former case will continue to succeed, as it is not dependent of the TLS/DTLS connection being established, and the documentation is altered slightly to not explicitly disallow it. If the TLS/DTLS connection later fails and the socket mode is active, the new controlling process will be notified as expected. --- lib/ssl/doc/src/ssl.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/ssl/doc') diff --git a/lib/ssl/doc/src/ssl.xml b/lib/ssl/doc/src/ssl.xml index 6e124c3513..437510b54d 100644 --- a/lib/ssl/doc/src/ssl.xml +++ b/lib/ssl/doc/src/ssl.xml @@ -1516,9 +1516,9 @@ fun(srp, Username :: string(), UserState :: term()) -> to complete handshaking, that is, establishing the SSL/TLS/DTLS connection.

-

The socket returned can only be used with - handshake/[2,3]. - No traffic can be sent or received before that call.

+

Most API functions require that the TLS/DTLS + connection is established to work as expected. +

The accepted socket inherits the options set for ListenSocket in -- cgit v1.2.3