Merge in SNORT/snort3 from ~ABHRAWAT/snort3:xff_port to master
Squashed commit of the following:
commit
303ea6d9c86555861cb1e7af7fe771b7b5168293
Author: abhrawat <abhrawat@cisco.com>
Date: Sun Nov 6 14:32:13 2022 +0000
http_inspect: remove port from xff header
addr_str[true_ip.length()] = '\0';
SfIp tmp_sfip;
+
+ /* remove port number from ip address */
+ char* colon_port = strrchr((char*)addr_str, ':');
+ if (colon_port && (strpbrk((char*)addr_str, "[.")))
+ *colon_port = '\0';
+
const SfIpRet status = tmp_sfip.set((char*)addr_str);
delete[] addr_str;
if (status != SFIP_SUCCESS)
/* Parses "src" and stores results in "dst" */
SfIpRet SfIp::set(const char* src, uint16_t* srcBits)
{
+ bool ob = 0;
+ char* cb;
char* mask;
char* sfip_buf;
char* ip;
family = sfip_str_to_fam(src);
/* skip whitespace or opening bracket */
- while (isspace((int)*ip) || (*ip == '['))
+ while (isspace((int)*ip) || ((*ip == '[') ? ob = 1 : 0))
ip++;
+
+ if (ob && (cb = strrchr(ip, ']')))
+ *cb = '\0';
/* check for and extract a mask in CIDR form */
if ( (mask = strchr(ip, (int)'/')) != nullptr )