Skip to content

Commit 28f9eee

Browse files
committed
Got rid of debug code.
Improve start/stop regex scripts
1 parent 1411505 commit 28f9eee

File tree

8 files changed

+12
-144
lines changed

8 files changed

+12
-144
lines changed

fw/cfg.c

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,6 @@ entry_set_name(TfwCfgEntry *e)
243243

244244
BUG_ON(!e);
245245
BUG_ON(e->name);
246-
//pr_notice("rule=%i",rule);
247246

248247
if (!rule) {
249248
name = e->ftoken;
@@ -254,7 +253,6 @@ entry_set_name(TfwCfgEntry *e)
254253
}
255254

256255
T_DBG3("set name: %.*s\n", len, name);
257-
//pr_notice("set name: %.*s\n", len, name);
258256

259257
if (!check_identifier(name, len))
260258
return -EINVAL;
@@ -278,7 +276,6 @@ entry_set_first_token(TfwCfgEntry *e, const char *src, int len)
278276
BUG_ON(e->ftoken);
279277

280278
T_DBG3("set first token: %.*s\n", len, src);
281-
//pr_notice("set first token: %.*s\n", len, src);
282279

283280
if (!src || !len)
284281
return -EINVAL;
@@ -363,7 +360,6 @@ entry_add_rule_param(const char **param, const char *src, size_t len)
363360
if (!(dst = alloc_and_copy_literal(src, len)))
364361
return -ENOMEM;
365362
*param = dst;
366-
//pr_notice("entry_add_rule_param param=%s\n", dst);
367363
return 0;
368364
}
369365

@@ -602,7 +598,7 @@ read_next_token(TfwCfgParserState *ps)
602598
TOKEN_REGEX_CI);
603599

604600
/* Special case to differ single equal sign from double one. */
605-
TFSM_COND_MOVE(ps->c == '=', TS_EQSIGN);
601+
TFSM_COND_MOVE(ps->c == '=', TS_EQSIGN);
606602
TFSM_COND_MOVE(ps->c == '~', TS_TILDA);
607603

608604
/* Everything else is not a special character and therefore
@@ -734,7 +730,6 @@ entry_set_cond(TfwCfgEntry *e, token_t cond_type, const char *src, int len)
734730
int name_len = sizeof(TFW_CFG_RULE_NAME) - 1;
735731
TfwCfgRule *rule = &e->rule;
736732

737-
//pr_notice("entry_set_cond cond_type=%u\n", (unsigned int)cond_type);
738733
BUG_ON(!e->ftoken);
739734
BUG_ON(e->name);
740735

@@ -754,7 +749,6 @@ entry_set_cond(TfwCfgEntry *e, token_t cond_type, const char *src, int len)
754749
if (!(e->name = alloc_and_copy_literal(name, name_len)))
755750
return -ENOMEM;
756751

757-
758752
switch (cond_type) {
759753
case TOKEN_REGEX:
760754
rule->regex = TFW_REGEX_REGULAR;
@@ -770,7 +764,6 @@ entry_set_cond(TfwCfgEntry *e, token_t cond_type, const char *src, int len)
770764
break;
771765
}
772766

773-
774767
return 0;
775768
}
776769

@@ -830,24 +823,19 @@ parse_cfg_entry(TfwCfgParserState *ps)
830823
* condition key for rule; in last three cases predefined rule name is used.
831824
*/
832825
FSM_STATE(PS_START_NEW_ENTRY) {
833-
834-
//pr_notice("FSM_STATE(PS_START_NEW_ENTRY)\n");
835826
entry_reset(&ps->e);
836827
ps->e.line_no = ps->line_no;
837828
ps->e.line = ps->line;
838829

839830
PFSM_COND_MOVE(ps->t == TOKEN_ARROW, PS_RULE_PURE_ACTION);
840831

841832
ps->err = entry_set_first_token(&ps->e, ps->lit, ps->lit_len);
842-
//pr_notice("ps->e.ftoken=%s\n", ps->e.ftoken);
843833
FSM_COND_JMP(ps->err, PS_EXIT);
844834

845835
PFSM_MOVE(PS_PLAIN_OR_RULE);
846836
}
847837

848838
FSM_STATE(PS_PLAIN_OR_RULE) {
849-
//pr_notice("FSM_STATE(PS_PLAIN_OR_RULE)\n");
850-
//pr_notice("ps->e.ftoken=%s\n", ps->e.ftoken);
851839
PFSM_COND_MOVE(ps->t == TOKEN_DEQSIGN ||
852840
ps->t == TOKEN_NEQSIGN ||
853841
ps->t == TOKEN_REGEX ||
@@ -863,7 +851,6 @@ parse_cfg_entry(TfwCfgParserState *ps)
863851
}
864852

865853
FSM_STATE(PS_PLAIN_OR_LONG_RULE) {
866-
//pr_notice("FSM_STATE(PS_PLAIN_OR_LONG_RULE)\n");
867854
FSM_COND_JMP(ps->t == TOKEN_DEQSIGN ||
868855
ps->t == TOKEN_NEQSIGN ||
869856
ps->t == TOKEN_REGEX ||
@@ -885,7 +872,6 @@ parse_cfg_entry(TfwCfgParserState *ps)
885872
}
886873

887874
FSM_STATE(PS_LONG_RULE_COND) {
888-
//pr_notice("FSM_STATE(PS_LONG_RULE_COND)\n");
889875
ps->err = entry_add_rule_param(&ps->e.rule.fst_ext,
890876
ps->prev_lit,
891877
ps->prev_lit_len);
@@ -894,9 +880,6 @@ parse_cfg_entry(TfwCfgParserState *ps)
894880
}
895881

896882
FSM_STATE(PS_RULE_COND) {
897-
//pr_notice("FSM_STATE(PS_RULE_COND) ps->t=%u\n", (unsigned)ps->t);
898-
//pr_notice("ps->e.ftoken=%s\n", ps->e.ftoken);
899-
900883
FSM_COND_JMP(ps->prev_t == TOKEN_REGEX ||
901884
ps->prev_t == TOKEN_REGEX_CI,
902885
PS_STORE_VAL_PREV_REGEX);
@@ -909,20 +892,17 @@ parse_cfg_entry(TfwCfgParserState *ps)
909892
}
910893

911894
FSM_STATE(PS_RULE_COND_END) {
912-
//pr_notice("FSM_STATE(PS_RULE_COND_END)\n");;
913895
PFSM_COND_JMP_EXIT_ERROR(ps->t != TOKEN_ARROW);
914896
PFSM_MOVE(PS_RULE_ACTION);
915897
}
916898

917899
FSM_STATE(PS_RULE_PURE_ACTION) {
918-
//pr_notice("FSM_STATE(PS_RULE_PURE_ACTION)\n");
919900
ps->err = entry_set_name(&ps->e);
920901
FSM_COND_JMP(ps->err, PS_EXIT);
921902
FSM_JMP(PS_RULE_ACTION);
922903
}
923904

924905
FSM_STATE(PS_RULE_ACTION) {
925-
//pr_notice("FSM_STATE(PS_RULE_ACTION)\n");
926906
PFSM_COND_JMP_EXIT_ERROR(ps->t != TOKEN_LITERAL);
927907
ps->err = entry_add_rule_param(&ps->e.rule.act, ps->lit,
928908
ps->lit_len);
@@ -931,7 +911,6 @@ parse_cfg_entry(TfwCfgParserState *ps)
931911
}
932912

933913
FSM_STATE(PS_RULE_ACTION_VAL) {
934-
//pr_notice("FSM_STATE(PS_RULE_ACTION_VAL)\n");
935914
FSM_COND_JMP(ps->t == TOKEN_SEMICOLON, PS_SEMICOLON);
936915
PFSM_COND_JMP_EXIT_ERROR(ps->t != TOKEN_EQSIGN);
937916
read_next_token(ps);
@@ -961,7 +940,6 @@ parse_cfg_entry(TfwCfgParserState *ps)
961940
*/
962941

963942
FSM_STATE(PS_VAL_OR_ATTR) {
964-
//pr_notice("FSM_STATE(PS_VAL_OR_ATTR)\n");
965943
PFSM_COND_MOVE(ps->t == TOKEN_LITERAL, PS_MAYBE_EQSIGN);
966944
FSM_COND_JMP(ps->t == TOKEN_SEMICOLON, PS_SEMICOLON);
967945
FSM_COND_JMP(ps->t == TOKEN_LBRACE, PS_LBRACE);
@@ -971,23 +949,18 @@ parse_cfg_entry(TfwCfgParserState *ps)
971949
}
972950

973951
FSM_STATE(PS_MAYBE_EQSIGN) {
974-
//pr_notice("FSM_STATE(PS_MAYBE_EQSIGN)\n");
975952
FSM_COND_JMP(ps->t == TOKEN_EQSIGN, PS_STORE_ATTR_PREV);
976953
FSM_JMP(PS_STORE_VAL_PREV);
977954
}
978955

979956
FSM_STATE(PS_STORE_VAL_PREV_REGEX) {
980-
//pr_notice("FSM_STATE(PS_STORE_VAL_PREV_REGEX)\n");
981957
/* name val1 val2;
982958
* ^
983959
* We are here (but still need to store val1)
984960
* and name or condition.
985961
*/
986962
T_DBG3("add value: %.*s\n", ps->prev_lit_len, ps->prev_lit);
987963

988-
//pr_notice("prev value: %.*s\n", ps->prev_lit_len, ps->prev_lit);
989-
//pr_notice("cur value: %.*s\n", ps->lit_len, ps->lit);
990-
991964
if (ps->e.ftoken && !strcmp(ps->e.ftoken, "location")) {
992965
ps->err = entry_set_name(&ps->e);
993966

@@ -1005,7 +978,6 @@ parse_cfg_entry(TfwCfgParserState *ps)
1005978
}
1006979

1007980
/*If it is not location*/
1008-
//pr_notice("ps->e.ftoken=%s\n", ps->e.ftoken);
1009981
ps->err = entry_set_cond(&ps->e, ps->prev_t,
1010982
ps->lit, ps->lit_len);
1011983
FSM_COND_JMP(ps->err, PS_EXIT);
@@ -1014,22 +986,18 @@ parse_cfg_entry(TfwCfgParserState *ps)
1014986
}
1015987

1016988
FSM_STATE(PS_STORE_VAL_PREV) {
1017-
//pr_notice("FSM_STATE(PS_STORE_VAL_PREV)\n");
1018989
/* name val1 val2;
1019990
* ^
1020991
* We are here (but still need to store val1). */
1021992
T_DBG3("add value: %.*s\n", ps->prev_lit_len, ps->prev_lit);
1022993

1023-
//pr_notice("prev value: %.*s\n", ps->prev_lit_len, ps->prev_lit);
1024-
//pr_notice("cur value: %.*s\n", ps->lit_len, ps->lit);
1025994
ps->err = entry_add_val(&ps->e, ps->prev_lit, ps->prev_lit_len);
1026995
FSM_COND_JMP(ps->err, PS_EXIT);
1027996

1028997
FSM_JMP(PS_VAL_OR_ATTR);
1029998
}
1030999

10311000
FSM_STATE(PS_STORE_ATTR_PREV) {
1032-
//pr_notice("FSM_STATE(PS_STORE_ATTR_PREV)\n");
10331001
/* name key = val;
10341002
* ^
10351003
* We are here. */
@@ -1051,7 +1019,6 @@ parse_cfg_entry(TfwCfgParserState *ps)
10511019
}
10521020

10531021
FSM_STATE(PS_LBRACE) {
1054-
//pr_notice("FSM_STATE(PS_LBRACE)\n");
10551022
/* Simply exit on '{' leaving nested nodes untouched and
10561023
* surrounded with braces. The caller should detect it and parse
10571024
* them in a loop. */
@@ -1060,7 +1027,6 @@ parse_cfg_entry(TfwCfgParserState *ps)
10601027
}
10611028

10621029
FSM_STATE(PS_SEMICOLON) {
1063-
//pr_notice("FSM_STATE(PS_SEMICOLON)\n");
10641030
/* Simply eat ';'. Don't MOVE because the next character may be
10651031
* '\0' and that triggers an error (because we expect more input
10661032
* tokens when we do _PFSM_MOVE()). */
@@ -1069,18 +1035,11 @@ parse_cfg_entry(TfwCfgParserState *ps)
10691035
}
10701036

10711037
FSM_STATE(PS_EXIT) {
1072-
//pr_notice("FSM_STATE(PS_EXIT)\n");
10731038
/* Cleanup of entry is done in tfw_cfg_parse_mods() */
1074-
1075-
//pr_notice("ps->e.name=%s\n", ps->e.name);
1076-
//pr_notice("ps->e.line=%s\n", ps->e.line);
1077-
1078-
10791039
T_DBG3("pfsm: exit\n");
10801040
}
10811041
}
10821042

1083-
10841043
/*
10851044
* ------------------------------------------------------------------------
10861045
* Configuration Parser - TfwCfgSpec helpers.

fw/http_match.c

Lines changed: 4 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -86,99 +86,29 @@ map_op_to_str_eq_flags(tfw_http_match_op_t op)
8686
[TFW_HTTP_MATCH_O_SUFFIX] = TFW_STR_EQ_DEFAULT,
8787
[TFW_HTTP_MATCH_O_REGEX] = TFW_STR_EQ_REGEX,
8888
[TFW_HTTP_MATCH_O_REGEX_CI] = TFW_STR_EQ_REGEX_CASEI,
89-
9089
};
91-
//pr_notice("map_op_to_str_eq_flags op=%u\n", (unsigned int)op);
9290
BUG_ON(flags_tbl[op] < 0);
9391
return flags_tbl[op];
9492
}
9593

96-
extern int bpf_scan_bytes(const void *, __u32, struct rex_scan_attr *);
97-
98-
extern int bpf_scan_vector(const char *const *buf, const unsigned int *length,
99-
__u32 buf__sz, struct rex_scan_attr *attr);
94+
//extern int bpf_scan_bytes(const void *, __u32, struct rex_scan_attr *);
10095

10196
extern int bpf_scan_tfwstr(const TfwStr *str, struct rex_scan_attr *attr);
10297

103-
void printTfwStr(const TfwStr *arg)
104-
{
105-
/*union {
106-
char *data;
107-
struct tfwstr_t *chunks;
108-
};*/
109-
110-
pr_notice("data= %.*s\n", (int)arg->len, arg->data);
111-
pr_notice("str.len=%lu\n", arg->len);
112-
//struct sk_buff *skb;
113-
pr_notice("str.nchunks=%u\n",arg->nchunks);
114-
pr_notice("str.flags=%u\n",(unsigned)arg->flags);
115-
pr_notice("str.hpack_idx=%u\n",(unsigned)arg->hpack_idx);
116-
pr_notice("str.eolen=%u\n",(unsigned)arg->eolen);
117-
pr_notice("==============================\n");
118-
}
119-
12098
bool
12199
tfw_match_regex(tfw_match_t op, const char *cstr, size_t len, const TfwStr *arg)
122100
{
123-
char sss[100];
124-
//char *data[20];
125-
//unsigned int length[20];
126-
//int i = 0;
127101
bool result;
128102
int r;
129-
//const TfwStr *chunk, *end;
130103

131104
struct rex_scan_attr attr = {};
132105
memcpy(&attr.database_id, cstr, sizeof(unsigned short));
133106

134-
pr_notice("test_regex\n");
135-
pr_notice("attr.database_id=%u", attr.database_id);
136-
137-
tfw_str_to_cstr(arg, sss, 100);
138-
pr_notice("arg=%s len=%u", sss, (unsigned)len);
139-
140-
141-
/* if (arg->nchunks == 1) {
142-
143-
pr_notice("solid string\n");
144-
r = bpf_scan_bytes(arg->data, arg->len, &attr);
145-
146-
}
147-
else*/ {
148-
pr_notice("chunked string\n");
149-
107+
if (!arg->len)
108+
return false;
150109

151-
/* TFW_STR_FOR_EACH_CHUNK(chunk, arg, end) {
152-
153-
printTfwStr(chunk);
154-
data[i] = chunk->data;
155-
length[i] = (unsigned int)chunk->len;
156-
++i;
157-
if (i == 20)
158-
break;
159-
160-
}
161-
162-
163-
//r = bpf_scan_bytes(sss, strlen(sss), &attr);
164-
165-
r = bpf_scan_vector((const char *const *)&data,
166-
(const unsigned int *)&length,
167-
i, &attr);*/
168-
169-
r = bpf_scan_tfwstr(arg, &attr);
170-
}
171-
172-
pr_notice("r=%i\n", r);
110+
r = bpf_scan_tfwstr(arg, &attr);
173111
result = (!r && attr.nr_events && attr.last_event.expression);
174-
if (result)
175-
pr_notice("Expression found in pos=%llu\n number=%u",
176-
attr.last_event.to, attr.last_event.expression);
177-
else
178-
pr_notice("Expression not found!");
179-
180-
181-
pr_notice("========================================================\n");
182112
return result;
183113
}
184114

@@ -187,8 +117,6 @@ tfw_rule_str_match(const TfwStr *str, const char *cstr,
187117
int cstr_len, tfw_str_eq_flags_t flags,
188118
tfw_http_match_op_t op)
189119
{
190-
//pr_notice("tfw_rule_str_match\n");
191-
192120
if (op == TFW_HTTP_MATCH_O_SUFFIX)
193121
return tfw_str_eq_cstr_off(str, str->len - cstr_len,
194122
cstr, cstr_len, flags);
@@ -836,7 +764,6 @@ write_regex(const char *arg, int regex)
836764
int len = strlen(arg);
837765
int len1;
838766

839-
//pr_notice("write_regex arg=%s\n", arg);
840767
if (len < sizeof(unsigned short)) {
841768
T_ERR_NL("String of regex too short\n");
842769
return -EINVAL;

fw/http_tbl.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -406,8 +406,6 @@ tfw_cfgop_http_rule(TfwCfgSpec *cs, TfwCfgEntry *e)
406406
action_val = cfg_rule->val;
407407
BUG_ON(!action);
408408

409-
//pr_notice("test_chain_add_rule_str in_val=%s in_arg=%s\n", in_val, in_arg);
410-
411409
if (tfw_http_rule_default_exist(&tfw_chain_entry->match_list)) {
412410
T_ERR_NL("http_tbl: default HTTP rule must be only one and "
413411
"last; chain '%s'\n",

0 commit comments

Comments
 (0)