Squashed commit of the following:
commit
be3ab6abccce12eb3bf39f71929778ed596527d1
Author: Sreeja Athirkandathil Narayanan <sathirka@cisco.com>
Date: Tue Jan 7 11:21:36 2020 -0500
appid: Adding support for wildcard ports in static host port cache
HostPortVal* hv = nullptr;
if (check_static and
- (hv = HostPortCache::find(ip, port, protocol)))
+ (hv = HostPortCache::find(ip, port, protocol, *(asd.ctxt))))
{
asd.scan_flags |= SCAN_HOST_PORT_FLAG;
switch (hv->type)
#endif
#include "host_port_app_cache.h"
+#include "managers/inspector_manager.h"
+#include "appid_inspector.h"
+#include "appid_config.h"
#include <map>
#include <cstring>
}
}
-HostPortVal* HostPortCache::find(const SfIp* ip, uint16_t port, IpProtocol protocol)
+HostPortVal* HostPortCache::find(const SfIp* ip, uint16_t port, IpProtocol protocol, AppIdContext& ctxt)
{
HostPortKey hk;
hk.ip = *ip;
- hk.port = port;
+ hk.port = (ctxt.config->allow_port_wildcard_host_cache)? 0 : port;
hk.proto = protocol;
std::map<HostPortKey, HostPortVal>::iterator it;
HostPortVal hv;
hk.ip = *ip;
- hk.port = port;
+ AppIdInspector* inspector = (AppIdInspector*) InspectorManager::get_inspector(MOD_NAME, true);
+ AppIdContext* ctxt = inspector->get_ctxt();
+ hk.port = (ctxt->config->allow_port_wildcard_host_cache)? 0 : port;
hk.proto = proto;
hv.appId = appId;
#include "application_ids.h"
#include "protocols/protocol_ids.h"
+#include "appid_config.h"
namespace snort
{
public:
static void initialize();
static void terminate();
- static HostPortVal* find(const snort::SfIp*, uint16_t port, IpProtocol);
+ static HostPortVal* find(const snort::SfIp*, uint16_t port, IpProtocol, AppIdContext&);
static bool add(const snort::SfIp*, uint16_t port, IpProtocol, unsigned type, AppId);
static void dump();
};
}
// Stubs for misc items
-HostPortVal* HostPortCache::find(const SfIp*, uint16_t, IpProtocol)
+HostPortVal* HostPortCache::find(const SfIp*, uint16_t, IpProtocol, AppIdContext&)
{
return nullptr;
}