diff options
author | Bart De Schuymer <bdschuym@pandora.be> | 2002-06-23 20:38:34 +0000 |
---|---|---|
committer | Bart De Schuymer <bdschuym@pandora.be> | 2002-06-23 20:38:34 +0000 |
commit | 0604572e0fee61cb81f60784f6ee91b2158a5724 (patch) | |
tree | 532b8f1cacc83745ca9fc7688e800115376a1247 /userspace/ebtables2/extensions/ebt_nat.c | |
parent | aba3cd75962eef91dd42d8cad0e2aaea160c3a65 (diff) |
*** empty log message ***
Diffstat (limited to 'userspace/ebtables2/extensions/ebt_nat.c')
-rw-r--r-- | userspace/ebtables2/extensions/ebt_nat.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/userspace/ebtables2/extensions/ebt_nat.c b/userspace/ebtables2/extensions/ebt_nat.c index fe7cd1a..d94763a 100644 --- a/userspace/ebtables2/extensions/ebt_nat.c +++ b/userspace/ebtables2/extensions/ebt_nat.c @@ -136,22 +136,24 @@ static int parse_d(int c, char **argv, int argc, } static void final_check_s(const struct ebt_u_entry *entry, - const struct ebt_entry_target *target, const char *name, unsigned int hook_mask) + const struct ebt_entry_target *target, const char *name, + unsigned int hook_mask, unsigned int time) { if (!(hook_mask & (1 << NF_BR_POST_ROUTING)) || strcmp(name, "nat")) print_error("Wrong chain for snat"); - if (to_source_supplied == 0) + if (time == 0 && to_source_supplied == 0) print_error("No snat address supplied"); } static void final_check_d(const struct ebt_u_entry *entry, - const struct ebt_entry_target *target, const char *name, unsigned int hook_mask) + const struct ebt_entry_target *target, const char *name, + unsigned int hook_mask, unsigned int time) { if (((hook_mask & ~((1 << NF_BR_PRE_ROUTING) | (1 << NF_BR_LOCAL_OUT))) || strcmp(name, "nat")) && ((hook_mask & ~(1 << NF_BR_BROUTING)) || strcmp(name, "broute"))) print_error("Wrong chain for dnat"); - if (to_dest_supplied == 0) + if (time == 0 && to_dest_supplied == 0) print_error("No dnat address supplied"); } |