zeek/src/AYIYA.cc
Jon Siwek 7cf54b2541 Change binpac exceptions in AYIYA/GTP analyzers to do protocol_violation
As opposed to creating weirds for e.g. "binpac::ExceptionOutOfBound".
The protocol_violation will also result in the disabling of the
analyzer by default.
2012-10-29 12:15:48 -05:00

32 lines
641 B
C++

#include "AYIYA.h"
AYIYA_Analyzer::AYIYA_Analyzer(Connection* conn)
: Analyzer(AnalyzerTag::AYIYA, conn)
{
interp = new binpac::AYIYA::AYIYA_Conn(this);
}
AYIYA_Analyzer::~AYIYA_Analyzer()
{
delete interp;
}
void AYIYA_Analyzer::Done()
{
Analyzer::Done();
Event(udp_session_done);
}
void AYIYA_Analyzer::DeliverPacket(int len, const u_char* data, bool orig, int seq, const IP_Hdr* ip, int caplen)
{
Analyzer::DeliverPacket(len, data, orig, seq, ip, caplen);
try
{
interp->NewData(orig, data, data + len);
}
catch ( const binpac::Exception& e )
{
ProtocolViolation(fmt("Binpac exception: %s", e.c_msg()));
}
}