From 6fa6482162da9a7fba5adcca31ded6f90b88fd61 Mon Sep 17 00:00:00 2001 From: Muaz Ahmad Date: Tue, 27 Feb 2024 13:04:25 +0500 Subject: [PATCH] fix for improper handshake conclusion --- srt/protocol.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/srt/protocol.go b/srt/protocol.go index 5231444..0857a1b 100644 --- a/srt/protocol.go +++ b/srt/protocol.go @@ -146,8 +146,12 @@ func (agent *SRTManager) create_conclusion_resp() (*Packet) { func (agent *SRTManager) process_conclusion(packet *Packet) (*Packet) { resp_packet := agent.create_conclusion_resp() if packet.packet_type == HANDSHAKE { + // allow previous shotgunned induction requests to dissipate + if hs_cif.hs_type != 0xffffffff { + return nil + } hs_cif := packet.cif.(*HandshakeCIF) - if hs_cif.hs_type == 0xffffffff && hs_cif.syn_cookie == agent.syn_cookie { + if hs_cif.syn_cookie == agent.syn_cookie { for _, v := range hs_cif.hs_extensions { // force client to add a stream_id for output location // to do: add encryption handling