Skip to content

Commit 254bb46

Browse files
dinosaurehannesm
authored andcommitted
Implement sub_equal on strings
1 parent aa4c0cd commit 254bb46

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

lib/handshake_client.ml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,8 @@ let answer_server_hello state (ch : client_hello) sh secrets raw log =
141141

142142
let* () =
143143
if max_protocol_version state.config.protocol_versions = `TLS_1_3 then
144-
let piece = String.sub sh.server_random 24 8 in
145-
let* () = guard (not (String.equal Packet.downgrade12 piece)) (`Fatal `Downgrade12) in
146-
guard (not (String.equal Packet.downgrade11 piece)) (`Fatal `Downgrade11)
144+
let* () = guard (not (Utils.sub_equal ~off:24 ~len:8 Packet.downgrade12 sh.server_random)) (`Fatal `Downgrade12) in
145+
guard (not (Utils.sub_equal ~off:24 ~len:8 Packet.downgrade11 sh.server_random)) (`Fatal `Downgrade11)
147146
else
148147
Ok ()
149148
in

lib/utils.ml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,6 @@ let rec first_match l1 = function
3535
| [] -> None
3636
| x::_ when List.mem x l1 -> Some x
3737
| _::xs -> first_match l1 xs
38+
39+
let sub_equal ~off ~len v x =
40+
v = String.sub x off len

0 commit comments

Comments
 (0)