File 2059-Handle-legacy-raw-socket-option.patch of Package erlang

From 06de65805e97d217abcc91975c8efcb0a6a783b2 Mon Sep 17 00:00:00 2001
From: Raimo Niskanen <raimo@erlang.org>
Date: Thu, 25 Jun 2020 08:54:55 +0200
Subject: [PATCH] Handle legacy raw socket option

---
 lib/kernel/src/gen_tcp_socket.erl | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/kernel/src/gen_tcp_socket.erl b/lib/kernel/src/gen_tcp_socket.erl
index 68733ce8e6..dc5fb70c29 100644
--- a/lib/kernel/src/gen_tcp_socket.erl
+++ b/lib/kernel/src/gen_tcp_socket.erl
@@ -588,6 +588,8 @@ conv_setopt(Other) -> Other.
 
 socket_setopt(Socket, {raw, Level, Key, Value}) ->
     socket:setopt(Socket, Level, Key, Value);
+socket_setopt(Socket, {raw, {Level, Key, Value}}) ->
+    socket:setopt(Socket, Level, Key, Value);
 socket_setopt(Socket, {Tag, Value}) ->
     case socket_opt() of
         #{Tag := {Level, Key}} ->
@@ -601,6 +603,8 @@ socket_setopt_value(_Tag, Value) -> Value.
 
 socket_getopt(Socket, {raw, Level, Key, _Placeholder}) ->
     socket:getopt(Socket, Level, Key);
+socket_getopt(Socket, {raw, {Level, Key, _Placeholder}}) ->
+    socket:getopt(Socket, Level, Key);
 socket_getopt(Socket, Tag) when is_atom(Tag) ->
     case socket_opt() of
         #{Tag := {Level, Key}} ->
@@ -637,6 +641,7 @@ start_opts([]) -> [].
 setopt_categories(Opt) ->
     case Opt of
         {raw, _, _, _} -> #{socket => []};
+        {raw, {_, _, _}} -> #{socket => []};
         {Tag, _} -> opt_categories(Tag);
         _ -> ignore
     end.
@@ -644,6 +649,7 @@ setopt_categories(Opt) ->
 getopt_categories(Opt) ->
     case Opt of
         {raw, _, _, _} -> #{socket => []};
+        {raw, {_, _, _}} -> #{socket => []};
         _ -> opt_categories(Opt)
     end.
 
-- 
2.26.2

openSUSE Build Service is sponsored by