From: Masud Hasan (mashasan) Date: Mon, 21 Dec 2020 13:53:10 +0000 (+0000) Subject: Merge pull request #2677 in SNORT/snort3 from ~ARMANDAV/snort3:revertperffix to master X-Git-Tag: 3.1.0.0~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=51d5a9011f27c56bc99791ac32ff46f654df0986;p=thirdparty%2Fsnort3.git Merge pull request #2677 in SNORT/snort3 from ~ARMANDAV/snort3:revertperffix to master Squashed commit of the following: commit f75ee339e475c3a8c67a66f200f3c666eaf8a346 Author: Arun Mandava Date: Thu Dec 17 23:20:40 2020 -0500 rna: Fix version, vendor and user string comparison at maximum length commit 55d146d81e50c91b372b3545fc5af399901f3b39 Author: Arun Mandava Date: Thu Dec 17 18:58:06 2020 -0500 rna: Revert rna performance optimizations --- diff --git a/src/host_tracker/host_tracker.cc b/src/host_tracker/host_tracker.cc index 0701bf1ac..a887d5ef1 100644 --- a/src/host_tracker/host_tracker.cc +++ b/src/host_tracker/host_tracker.cc @@ -658,8 +658,8 @@ bool HostTracker::update_service_info(HostApplication& ha, const char* vendor, HostApplicationInfo* available = nullptr; for ( auto& i : s.info ) { - if ( (version and !strncmp(version, i.version, INFO_SIZE)) and - (vendor and !strncmp(vendor, i.vendor, INFO_SIZE)) ) + if ( (version and !strncmp(version, i.version, INFO_SIZE-1)) and + (vendor and !strncmp(vendor, i.vendor, INFO_SIZE-1)) ) { if ( i.visibility == false ) { @@ -732,7 +732,7 @@ bool HostTracker::update_service_user(Port port, IpProtocol proto, const char* u if ( !ha or ha->visibility == false ) return false; - if ( user and strncmp(user, ha->user, INFO_SIZE) ) + if ( user and strncmp(user, ha->user, INFO_SIZE-1) ) { strncpy(ha->user, user, INFO_SIZE); ha->user[INFO_SIZE-1] = '\0'; @@ -991,7 +991,7 @@ HostClient HostTracker::find_or_add_client(AppId id, const char* version, AppId { if ( c.id != APP_ID_NONE and c.id == id and c.service == service and ((c.version[0] == '\0' and !version) or - (version and strncmp(c.version, version, INFO_SIZE) == 0)) ) + (version and strncmp(c.version, version, INFO_SIZE-1) == 0)) ) { if ( c.visibility == false ) { diff --git a/src/network_inspectors/rna/rna_app_discovery.cc b/src/network_inspectors/rna/rna_app_discovery.cc index 70e55160e..e59949a7d 100644 --- a/src/network_inspectors/rna/rna_app_discovery.cc +++ b/src/network_inspectors/rna/rna_app_discovery.cc @@ -31,18 +31,14 @@ using namespace snort; -RnaTracker RnaAppDiscovery::get_server_rna_tracker(const Packet* p, RNAFlow* rna_flow) +RnaTracker RnaAppDiscovery::get_server_rna_tracker(const Packet* p, RNAFlow*) { - if ( !rna_flow->serverht ) - rna_flow->serverht = host_cache.find(p->flow->server_ip); - return rna_flow->serverht; + return host_cache.find(p->flow->server_ip); } -RnaTracker RnaAppDiscovery::get_client_rna_tracker(const Packet* p, RNAFlow* rna_flow) +RnaTracker RnaAppDiscovery::get_client_rna_tracker(const Packet* p, RNAFlow*) { - if ( !rna_flow->clientht ) - rna_flow->clientht = host_cache.find(p->flow->client_ip); - return rna_flow->clientht; + return host_cache.find(p->flow->client_ip); } void RnaAppDiscovery::process(AppidEvent* appid_event, DiscoveryFilter& filter, diff --git a/src/network_inspectors/rna/rna_pnd.cc b/src/network_inspectors/rna/rna_pnd.cc index b61a7d41e..c2be2efe0 100644 --- a/src/network_inspectors/rna/rna_pnd.cc +++ b/src/network_inspectors/rna/rna_pnd.cc @@ -199,10 +199,6 @@ void RnaPnd::discover_network(const Packet* p, uint8_t ttl) rna_flow = new RNAFlow(); p->flow->set_flow_data(rna_flow); } - if ( p->is_from_client() ) - rna_flow->clientht = ht; - else - rna_flow->serverht = ht; } if ( new_host )