Restore ipfw(8)'s compact output support broken after r331668.
Also modify it a bit. Now -c option omits only 'from any to any' part and works for different protocols (not just for ip). Reported by: Dmitry Selivanov <dseliv at gmail> MFC after: 1 week
This commit is contained in:
parent
41795499d1
commit
664615ae29
@ -2223,6 +2223,8 @@ show_static_rule(struct cmdline_opts *co, struct format_opts *fo,
|
||||
}
|
||||
|
||||
print_proto(bp, fo, &state);
|
||||
if (co->do_compact != 0 && (rule->flags & IPFW_RULE_NOOPT))
|
||||
goto justopts;
|
||||
|
||||
/* Print source */
|
||||
bprintf(bp, " from");
|
||||
@ -4395,6 +4397,8 @@ compile_rule(char *av[], uint32_t *rbuf, int *rbufsize, struct tidx *tstate)
|
||||
}
|
||||
OR_BLOCK(get_proto);
|
||||
|
||||
first_cmd = cmd; /* update pointer to use in compact form */
|
||||
|
||||
/*
|
||||
* "from", mandatory
|
||||
*/
|
||||
@ -4466,6 +4470,8 @@ compile_rule(char *av[], uint32_t *rbuf, int *rbufsize, struct tidx *tstate)
|
||||
cmd = next_cmd(cmd, &cblen);
|
||||
}
|
||||
}
|
||||
if (first_cmd == cmd)
|
||||
rule->flags |= IPFW_RULE_NOOPT;
|
||||
|
||||
read_options:
|
||||
prev = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user