]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #2910 in SNORT/snort3 from ~AMARNAYA/snort3:sun_RPC_pinhole to...
authorShravan Rangarajuvenkata (shrarang) <shrarang@cisco.com>
Tue, 1 Jun 2021 19:44:21 +0000 (19:44 +0000)
committerShravan Rangarajuvenkata (shrarang) <shrarang@cisco.com>
Tue, 1 Jun 2021 19:44:21 +0000 (19:44 +0000)
Squashed commit of the following:

commit 3131b9eacfc44357e312a0a74260b3d21b2bb429
Author: Amarnath Nayak <amarnaya@cisco.com>
Date:   Thu May 27 10:12:06 2021 -0400

    appid: use 32 bits for storing protocol field in RPC port map message

src/network_inspectors/appid/service_plugins/service_rpc.cc

index dbe7495546b7042d33f0406b493397c9263fa0bd..5853c8dae73e7af9870ef20da5e402cfe4335d8f 100644 (file)
@@ -106,7 +106,7 @@ struct ServiceRPCPortmap
 {
     uint32_t program;
     uint32_t version;
-    IpProtocol proto;
+    uint32_t proto;
     uint32_t port;
 };
 
@@ -350,7 +350,7 @@ int RpcServiceDetector::validate_packet(const uint8_t* data, uint16_t size, Appi
                 if (end-data < (int)sizeof(ServiceRPCPortmap))
                     return APPID_NOT_COMPATIBLE;
                 pm = (const ServiceRPCPortmap*)data;
-                rd->proto = pm->proto;
+                rd->proto = (IpProtocol)ntohl(pm->proto);
                 break;
             default:
                 break;
@@ -408,8 +408,7 @@ int RpcServiceDetector::validate_packet(const uint8_t* data, uint16_t size, Appi
 
                         AppIdSession* pf = AppIdSession::create_future_session(
                             pkt, dip, 0, sip, (uint16_t)tmp,
-                            (IpProtocol)ntohl((uint32_t)rd->proto),
-                            asd.config.snort_proto_ids[PROTO_INDEX_SUNRPC]);
+                            rd->proto,asd.config.snort_proto_ids[PROTO_INDEX_SUNRPC]);
 
                         if (pf)
                         {