From: Shivani Bhardwaj Date: Tue, 20 Feb 2024 16:23:14 +0000 (+0530) Subject: detect/port: remove the port cut/insertion stage X-Git-Tag: suricata-8.0.0-beta1~1677 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=83aba93f40b0c12b5336f1f5281ae33b726f57ea;p=thirdparty%2Fsuricata.git detect/port: remove the port cut/insertion stage As this is already taken care of and a list of ports is available for use by the next stage. Ticket 6792 Bug 6414 --- diff --git a/src/detect-engine-build.c b/src/detect-engine-build.c index b9e283bcc4..bc399f2e50 100644 --- a/src/detect-engine-build.c +++ b/src/detect-engine-build.c @@ -1354,6 +1354,9 @@ static DetectPort *RulesGroupByPorts(DetectEngineCtx *de_ctx, uint8_t ipproto, u s = s->next; } + /* step 2: create a list of the smallest port ranges with + * appropriate SGHs */ + /* Create an interval tree of all the given ports to make the search * for overlaps later on easier */ SCPortIntervalTree *it = SCPortIntervalTreeInit(); @@ -1370,17 +1373,6 @@ static DetectPort *RulesGroupByPorts(DetectEngineCtx *de_ctx, uint8_t ipproto, u } } - /* step 2: create a list of DetectPort objects */ - for (htb = HashListTableGetListHead(de_ctx->dport_hash_table); - htb != NULL; - htb = HashListTableGetListNext(htb)) - { - DetectPort *p = HashListTableGetListData(htb); - DetectPort *tmp = DetectPortCopySingle(de_ctx, p); - BUG_ON(tmp == NULL); - int r = DetectPortInsert(de_ctx, &list , tmp); - BUG_ON(r == -1); - } /* Create a sorted list of ports in ascending order after resolving overlaps * and corresponding SGHs */ if (CreatePortList(de_ctx, unique_port_points, size_unique_port_arr, it, &list) < 0)