Squashed commit of the following:
commit
a9e8adf33d65d0686f58bd67f88013e59402cb7c
Author: Brandon Stultz <brastult@cisco.com>
Date: Fri May 7 16:28:50 2021 -0400
dce_rpc: fix expected session protocol id
using namespace snort;
-DceExpSsnManager::DceExpSsnManager(const char* protocol,
- IpProtocol proto, PktType type): proto(proto), type(type)
-{
- protocol_id = SnortConfig::get_conf()->proto_ref->add(protocol);
-}
-
void DceExpSsnManager::create_expected_session(const SfIp* ept_ip,
uint16_t ept_port, const char* mod_name)
{
}
DceTcpExpSsnManager::DceTcpExpSsnManager(const dce2TcpProtoConf& config) :
- DceExpSsnManager("dce-tcp", IpProtocol::TCP, PktType::TCP),
- pc(config) { }
+ DceExpSsnManager(IpProtocol::TCP, PktType::TCP), pc(config) {}
int DceTcpExpSsnManager::create_expected_session_impl(Packet* pkt,
const snort::SfIp* src_ip, uint16_t src_port,
class DceExpSsnManager
{
public:
- DceExpSsnManager(const char*, IpProtocol, PktType);
+ DceExpSsnManager(IpProtocol p, PktType t) :
+ proto(p), type(t) {}
+
virtual ~DceExpSsnManager() = default;
+ void set_proto_id(SnortProtocolId id)
+ { protocol_id = id; }
+
SnortProtocolId get_proto_id() const
{ return protocol_id; }
PktType, IpProtocol, SnortProtocolId) = 0;
private:
- SnortProtocolId protocol_id;
+ SnortProtocolId protocol_id = UNKNOWN_PROTOCOL_ID;
IpProtocol proto;
PktType type;
};
// class stuff
//-------------------------------------------------------------------------
Dce2Tcp::Dce2Tcp(const dce2TcpProtoConf& pc) :
- config(pc), esm(config) { }
+ config(pc), esm(config) {}
+
+bool Dce2Tcp::configure(snort::SnortConfig* sc)
+{
+ esm.set_proto_id(sc->proto_ref->add(DCE_RPC_SERVICE_NAME));
+ return true;
+}
void Dce2Tcp::show(const SnortConfig*) const
{
public:
Dce2Tcp(const dce2TcpProtoConf&);
+ bool configure(snort::SnortConfig*) override;
void show(const snort::SnortConfig*) const override;
void eval(snort::Packet*) override;
void clear(snort::Packet*) override;