"<mode> checksum mode (all,noip,notcp,noudp,noicmp,none)" },
{ "-l", Parameter::PT_STRING, nullptr, nullptr,
- "<logdir> log to this directory instead of current director" },
+ "<logdir> log to this directory instead of current directory" },
{ "-M", Parameter::PT_IMPLIED, nullptr, nullptr,
"log messages to syslog (not alerts)" },
{ "--bpf", Parameter::PT_STRING, nullptr, nullptr,
"<filter options> are standard BPF options, as seen in TCPDump" },
- { "--pedantic", Parameter::PT_IMPLIED, nullptr, nullptr,
- "warnings are fatal" },
-
{ "--create-pidfile", Parameter::PT_IMPLIED, nullptr, nullptr,
"create PID file, even when not in Daemon mode" },
{ "--pcap-show", Parameter::PT_IMPLIED, nullptr, nullptr,
"print a line saying what pcap is currently being read" },
+ { "--pedantic", Parameter::PT_IMPLIED, nullptr, nullptr,
+ "warnings are fatal" },
+
{ "--plugin-path", Parameter::PT_STRING, nullptr, nullptr,
"<path> where to find plugins" },
else if ( c == '\\' )
state = 4;
else if ( c == '\n' )
- printf("warning: line break in string on line %d\n", lines-1);
+ ParseWarning("line break in string on line %d\n", lines-1);
break;
case 4: // quoted escape
s += c;
break;
case 5: // unquoted escape
if ( c != '\n' && c != '\r' )
- printf("error: invalid escape on line %d\n", lines);
+ ParseWarning("invalid escape on line %d\n", lines);
state = 0;
break;
case 6: // token
switch ( act )
{
case FSM_ACT:
- //printf("\nparse act = %s\n", tok.c_str());
+ // FIXIT-L if non-rule tok != "END", parsing goes bad
+ // (need ctl-D to terminate)
if ( tok == "END" )
return true;
parse_rule_type(sc, tok.c_str(), rps.rtn);
break;
case FSM_PRO:
- //printf("parse pro = %s\n", tok.c_str());
parse_rule_proto(sc, tok.c_str(), rps.rtn);
break;
case FSM_SIP:
- //printf("parse sip = %s\n", tok.c_str());
parse_rule_nets(sc, tok.c_str(), true, rps.rtn);
break;
case FSM_SP:
- //printf("parse sp = %s\n", tok.c_str());
parse_rule_ports(sc, tok.c_str(), true, rps.rtn);
break;
case FSM_DIR:
- //printf("parse dir = %s\n", tok.c_str());
parse_rule_dir(sc, tok.c_str(), rps.rtn);
break;
case FSM_DIP:
- //printf("parse dip = %s\n", tok.c_str());
parse_rule_nets(sc, tok.c_str(), false, rps.rtn);
break;
case FSM_DP:
- //printf("parse dp = %s\n", tok.c_str());
parse_rule_ports(sc, tok.c_str(), false, rps.rtn);
break;
case FSM_STB:
rps.tbd = true;
break;
case FSM_SET:
- //printf("parse %s:%s = %s\n", rps.key.c_str(), rps.opt.c_str(), rps.val.c_str());
parse_rule_opt_set(sc, rps.key.c_str(), rps.opt.c_str(), rps.val.c_str());
rps.opt.clear();
rps.val.clear();
rps.tbd = false;
break;
case FSM_END:
- //printf("parse %s:%s = %s\n", rps.key.c_str(), rps.opt.c_str(), rps.val.c_str());
if ( rps.opt.size() )
parse_rule_opt_set(sc, rps.key.c_str(), rps.opt.c_str(), rps.val.c_str());
parse_rule_opt_end(sc, rps.key.c_str(), rps.otn);
rps.tbd = true;
break;
case FSM_INC:
- //printf("\nparse %s = %s\n", rps.key.c_str(), tok.c_str());
parse_include(sc, tok.c_str());
break;
case FSM_NOP:
break;
case FSM_ERR:
- //printf("error\n");
default:
break;
}