mirror of
https://github.com/zeek/zeek.git
synced 2025-10-07 17:18:20 +00:00

In many cases, classes derived from TCP_ApplicationAnalyzer were *overloading* instead of overriding EndpointEOF causing the parent class version to become hidden in the child and also for the child's version to never to called polymorphically from TCP_Analyzer::EndpointEOF. Clang gave a warning in each case.
28 lines
668 B
C++
28 lines
668 B
C++
#ifndef http_binpac_h
|
|
#define http_binpac_h
|
|
|
|
#include "TCP.h"
|
|
|
|
#include "http_pac.h"
|
|
|
|
class HTTP_Analyzer_binpac : public TCP_ApplicationAnalyzer {
|
|
public:
|
|
HTTP_Analyzer_binpac(Connection* conn);
|
|
virtual ~HTTP_Analyzer_binpac();
|
|
|
|
virtual void Done();
|
|
virtual void DeliverStream(int len, const u_char* data, bool orig);
|
|
virtual void Undelivered(int seq, int len, bool orig);
|
|
virtual void EndpointEOF(bool is_orig);
|
|
|
|
static Analyzer* InstantiateAnalyzer(Connection* conn)
|
|
{ return new HTTP_Analyzer_binpac(conn); }
|
|
|
|
static bool Available()
|
|
{ return (http_request || http_reply) && FLAGS_use_binpac; }
|
|
|
|
protected:
|
|
binpac::HTTP::HTTP_Conn* interp;
|
|
};
|
|
|
|
#endif
|