aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/dtls_v1.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2013-09-10 09:52:45 +0200
committerIngela Anderton Andin <[email protected]>2013-09-10 09:52:45 +0200
commit23de86802028de4e1dd2fe8169d4f448c0ac72bc (patch)
treeb2291b45246bdfdcea7e3c9872246ee5bb98e88c /lib/ssl/src/dtls_v1.erl
parent04a107f23732fda1a95d6194fb6395e1c94fc534 (diff)
parent754b87eb181552d67c61c9a80c31ce52e4b39f19 (diff)
downloadotp-23de86802028de4e1dd2fe8169d4f448c0ac72bc.tar.gz
otp-23de86802028de4e1dd2fe8169d4f448c0ac72bc.tar.bz2
otp-23de86802028de4e1dd2fe8169d4f448c0ac72bc.zip
Merge branch 'ia/ssl/dtls-refactor/OTP-11292' into maint
* ia/ssl/dtls-refactor/OTP-11292: ssl: Refactor TLS/DTLS record handling ssl: Dialyzer fixes ssl: Solve rebase issues ssl: DTLS record handling ssl: Add DTLS record primitives ssl: Refactor to provide common handshake functions for TLS/DTLS ssl: Add DTLS handshake primitivs.
Diffstat (limited to 'lib/ssl/src/dtls_v1.erl')
-rw-r--r--lib/ssl/src/dtls_v1.erl43
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/ssl/src/dtls_v1.erl b/lib/ssl/src/dtls_v1.erl
new file mode 100644
index 0000000000..c12e12e424
--- /dev/null
+++ b/lib/ssl/src/dtls_v1.erl
@@ -0,0 +1,43 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2013-2013. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+-module(dtls_v1).
+
+-include("ssl_cipher.hrl").
+
+-export([suites/1, mac_hash/7, ecc_curves/1, corresponding_tls_version/1]).
+
+-spec suites(Minor:: 253|255) -> [cipher_suite()].
+
+suites(Minor) ->
+ tls_v1:suites(corresponding_minor_tls_version(Minor)).
+
+mac_hash(Version, MacAlg, MacSecret, SeqNo, Type, Length, Fragment) ->
+ tls_v1:mac_hash(MacAlg, MacSecret, SeqNo, Type, Version,
+ Length, Fragment).
+
+ecc_curves({_Major, Minor}) ->
+ tls_v1:ecc_curves(corresponding_minor_tls_version(Minor)).
+
+corresponding_tls_version({254, Minor}) ->
+ {3, corresponding_minor_tls_version(Minor)}.
+
+corresponding_minor_tls_version(255) ->
+ 2;
+corresponding_minor_tls_version(253) ->
+ 3.