From 6f2721fc8029d3a2b2dcbf017f14312e04f3fb86 Mon Sep 17 00:00:00 2001 From: Bart De Schuymer Date: Thu, 6 Jun 2002 16:56:01 +0000 Subject: Split this up in ebt_snat.c and ebt_dnat.c --- kernel/linux/net/bridge/netfilter/ebt_nat.c | 106 ---------------------------- 1 file changed, 106 deletions(-) delete mode 100644 kernel/linux/net/bridge/netfilter/ebt_nat.c (limited to 'kernel') diff --git a/kernel/linux/net/bridge/netfilter/ebt_nat.c b/kernel/linux/net/bridge/netfilter/ebt_nat.c deleted file mode 100644 index 16694c5..0000000 --- a/kernel/linux/net/bridge/netfilter/ebt_nat.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * ebt_nat - * - * Authors: - * Bart De Schuymer - * - * April, 2002 - * - */ - -#include -#include -#include -#include -#include -#include - -static __u8 ebt_target_snat(struct sk_buff **pskb, unsigned int hooknr, - const struct net_device *in, const struct net_device *out, - const void *data, unsigned int datalen) -{ - struct ebt_nat_info *infostuff = (struct ebt_nat_info *) data; - - memcpy(((**pskb).mac.ethernet)->h_source, infostuff->mac, - ETH_ALEN * sizeof(unsigned char)); - return infostuff->target; -} - -static __u8 ebt_target_dnat(struct sk_buff **pskb, unsigned int hooknr, - const struct net_device *in, const struct net_device *out, - const void *data, unsigned int datalen) -{ - struct ebt_nat_info *infostuff = (struct ebt_nat_info *) data; - - memcpy(((**pskb).mac.ethernet)->h_dest, infostuff->mac, - ETH_ALEN * sizeof(unsigned char)); - return infostuff->target; -} - -static int ebt_target_snat_check(const char *tablename, unsigned int hooknr, - const struct ebt_entry *e, void *data, unsigned int datalen) -{ - struct ebt_nat_info *infostuff = (struct ebt_nat_info *) data; - - if (strcmp(tablename, "nat")) - return -EINVAL; - if (datalen != sizeof(struct ebt_nat_info)) - return -EINVAL; - if (hooknr != NF_BR_POST_ROUTING) - return -EINVAL; - if (infostuff->target >= NUM_STANDARD_TARGETS) - return -EINVAL; - return 0; -} - -static int ebt_target_dnat_check(const char *tablename, unsigned int hooknr, - const struct ebt_entry *e, void *data, unsigned int datalen) -{ - struct ebt_nat_info *infostuff = (struct ebt_nat_info *) data; - - if ( (strcmp(tablename, "nat") || - (hooknr != NF_BR_PRE_ROUTING && hooknr != NF_BR_LOCAL_OUT)) && - (strcmp(tablename, "broute") || hooknr != NF_BR_BROUTING) ) - return -EINVAL; - if (datalen != sizeof(struct ebt_nat_info)) - return -EINVAL; - if (infostuff->target >= NUM_STANDARD_TARGETS) - return -EINVAL; - return 0; -} - -static struct ebt_target snat = -{ - {NULL, NULL}, EBT_SNAT_TARGET, ebt_target_snat, ebt_target_snat_check, - NULL, THIS_MODULE -}; - -static struct ebt_target dnat = -{ - {NULL, NULL}, EBT_DNAT_TARGET, ebt_target_dnat, ebt_target_dnat_check, - NULL, THIS_MODULE -}; - -static int __init init(void) -{ - int ret; - ret = ebt_register_target(&snat); - if (ret != 0) - return ret; - ret = ebt_register_target(&dnat); - if (ret == 0) - return 0; - ebt_unregister_target(&snat); - return ret; -} - -static void __exit fini(void) -{ - ebt_unregister_target(&snat); - ebt_unregister_target(&dnat); -} - -module_init(init); -module_exit(fini); -EXPORT_NO_SYMBOLS; -MODULE_LICENSE("GPL"); -- cgit v1.2.3