chain name may not clash with target name
diff --git a/ip6tables.c b/ip6tables.c
index dad9052..b3346b1 100644
--- a/ip6tables.c
+++ b/ip6tables.c
@@ -1161,9 +1161,6 @@
u_int8_t flags;
char buf[BUFSIZ];
- /* User creates a chain called "REJECT": this overrides the
- `REJECT' target module. Keep feeding them rope until the
- revolution... Bwahahahahah */
if (!ip6tc_is_chain(targname, handle))
target = find_target(targname, TRY_LOAD);
else
@@ -1797,6 +1794,14 @@
break;
case 'N':
+ if (optarg && *optarg == '-')
+ exit_error(PARAMETER_PROBLEM,
+ "chain name not allowed to start "
+ "with `-'\n");
+ if (find_target(optarg, TRY_LOAD))
+ exit_error(PARAMETER_PROBLEM,
+ "chain name may not clash "
+ "with target name\n");
add_command(&command, CMD_NEW_CHAIN, CMD_NONE,
invert);
chain = optarg;