summaryrefslogtreecommitdiffstats
path: root/iptables.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2000-08-30 02:11:18 +0000
committerRusty Russell <rusty@rustcorp.com.au>2000-08-30 02:11:18 +0000
commitf2a24bd5c8b380d94ac383420b5b8c42141e777b (patch)
treee41a0d3f3cda552c558239682ae86daff14b7dcb /iptables.c
parent58ce05829ab773b61da18e6e6415094407a20e7b (diff)
Harald Welte's dynamic loading fix.
Diffstat (limited to 'iptables.c')
-rw-r--r--iptables.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/iptables.c b/iptables.c
index 2f188260..d94cbd9c 100644
--- a/iptables.c
+++ b/iptables.c
@@ -2005,15 +2005,11 @@ int do_command(int argc, char *argv[], char **table, iptc_handle_t *handle)
}
if (!target) {
- struct ipt_entry_target unknown_target;
-
- /* Don't know it. Must be extension with no
- options? */
- unknown_target.u.target_size = sizeof(unknown_target);
- strcpy(unknown_target.u.user.name, jumpto);
-
- e = generate_entry(&fw, iptables_matches,
- &unknown_target);
+ /* it is no chain, and we can't load a plugin.
+ * We cannot know if the plugin is corrupt, non
+ * existant OR if the user just misspelled a
+ * chain. */
+ find_target(jumpto, LOAD_MUST_SUCCEED);
} else {
e = generate_entry(&fw, iptables_matches, target->t);
}