File 0230-ssl-Correct-DTLS-client-close-handling.patch of Package erlang

From 09fce86de093ff00d59f86ec01439dc210789425 Mon Sep 17 00:00:00 2001
From: Ingela Anderton Andin <ingela@erlang.org>
Date: Wed, 6 Dec 2017 11:26:03 +0100
Subject: [PATCH 1/2] ssl: Correct DTLS client close handling

---
 lib/ssl/src/dtls_connection.erl | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/ssl/src/dtls_connection.erl b/lib/ssl/src/dtls_connection.erl
index 55091c0219..6f22b60136 100644
--- a/lib/ssl/src/dtls_connection.erl
+++ b/lib/ssl/src/dtls_connection.erl
@@ -143,10 +143,16 @@ next_record(#state{role = server,
     dtls_udp_listener:active_once(Listener, Client, self()),
     {no_record, State};
 next_record(#state{role = client,
-		   socket = {_Server, Socket},
+		   socket = {_Server, Socket} = DTLSSocket,
+                   close_tag = CloseTag,
 		   transport_cb = Transport} = State) -> 
-    dtls_socket:setopts(Transport, Socket, [{active,once}]),
-    {no_record, State};
+    case dtls_socket:setopts(Transport, Socket, [{active,once}]) of
+        ok ->
+ 	    {no_record, State};
+ 	_ ->
+            self() ! {CloseTag, DTLSSocket},
+	    {no_record, State}
+    end;
 next_record(State) ->
     {no_record, State}.
 
-- 
2.15.1

openSUSE Build Service is sponsored by