diff options
author | Ingela Anderton Andin <[email protected]> | 2017-01-26 11:59:11 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2017-03-06 10:34:15 +0100 |
commit | 658aa05997d56c742be1a1126fc921b69d5d06a5 (patch) | |
tree | ba4418d544c1e85d04810c003560f9679f3b6ebe /lib/ssl/src/dtls_socket.erl | |
parent | b089b27a486e7175c1145db61d464922a46cad65 (diff) | |
download | otp-658aa05997d56c742be1a1126fc921b69d5d06a5.tar.gz otp-658aa05997d56c742be1a1126fc921b69d5d06a5.tar.bz2 otp-658aa05997d56c742be1a1126fc921b69d5d06a5.zip |
dtls: DTLS specific handling of socket and ciphers
DTLS does not support stream ciphers and needs diffrent
handling of the "#ssl_socket{}" handle .
Diffstat (limited to 'lib/ssl/src/dtls_socket.erl')
-rw-r--r-- | lib/ssl/src/dtls_socket.erl | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/ssl/src/dtls_socket.erl b/lib/ssl/src/dtls_socket.erl index 570b3ae83a..ac1a7b37c6 100644 --- a/lib/ssl/src/dtls_socket.erl +++ b/lib/ssl/src/dtls_socket.erl @@ -71,11 +71,14 @@ connect(Address, Port, #config{transport_info = {Transport, _, _, _} = CbInfo, close(gen_udp, {_Client, _Socket}) -> ok. +socket(Pid, gen_udp = Transport, {{_, _}, Socket}, ConnectionCb) -> + #sslsocket{pid = Pid, + %% "The name "fd" is keept for backwards compatibility + fd = {Transport, Socket, ConnectionCb}}; socket(Pid, Transport, Socket, ConnectionCb) -> #sslsocket{pid = Pid, %% "The name "fd" is keept for backwards compatibility - fd = {Transport, Socket, ConnectionCb}}. - + fd = {Transport, Socket, ConnectionCb}}. %% Vad göra med emulerade setopts(gen_udp, #sslsocket{pid = {Socket, _}}, Options) -> {SockOpts, _} = tls_socket:split_options(Options), @@ -108,11 +111,15 @@ getstat(gen_udp, {_,Socket}, Options) -> inet:getstat(Socket, Options); getstat(Transport, Socket, Options) -> Transport:getstat(Socket, Options). +peername(udp, _) -> + {error, enotconn}; peername(gen_udp, {_, {Client, _Socket}}) -> {ok, Client}; peername(Transport, Socket) -> Transport:peername(Socket). -sockname(gen_udp, {_,Socket}) -> +sockname(gen_udp, {_, {_,Socket}}) -> + inet:sockname(Socket); +sockname(gen_udp, Socket) -> inet:sockname(Socket); sockname(Transport, Socket) -> Transport:sockname(Socket). |