summaryrefslogtreecommitdiffstats
path: root/userspace/ebtables2/extensions/ebt_nat.c
diff options
context:
space:
mode:
authorBart De Schuymer <bdschuym@pandora.be>2002-06-23 20:38:34 +0000
committerBart De Schuymer <bdschuym@pandora.be>2002-06-23 20:38:34 +0000
commit0604572e0fee61cb81f60784f6ee91b2158a5724 (patch)
tree532b8f1cacc83745ca9fc7688e800115376a1247 /userspace/ebtables2/extensions/ebt_nat.c
parentaba3cd75962eef91dd42d8cad0e2aaea160c3a65 (diff)
*** empty log message ***
Diffstat (limited to 'userspace/ebtables2/extensions/ebt_nat.c')
-rw-r--r--userspace/ebtables2/extensions/ebt_nat.c10
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");
}