diff options
author | Andreas Schultz <[email protected]> | 2016-01-07 14:14:47 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2016-06-13 22:24:42 +0200 |
commit | 4c4bec1b8ba8bb8f9af0e8bb28725ade5e24adfe (patch) | |
tree | 7d365f4ce6f728417f8cdce03da1e7d2f33f860d /lib/ssl | |
parent | 0c38557bbee3f5cb288e8e1df9a77f2fbf1765d1 (diff) | |
download | otp-4c4bec1b8ba8bb8f9af0e8bb28725ade5e24adfe.tar.gz otp-4c4bec1b8ba8bb8f9af0e8bb28725ade5e24adfe.tar.bz2 otp-4c4bec1b8ba8bb8f9af0e8bb28725ade5e24adfe.zip |
dtls: add implementation for msg sequence
Conflicts:
lib/ssl/src/dtls_connection.erl
lib/ssl/src/ssl_record.erl
Diffstat (limited to 'lib/ssl')
-rw-r--r-- | lib/ssl/src/dtls_connection.erl | 7 | ||||
-rw-r--r-- | lib/ssl/src/ssl_record.erl | 3 | ||||
-rw-r--r-- | lib/ssl/src/ssl_record.hrl | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/lib/ssl/src/dtls_connection.erl b/lib/ssl/src/dtls_connection.erl index e4486d5b56..c5687ef58b 100644 --- a/lib/ssl/src/dtls_connection.erl +++ b/lib/ssl/src/dtls_connection.erl @@ -585,11 +585,6 @@ handle_own_alert(_,_,_, State) -> %% Place holder handle_normal_shutdown(_, _, _State) -> %% Place holder ok. - -sequence(_) -> - %%TODO real imp - 1. - handle_packet(Address, Port, Packet) -> try dtls_record:get_dtls_records(Packet, <<>>) of %% expect client hello @@ -637,3 +632,5 @@ address_to_bin({A,B,C,D}, Port) -> address_to_bin({A,B,C,D,E,F,G,H}, Port) -> <<A:16,B:16,C:16,D:16,E:16,F:16,G:16,H:16,Port:16>>. +sequence(#connection_states{dtls_write_msg_seq = Seq} = CS) -> + {Seq, CS#connection_states{dtls_write_msg_seq = Seq + 1}}. diff --git a/lib/ssl/src/ssl_record.erl b/lib/ssl/src/ssl_record.erl index 2bd282c664..5bb1c92c2d 100644 --- a/lib/ssl/src/ssl_record.erl +++ b/lib/ssl/src/ssl_record.erl @@ -72,7 +72,8 @@ init_connection_states(Role, BeastMitigation) -> ConnectionEnd = record_protocol_role(Role), Current = initial_connection_state(ConnectionEnd, BeastMitigation), Pending = empty_connection_state(ConnectionEnd, BeastMitigation), - #connection_states{current_read = Current, + #connection_states{dtls_write_msg_seq = 1, % only used by dtls + current_read = Current, pending_read = Pending, current_write = Current, pending_write = Pending diff --git a/lib/ssl/src/ssl_record.hrl b/lib/ssl/src/ssl_record.hrl index 87fde35258..a41264ff9b 100644 --- a/lib/ssl/src/ssl_record.hrl +++ b/lib/ssl/src/ssl_record.hrl @@ -46,6 +46,8 @@ }). -record(connection_states, { + dtls_write_msg_seq, %% Only used by DTLS + current_read, pending_read, current_write, |