Add handlers for YSFI and YSFV packets, so that they dont clutter the lof=g with unkown packet entries

pull/8/head
Doug McLain 4 years ago
parent 1bc7927cb1
commit dd1586d478

@ -186,6 +186,14 @@ void CYsfProtocol::Task(void)
EncodeServerStatusPacket(&Buffer); EncodeServerStatusPacket(&Buffer);
Send(Buffer, Ip); Send(Buffer, Ip);
} }
else if ( IsValidInfoPacket(Buffer) )
{
// Do nothing
}
else if ( IsValidAckPacket(Buffer) )
{
std::cout << "YSF valid/ack packet received from " << Ip << std::endl;
}
else else
{ {
#ifdef DEBUG #ifdef DEBUG
@ -882,6 +890,24 @@ bool CYsfProtocol::IsValidServerStatusPacket(const CBuffer &Buffer) const
return ( (Buffer.size() >= 4) && (Buffer.Compare(tag, sizeof(tag)) == 0) ); return ( (Buffer.size() >= 4) && (Buffer.Compare(tag, sizeof(tag)) == 0) );
} }
// Info packet sent by some clients -- currently ignored by YSFReflector
bool CYsfProtocol::IsValidInfoPacket(const CBuffer &Buffer) const
{
uint8_t tag[] = { 'Y','S','F','I' };
return ( (Buffer.size() >= 4) && (Buffer.Compare(tag, sizeof(tag)) == 0) );
}
// Valid packet sent by registry as an ACK response to a server status reply from reflector
bool CYsfProtocol::IsValidAckPacket(const CBuffer &Buffer) const
{
uint8_t tag[] = { 'Y','S','F','V' };
return ( (Buffer.size() >= 4) && (Buffer.Compare(tag, sizeof(tag)) == 0) );
}
// server status packet encoding helpers // server status packet encoding helpers
bool CYsfProtocol::EncodeServerStatusPacket(CBuffer *Buffer) const bool CYsfProtocol::EncodeServerStatusPacket(CBuffer *Buffer) const

@ -101,6 +101,8 @@ protected:
// server status packet decoding helpers // server status packet decoding helpers
bool IsValidServerStatusPacket(const CBuffer &) const; bool IsValidServerStatusPacket(const CBuffer &) const;
bool IsValidInfoPacket(const CBuffer &) const;
bool IsValidAckPacket(const CBuffer &) const;
uint32_t CalcHash(const uint8_t *, int) const; uint32_t CalcHash(const uint8_t *, int) const;
// server status packet encoding helpers // server status packet encoding helpers

Loading…
Cancel
Save

Powered by TurnKey Linux.