]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #3934: ssl: remove wildcard character from common name string extracted...
authorSreeja Athirkandathil Narayanan (sathirka) <sathirka@cisco.com>
Fri, 28 Jul 2023 16:40:45 +0000 (16:40 +0000)
committerSteven Baigal (sbaigal) <sbaigal@cisco.com>
Fri, 28 Jul 2023 16:40:45 +0000 (16:40 +0000)
Merge in SNORT/snort3 from ~SATHIRKA/snort3:cname_wildcard to master

Squashed commit of the following:

commit 0e8f3ab6fede768ff8acd8697ce9690082a9f417
Author: Sreeja Athirkandathil Narayanan <sathirka@cisco.com>
Date:   Tue Jul 25 16:41:38 2023 -0400

    ssl: remove wildcard character from common name string extracted from ssl certificate

src/protocols/ssl.cc

index bc542ad70e2dc914eb6a0d71d72334a307d0bb6e..837f38f40dcef773e97e20152f124334f80875d8 100644 (file)
@@ -738,11 +738,15 @@ bool parse_server_certificates(SSLV3ServerCertData* server_cert_data)
                 const unsigned char* str_data = ASN1_STRING_get0_data(X509_NAME_ENTRY_get_data(e));
                 int length = strlen((const char*)str_data);
 
+                bool wildcard = false;
+                if ((wildcard = (length > 2 and *str_data == '*' and *(str_data + 1) == '.')))
+                    length -= 2; // remove leading *.
+
                 common_name_len = length;
-                common_name = snort_strndup((const char*)str_data, common_name_len);
+                common_name = snort_strndup((const char*)(str_data + (wildcard ? 2 : 0)), common_name_len);
 
                 org_name_len = length;
-                org_name = snort_strndup((const char*)str_data, org_name_len);
+                org_name = snort_strndup((const char*)(str_data + (wildcard ? 2 : 0)), org_name_len);
             }
         }