Inject ClientHello - TLS 1.2 good (for reference) depends_on:0:1:2:3:4:5:6:7 75:exp:0:exp:1:hex:"16030300370100003303030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef000002c02b01000008000a000400020017":char*:"<= parse client hello":int:0 Inject ClientHello - TLS 1.2 unknown ciphersuite (for reference) depends_on:0:1:2:3:4:5:6:7 75:exp:0:exp:1:hex:"160303002f0100002b03030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef000002cccc01000000":char*:"got no ciphersuites in common":exp:2 Inject ClientHello - TLS 1.3 good (for reference) depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"160303004c0100004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"key exchange mode\: ephemeral":int:0 Inject ClientHello - TLS 1.3 unknown ciphersuite (for reference) depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"160303004c0100004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef000002cccc0100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"No matched ciphersuite":exp:2 Inject ClientHello - TLS 1.3 4 + 71 then EOF (missing 1 byte) depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"160303000401000048160303004703030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d0004000204030033000200":char*:"waiting for more handshake fragments":exp:3 Inject ClientHello - TLS 1.3 4 then EOF (missing 72 bytes) depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"160303000401000048":char*:"waiting for more handshake fragments":exp:3 Inject ClientHello - TLS 1.3 fragmented 4 + 72 OK depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"160303000401000048160303004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"key exchange mode\: ephemeral":int:0 Inject ClientHello - TLS 1.3 fragmented 3 + 73 rejected depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"160303000301000016030300494803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"handshake message too short":exp:4 Inject ClientHello - TLS 1.3 fragmented 2 + 74 rejected depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"16030300020100160303004a004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"handshake message too short":exp:4 Inject ClientHello - TLS 1.3 fragmented 1 + 75 rejected depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"160303000101160303004b00004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"handshake message too short":exp:4 Inject ClientHello - TLS 1.3 fragmented 0 + 76 rejected depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"1603030000160303004c0100004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"ssl_get_next_record() returned":exp:4 Inject ClientHello - TLS 1.3 fragmented 72 + 4 OK depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"16030300480100004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d0004000204030033160303000400020000":char*:"key exchange mode\: ephemeral":int:0 Inject ClientHello - TLS 1.3 fragmented 73 + 3 OK depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"16030300490100004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d0004000204030033001603030003020000":char*:"key exchange mode\: ephemeral":int:0 Inject ClientHello - TLS 1.3 fragmented 74 + 2 OK depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"160303004a0100004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d0004000204030033000216030300020000":char*:"key exchange mode\: ephemeral":int:0 Inject ClientHello - TLS 1.3 fragmented 73 + 1 OK depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"160303004b0100004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d0004000204030033000200160303000100":char*:"key exchange mode\: ephemeral":int:0 Inject ClientHello - TLS 1.3 fragmented 4 + appdata + 72 rejected depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"16030300040100004817030300020102160303004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"non-handshake message in the middle of a fragmented handshake message":exp:5 Inject ClientHello - TLS 1.3 fragmented 4 + alert(warn) + 72 rejected depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"1603030004010000481503030002015a160303004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"non-handshake message in the middle of a fragmented handshake message":exp:5 Inject ClientHello - TLS 1.3 fragmented 4 + alert(fatal) + 72 rejected depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"1603030004010000481503030002025a160303004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"non-handshake message in the middle of a fragmented handshake message":exp:5 Inject ClientHello - TLS 1.3 fragmented 4 + CCS + 72 rejected depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"160303000401000048140303000101160303004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"non-handshake message in the middle of a fragmented handshake message":exp:5 Inject ClientHello - TLS 1.3 fragmented 4 + invalid type + 72 rejected depends_on:8:9:2:3:4:5:6:10:11 75:exp:0:exp:1:hex:"1603030004010000481003030002015a160303004803030123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef00000213010100001d000a000400020017002b0003020304000d000400020403003300020000":char*:"unknown record type":exp:4 Send large fragmented ClientHello: reassembled 1 byte larger than the buffer 76:exp:6:int:0:char*:"requesting more data than fits":exp:7 Send large fragmented ClientHello: would just fit except for overhead 76:exp:8:int:0:char*:"requesting more data than fits":exp:7 Send large fragmented ClientHello: would fit except for overhead (1) 76:exp:9:int:0:char*:"requesting more data than fits":exp:7 Send large fragmented ClientHello: would fit except for overhead (2) 76:exp:10:int:0:char*:"requesting more data than fits":exp:7 Send large fragmented ClientHello: would fit except for overhead (3) 76:exp:11:int:0:char*:"requesting more data than fits":exp:7 Send large fragmented ClientHello: would fit except for overhead (4) 76:exp:12:int:0:char*:"requesting more data than fits":exp:7 Send large fragmented ClientHello: just fits 76:exp:13:int:0:char*:"Unsupported version of TLS":exp:14 Send large fragmented ClientHello: length doesn't fit in two bytes 76:int:0x10000:int:0:char*:"requesting more data than fits":exp:7