zeek/src/analyzer/protocol/dce-rpc/DCE_RPC.h
2019-09-17 14:10:30 +02:00

35 lines
917 B
C++

// See the file "COPYING" in the main distribution directory for copyright.
#pragma once
#include "NetVar.h"
#include "analyzer/protocol/tcp/TCP.h"
#include "analyzer/protocol/dce-rpc/events.bif.h"
#include "IPAddr.h"
#include "dce_rpc_pac.h"
namespace analyzer { namespace dce_rpc {
class DCE_RPC_Analyzer : public tcp::TCP_ApplicationAnalyzer {
public:
explicit DCE_RPC_Analyzer(Connection* conn);
~DCE_RPC_Analyzer() override;
void Done() override;
void DeliverStream(int len, const u_char* data, bool orig) override;
void Undelivered(uint64_t seq, int len, bool orig) override;
void EndpointEOF(bool is_orig) override;
bool SetFileID(uint64_t fid_in)
{ interp->set_file_id(fid_in); return true; }
static analyzer::Analyzer* Instantiate(Connection* conn)
{ return new DCE_RPC_Analyzer(conn); }
protected:
bool had_gap;
binpac::DCE_RPC::DCE_RPC_Conn* interp;
};
} } // namespace analyzer::*