summaryrefslogtreecommitdiffstats
path: root/extensions
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
commit7b9aaebe3a155d092b633a13f9f02f55e456b361 (patch)
treec3b1f71f05cd216da846e943fb30057452e9c400 /extensions
parent25c741d4c7ce9435de17510b4727e665467e4f50 (diff)
*** empty log message ***
Diffstat (limited to 'extensions')
-rw-r--r--extensions/ebt_arp.c8
-rw-r--r--extensions/ebt_ip.c3
-rw-r--r--extensions/ebt_log.c3
-rw-r--r--extensions/ebt_nat.c10
-rw-r--r--extensions/ebt_redirect.c3
-rw-r--r--extensions/ebt_standard.c3
-rw-r--r--extensions/ebt_vlan.c2
7 files changed, 19 insertions, 13 deletions
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?