]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #2502 in SNORT/snort3 from ~CLJUDGE/snort3:snort3_port_CSCvd99154...
authorShravan Rangarajuvenkata (shrarang) <shrarang@cisco.com>
Mon, 5 Oct 2020 19:00:08 +0000 (19:00 +0000)
committerShravan Rangarajuvenkata (shrarang) <shrarang@cisco.com>
Mon, 5 Oct 2020 19:00:08 +0000 (19:00 +0000)
Squashed commit of the following:

commit 0b172b4fe1149658914d104eecb084a6601de14c
Author: cljudge <cljudge@cisco.com>
Date:   Thu Sep 24 05:38:41 2020 -0400

    pop: Generate alert for unknown command if file policy is attached.

src/service_inspectors/pop/pop.cc

index 5b7764f87e054d2229b6bfe2d6f16327d2dcdd04..5d5a74608b2e86b57b7d4e0c8a83d2e127119f26 100644 (file)
@@ -335,31 +335,28 @@ static const uint8_t* POP_HandleCommand(Packet* p, POPData* pop_ssn, const uint8
     /* if command not found, alert and move on */
     if (!cmd_found)
     {
-        if (pop_ssn->state == STATE_UNKNOWN)
+        /* check for encrypted */
+        if (pop_ssn->state == STATE_UNKNOWN and
+            pop_ssn->session_flags & POP_FLAG_CHECK_SSL and
+            IsSSL(ptr, end - ptr, p->packet_flags))
         {
-            /* check for encrypted */
-            if ((pop_ssn->session_flags & POP_FLAG_CHECK_SSL) &&
-                (IsSSL(ptr, end - ptr, p->packet_flags)))
-            {
-                pop_ssn->state = STATE_TLS_DATA;
+            pop_ssn->state = STATE_TLS_DATA;
 
-                /* Ignore data */
-                return end;
-            }
-            else
+            /* Ignore data */
+            return end;
+        }
+        else
+        {
+            if (pop_ssn->state == STATE_UNKNOWN)
             {
                 /* don't check for ssl again in this packet */
                 if (pop_ssn->session_flags & POP_FLAG_CHECK_SSL)
                     pop_ssn->session_flags &= ~POP_FLAG_CHECK_SSL;
 
                 pop_ssn->state = STATE_DATA;
-                //pop_ssn->data_state = STATE_DATA_UNKNOWN;
-
+                DetectionEngine::queue_event(GID_POP, POP_UNKNOWN_CMD);
                 return ptr;
             }
-        }
-        else
-        {
             DetectionEngine::queue_event(GID_POP, POP_UNKNOWN_CMD);
             return eol;
         }