diff --git a/srt/Packet.cpp b/srt/Packet.cpp index 05050f23..cfcb6531 100644 --- a/srt/Packet.cpp +++ b/srt/Packet.cpp @@ -225,7 +225,35 @@ size_t ControlPacket::size() const { uint32_t ControlPacket::getSocketID(uint8_t *buf, size_t len) { return loadUint32(buf + 12); } +std::string HandshakePacket::dump(){ + _StrPrinter printer; + printer <<"flag:"<< (int)f<<"\r\n"; + printer <<"control_type:"<< (int)control_type<<"\r\n"; + printer <<"sub_type:"<< (int)sub_type<<"\r\n"; + printer <<"type_specific_info:"<< type_specific_info[0]<<":"<dump()<<"\r\n"; + } + return std::move(printer); +} bool HandshakePacket::loadFromData(uint8_t *buf, size_t len) { if (HEADER_SIZE + HS_CONTENT_MIN_SIZE > len) { ErrorL << "size too smalle " << encryption_field; diff --git a/srt/Packet.hpp b/srt/Packet.hpp index a226b588..fe56e236 100644 --- a/srt/Packet.hpp +++ b/srt/Packet.hpp @@ -189,7 +189,7 @@ public: static uint32_t getSynCookie(uint8_t *buf, size_t len); static uint32_t generateSynCookie(struct sockaddr_storage *addr, TimePoint ts, uint32_t current_cookie = 0, int correction = 0); - + std::string dump(); void assignPeerIP(struct sockaddr_storage *addr); ///////ControlPacket override/////// bool loadFromData(uint8_t *buf, size_t len) override; diff --git a/srt/SrtTransport.cpp b/srt/SrtTransport.cpp index 0ef720f2..97d8f959 100644 --- a/srt/SrtTransport.cpp +++ b/srt/SrtTransport.cpp @@ -236,6 +236,7 @@ void SrtTransport::handleHandshake(uint8_t *buf, int len, struct sockaddr_storag handleHandshakeConclusion(pkt, addr); } else { WarnL << " not support handshake type = " << pkt.handshake_type; + WarnL <