From 7b9aaebe3a155d092b633a13f9f02f55e456b361 Mon Sep 17 00:00:00 2001 From: Bart De Schuymer Date: Sun, 23 Jun 2002 20:38:34 +0000 Subject: *** empty log message *** --- extensions/ebt_arp.c | 8 ++++---- extensions/ebt_ip.c | 3 ++- extensions/ebt_log.c | 3 ++- extensions/ebt_nat.c | 10 ++++++---- extensions/ebt_redirect.c | 3 ++- extensions/ebt_standard.c | 3 ++- extensions/ebt_vlan.c | 2 +- 7 files changed, 19 insertions(+), 13 deletions(-) (limited to 'extensions') diff --git a/extensions/ebt_arp.c b/extensions/ebt_arp.c index d094b68..d088563 100644 --- a/extensions/ebt_arp.c +++ b/extensions/ebt_arp.c @@ -75,9 +75,8 @@ void parse_ip_address(char *address, __u32 *addr, __u32 *msk); #define OPT_PTYPE 0x04 #define OPT_IP_S 0x08 #define OPT_IP_D 0x10 -static int parse(int c, char **argv, int argc, - const struct ebt_u_entry *entry, unsigned int *flags, - struct ebt_entry_match **match) +static int parse(int c, char **argv, int argc, const struct ebt_u_entry *entry, + unsigned int *flags, struct ebt_entry_match **match) { struct ebt_arp_info *arpinfo = (struct ebt_arp_info *)(*match)->data; int i; @@ -177,7 +176,8 @@ static int parse(int c, char **argv, int argc, } static void final_check(const struct ebt_u_entry *entry, -const struct ebt_entry_match *match, const char *name, unsigned int hook_mask) + const struct ebt_entry_match *match, const char *name, + unsigned int hook_mask, unsigned int time) { if (entry->bitmask & EBT_NOPROTO || entry->bitmask & EBT_802_3 || (entry->ethproto != ETH_P_ARP && entry->ethproto != ETH_P_RARP)) diff --git a/extensions/ebt_ip.c b/extensions/ebt_ip.c index cb425f9..71d7f30 100644 --- a/extensions/ebt_ip.c +++ b/extensions/ebt_ip.c @@ -218,7 +218,8 @@ static int parse(int c, char **argv, int argc, const struct ebt_u_entry *entry, } static void final_check(const struct ebt_u_entry *entry, - const struct ebt_entry_match *match, const char *name, unsigned int hook_mask) + const struct ebt_entry_match *match, const char *name, + unsigned int hook_mask, unsigned int time) { if (entry->bitmask & EBT_NOPROTO || entry->bitmask & EBT_802_3 || entry->ethproto != ETH_P_IP) diff --git a/extensions/ebt_log.c b/extensions/ebt_log.c index 1dca3ad..b6e62eb 100644 --- a/extensions/ebt_log.c +++ b/extensions/ebt_log.c @@ -142,7 +142,8 @@ static int parse(int c, char **argv, int argc, const struct ebt_u_entry *entry, } static void final_check(const struct ebt_u_entry *entry, - const struct ebt_entry_watcher *watcher, const char *name, unsigned int hook_mask) + const struct ebt_entry_watcher *watcher, const char *name, + unsigned int hook_mask, unsigned int time) { return; } diff --git a/extensions/ebt_nat.c b/extensions/ebt_nat.c index fe7cd1a..d94763a 100644 --- a/extensions/ebt_nat.c +++ b/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"); } diff --git a/extensions/ebt_redirect.c b/extensions/ebt_redirect.c index 5d329e7..ea0a504 100644 --- a/extensions/ebt_redirect.c +++ b/extensions/ebt_redirect.c @@ -59,7 +59,8 @@ static int parse(int c, char **argv, int argc, } static void final_check(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)) || strcmp(name, "nat")) && ((hook_mask & ~(1 << NF_BR_BROUTING)) || strcmp(name, "broute")) ) diff --git a/extensions/ebt_standard.c b/extensions/ebt_standard.c index 726a1ab..95e00a5 100644 --- a/extensions/ebt_standard.c +++ b/extensions/ebt_standard.c @@ -26,7 +26,8 @@ static int parse(int c, char **argv, int argc, const struct ebt_u_entry *entry, } static void final_check(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) { } diff --git a/extensions/ebt_vlan.c b/extensions/ebt_vlan.c index 05ee992..f74b26f 100644 --- a/extensions/ebt_vlan.c +++ b/extensions/ebt_vlan.c @@ -193,7 +193,7 @@ parse (int c, char **argv, int argc, static void final_check (const struct ebt_u_entry *entry, const struct ebt_entry_match *match, - const char *name, unsigned int hook_mask) + const char *name, unsigned int hook_mask, unsigned int time) { /* * Is any proto supplied there? Or specified proto isn't 802.1Q? -- cgit v1.2.3