* \retval 0 On successfully parsing.
* \retval -1 On failure.
*/
-static int DetectPortParseDo(DetectPort **head, DetectPort **nhead, char *s,
- int negate)
+static int DetectPortParseDo(const DetectEngineCtx *de_ctx,
+ DetectPort **head, DetectPort **nhead,
+ char *s, int negate)
{
size_t u = 0;
size_t x = 0;
SCLogDebug("Parsed port from DetectPortParseDo - %s", address);
x = 0;
- r = DetectPortParseDo(head, nhead, address, negate? negate: n_set);
+ r = DetectPortParseDo(de_ctx, head, nhead, address, negate? negate: n_set);
if (r == -1)
goto error;
"[%s]", rule_var_port);
temp_rule_var_port = alloc_rule_var_port;
}
- r = DetectPortParseDo(head, nhead, temp_rule_var_port,
+ r = DetectPortParseDo(de_ctx, head, nhead, temp_rule_var_port,
(negate + n_set) % 2);//negate? negate: n_set);
if (r == -1)
goto error;
"[%s]", rule_var_port);
temp_rule_var_port = alloc_rule_var_port;
}
- r = DetectPortParseDo(head, nhead, temp_rule_var_port,
+ r = DetectPortParseDo(de_ctx, head, nhead, temp_rule_var_port,
(negate + n_set) % 2);
if (r == -1)
goto error;
goto error;
}
- int r = DetectPortParseDo(&gh, &ghn, seq_node->val, /* start with negate no */0);
+ int r = DetectPortParseDo(NULL, &gh, &ghn, seq_node->val, /* start with negate no */0);
if (r < 0) {
DetectPortCleanupList(gh);
goto error;
* \retval 0 on success
* \retval -1 on error
*/
-int DetectPortParse(DetectPort **head, char *str)
+int DetectPortParse(const DetectEngineCtx *de_ctx,
+ DetectPort **head, char *str)
{
int r;
/* negate port list */
DetectPort *nhead = NULL;
- r = DetectPortParseDo(head, &nhead, str,/* start with negate no */0);
+ r = DetectPortParseDo(de_ctx, head, &nhead, str,/* start with negate no */0);
if (r < 0)
goto error;
{
DetectPort *dd = NULL;
- int r = DetectPortParse(&dd,"80");
+ int r = DetectPortParse(NULL,&dd,"80");
if (r == 0) {
DetectPortFree(dd);
return 1;
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"80");
+ int r = DetectPortParse(NULL,&dd,"80");
if (r == 0) {
- r = DetectPortParse(&dd,"22");
+ r = DetectPortParse(NULL,&dd,"22");
if (r == 0) {
result = 1;
}
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"80:88");
+ int r = DetectPortParse(NULL,&dd,"80:88");
if (r == 0) {
- r = DetectPortParse(&dd,"85:100");
+ r = DetectPortParse(NULL,&dd,"85:100");
if (r == 0) {
result = 1;
}
{
DetectPort *dd = NULL;
- int r = DetectPortParse(&dd,"!80:81");
+ int r = DetectPortParse(NULL,&dd,"!80:81");
if (r == 0) {
DetectPortCleanupList(dd);
return 1;
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"!80:81");
+ int r = DetectPortParse(NULL,&dd,"!80:81");
if (r != 0)
goto end;
DetectPort *dd = NULL, *copy = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"22");
+ int r = DetectPortParse(NULL,&dd,"22");
if (r != 0)
goto end;
- r = DetectPortParse(&dd,"80");
+ r = DetectPortParse(NULL,&dd,"80");
if (r != 0)
goto end;
- r = DetectPortParse(&dd,"143");
+ r = DetectPortParse(NULL,&dd,"143");
if (r != 0)
goto end;
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"!21:902");
+ int r = DetectPortParse(NULL,&dd,"!21:902");
if (r != 0)
goto end;
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"[80:!80]");
+ int r = DetectPortParse(NULL,&dd,"[80:!80]");
if (r == 0)
goto end;
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"1024:");
+ int r = DetectPortParse(NULL,&dd,"1024:");
if (r != 0)
goto end;
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"77777777777777777777777777777777777777777777");
+ int r = DetectPortParse(NULL,&dd,"77777777777777777777777777777777777777777777");
if (r != 0) {
result = 1 ;
goto end;
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"1024:65536");
+ int r = DetectPortParse(NULL,&dd,"1024:65536");
if (r != 0) {
result = 1 ;
goto end;
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"1024:65535");
+ int r = DetectPortParse(NULL,&dd,"1024:65535");
if (r != 0) {
goto end;
}
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"65536:65535");
+ int r = DetectPortParse(NULL,&dd,"65536:65535");
if (r != 0) {
result = 1 ;
goto end;
DetectPort *dd = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"![0:100,1000:3000]");
+ int r = DetectPortParse(NULL,&dd,"![0:100,1000:3000]");
if (r != 0 || dd->next == NULL)
goto end;
DetectPort *dd = NULL, *copy = NULL;
int result = 0;
- int r = DetectPortParse(&dd,"22");
+ int r = DetectPortParse(NULL,&dd,"22");
if (r != 0)
goto end;
- r = DetectPortParse(&dd,"80");
+ r = DetectPortParse(NULL,&dd,"80");
if (r != 0)
goto end;
- r = DetectPortParse(&dd,"143");
+ r = DetectPortParse(NULL,&dd,"143");
if (r != 0)
goto end;
int result = 0;
/* Parse */
- int r = DetectPortParse(&head,"![0:100,1000:65535]");
+ int r = DetectPortParse(NULL,&head,"![0:100,1000:65535]");
if (r != 0 || head->next != NULL)
goto end;
if (!(head->next == NULL))
goto end;
- r = DetectPortParse(&dp1,"2000:3000");
+ r = DetectPortParse(NULL, &dp1,"2000:3000");
if (r != 0 || dp1->next != NULL)
goto end;
if (!(dp1->port == 2000))
int result = 0;
/* Parse */
- int r = DetectPortParse(&head, "![0:100,1000:65535]");
+ int r = DetectPortParse(NULL,&head, "![0:100,1000:65535]");
if (r != 0 || head->next != NULL)
goto end;
- r = DetectPortParse(&dp1, "!200:300");
+ r = DetectPortParse(NULL, &dp1, "!200:300");
if (r != 0 || dp1->next == NULL)
goto end;
if (r != 0 || head->next != NULL)
goto end;
- r = DetectPortParse(&dp2, "!100:500");
+ r = DetectPortParse(NULL, &dp2, "!100:500");
if (r != 0 || dp2->next == NULL)
goto end;
DetectPort *dp3= NULL;
int result = 0;
- int r = DetectPortParse(&dp1, "200:300");
+ int r = DetectPortParse(NULL, &dp1, "200:300");
if (r != 0)
goto end;
- r = DetectPortParse(&dp2, "250:300");
+ r = DetectPortParse(NULL, &dp2, "250:300");
if (r != 0)
goto end;
DetectPort *dp2= NULL;
int result = 0;
- int r = DetectPortParse(&dp1, "200:300");
+ int r = DetectPortParse(NULL, &dp1, "200:300");
if (r != 0)
goto end;
s[0].num = 0;
s[1].num = 1;
- r = DetectPortParse(&dp1, "1024:65535");
+ r = DetectPortParse(NULL, &dp1, "1024:65535");
if (r != 0) {
printf("r != 0 but %d: ", r);
goto end;
}
SigGroupHeadAppendSig(de_ctx, &dp1->sh, &s[0]);
- r = DetectPortParse(&dp2, "any");
+ r = DetectPortParse(NULL, &dp2, "any");
if (r != 0) {
printf("r != 0 but %d: ", r);
goto end;
s[0].num = 0;
s[1].num = 1;
- r = DetectPortParse(&dp1, "1024:65535");
+ r = DetectPortParse(NULL, &dp1, "1024:65535");
if (r != 0) {
printf("r != 0 but %d: ", r);
goto end;
}
SigGroupHeadAppendSig(de_ctx, &dp1->sh, &s[0]);
- r = DetectPortParse(&dp2, "any");
+ r = DetectPortParse(NULL, &dp2, "any");
if (r != 0) {
printf("r != 0 but %d: ", r);
goto end;
int result = 0;
DetectPort *head = NULL, *nhead = NULL;
- if (DetectPortParseDo(&head, &nhead, "![!80]", 0) == -1)
+ if (DetectPortParseDo(NULL, &head, &nhead, "![!80]", 0) == -1)
return result;
result = (head != NULL);