From f3008f402a582bba2dd6c2f16a0d8319bcabe3d4 Mon Sep 17 00:00:00 2001 From: Doug McLain Date: Fri, 18 Mar 2022 18:22:53 -0400 Subject: [PATCH] Add handler for YSFO too --- reflector/YSFProtocol.cpp | 13 ++++++++++++- reflector/YSFProtocol.h | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/reflector/YSFProtocol.cpp b/reflector/YSFProtocol.cpp index ffaca56..f67fd1f 100644 --- a/reflector/YSFProtocol.cpp +++ b/reflector/YSFProtocol.cpp @@ -192,7 +192,11 @@ void CYsfProtocol::Task(void) } else if ( IsValidAckPacket(Buffer) ) { - std::cout << "YSF valid/ack packet received from " << Ip << std::endl; + // Do nothing + } + else if ( IsValidOptionsPacket(Buffer) ) + { + // Do nothing } else { @@ -908,6 +912,13 @@ bool CYsfProtocol::IsValidAckPacket(const CBuffer &Buffer) const return ( (Buffer.size() >= 4) && (Buffer.Compare(tag, sizeof(tag)) == 0) ); } +bool CYsfProtocol::IsValidOptionsPacket(const CBuffer &Buffer) const +{ + uint8_t tag[] = { 'Y','S','F','O' }; + + return ( (Buffer.size() >= 4) && (Buffer.Compare(tag, sizeof(tag)) == 0) ); +} + // server status packet encoding helpers bool CYsfProtocol::EncodeServerStatusPacket(CBuffer *Buffer) const diff --git a/reflector/YSFProtocol.h b/reflector/YSFProtocol.h index 2cb1b8f..666ef40 100644 --- a/reflector/YSFProtocol.h +++ b/reflector/YSFProtocol.h @@ -103,6 +103,7 @@ protected: bool IsValidServerStatusPacket(const CBuffer &) const; bool IsValidInfoPacket(const CBuffer &) const; bool IsValidAckPacket(const CBuffer &) const; + bool IsValidOptionsPacket(const CBuffer &) const; uint32_t CalcHash(const uint8_t *, int) const; // server status packet encoding helpers