summaryrefslogtreecommitdiffstats
path: root/sbin/ipfw
diff options
context:
space:
mode:
authormelifaro <melifaro@FreeBSD.org>2014-10-13 12:49:04 +0000
committermelifaro <melifaro@FreeBSD.org>2014-10-13 12:49:04 +0000
commit76e89c35002f91c3847a4d3c09550051a97cb6e4 (patch)
tree6d01ab5880ca0418a4c971188ee9b6c2cd26d853 /sbin/ipfw
parent14eb15740e8e9c54c73db41489a10ca25bf55cb2 (diff)
downloadFreeBSD-src-76e89c35002f91c3847a4d3c09550051a97cb6e4.zip
FreeBSD-src-76e89c35002f91c3847a4d3c09550051a97cb6e4.tar.gz
Show error when deleting non-existing rule number.
Found by: Oleg Ginzburg
Diffstat (limited to 'sbin/ipfw')
-rw-r--r--sbin/ipfw/ipfw2.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c
index ac79ef8..2424519 100644
--- a/sbin/ipfw/ipfw2.c
+++ b/sbin/ipfw/ipfw2.c
@@ -3009,7 +3009,6 @@ fill_flags_cmd(ipfw_insn *cmd, enum ipfw_opcodes opcode,
void
ipfw_delete(char *av[])
{
- uint32_t rulenum;
int i;
int exitval = EX_OK;
int do_set = 0;
@@ -3059,7 +3058,15 @@ ipfw_delete(char *av[])
if (i != 0) {
exitval = EX_UNAVAILABLE;
warn("rule %u: setsockopt(IP_FW_XDEL)",
- rulenum);
+ rt.start_rule);
+ } else if (rt.new_set == 0) {
+ exitval = EX_UNAVAILABLE;
+ if (rt.start_rule != rt.end_rule)
+ warnx("no rules rules in %u-%u range",
+ rt.start_rule, rt.end_rule);
+ else
+ warnx("rule %u not found",
+ rt.start_rule);
}
}
}
OpenPOWER on IntegriCloud