]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
Unifies libip[6]t_NFQUEUE.c into libxt_NFQUEUE.c
authorYasuyuki KOZAKAI <yasuyuki@netfilter.org>
Tue, 24 Jul 2007 07:29:36 +0000 (07:29 +0000)
committerYasuyuki KOZAKAI <yasuyuki@netfilter.org>
Tue, 24 Jul 2007 07:29:36 +0000 (07:29 +0000)
extensions/Makefile
extensions/libip6t_NFQUEUE.c [deleted file]
extensions/libxt_NFQUEUE.c [moved from extensions/libipt_NFQUEUE.c with 64% similarity]
include/linux/netfilter/xt_NFQUEUE.h [moved from include/linux/netfilter_ipv4/ipt_NFQUEUE.h with 66% similarity]

index 3159b3d3904f2517acd38820d05ac169b1cc0872..fa3fdb56bfa27c369e545a50e50d612e69c9c9eb 100644 (file)
@@ -5,9 +5,9 @@
 # header files are present in the include/linux directory of this iptables
 # package (HW)
 #
-PF_EXT_SLIB:=ah addrtype connlimit connmark conntrack ecn hashlimit helper icmp iprange owner policy realm state tos ttl unclean CLASSIFY CONNMARK DNAT DSCP ECN LOG MARK MASQUERADE MIRROR NETMAP NFQUEUE REDIRECT REJECT SAME SNAT TOS TTL TRACE ULOG
-PF6_EXT_SLIB:=connlimit connmark eui64 hl icmp6 owner policy state CONNMARK HL LOG NFQUEUE MARK TRACE
-PFX_EXT_SLIB:=comment dscp esp length limit mac mark multiport physdev pkttype sctp standard tcp tcpmss udp NOTRACK TCPMSS
+PF_EXT_SLIB:=ah addrtype connlimit connmark conntrack ecn hashlimit helper icmp iprange owner policy realm state tos ttl unclean CLASSIFY CONNMARK DNAT DSCP ECN LOG MARK MASQUERADE MIRROR NETMAP REDIRECT REJECT SAME SNAT TOS TTL TRACE ULOG
+PF6_EXT_SLIB:=connlimit connmark eui64 hl icmp6 owner policy state CONNMARK HL LOG MARK TRACE
+PFX_EXT_SLIB:=comment dscp esp length limit mac mark multiport physdev pkttype sctp standard tcp tcpmss udp NFQUEUE NOTRACK TCPMSS
 
 ifeq ($(DO_SELINUX), 1)
 PF_EXT_SE_SLIB:=CONNSECMARK
diff --git a/extensions/libip6t_NFQUEUE.c b/extensions/libip6t_NFQUEUE.c
deleted file mode 100644 (file)
index afc3a6e..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Shared library add-on to ip666666tables for NFQ
- *
- * (C) 2005 by Harald Welte <laforge@netfilter.org>
- *
- * This program is distributed under the terms of GNU GPL v2, 1991
- *
- */
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <getopt.h>
-
-#include <ip6tables.h>
-#include <linux/netfilter_ipv6/ip6_tables.h>
-#include <linux/netfilter_ipv4/ipt_NFQUEUE.h>
-
-static void init(struct xt_entry_target *t, unsigned int *nfcache)
-{
-}
-
-static void help(void) 
-{
-       printf(
-"NFQUEUE target options\n"
-"  --queue-num value           Send packet to QUEUE number <value>.\n"
-"                              Valid queue numbers are 0-65535\n"
-);
-}
-
-static struct option opts[] = {
-       { "queue-num", 1, 0, 'F' },
-       { 0 }
-};
-
-static void
-parse_num(const char *s, struct ipt_NFQ_info *tinfo)
-{
-       unsigned int num;
-       
-       if (string_to_number(s, 0, 65535, &num) == -1)
-               exit_error(PARAMETER_PROBLEM,
-                          "Invalid queue number `%s'\n", s);
-
-       tinfo->queuenum = num & 0xffff;
-       return;
-}
-
-static int
-parse(int c, char **argv, int invert, unsigned int *flags,
-      const void *entry,
-      struct xt_entry_target **target)
-{
-       struct ipt_NFQ_info *tinfo
-               = (struct ipt_NFQ_info *)(*target)->data;
-
-       switch (c) {
-       case 'F':
-               if (*flags)
-                       exit_error(PARAMETER_PROBLEM, "NFQUEUE target: "
-                                  "Only use --queue-num ONCE!");
-               parse_num(optarg, tinfo);
-               break;
-       default:
-               return 0;
-       }
-
-       return 1;
-}
-
-static void
-final_check(unsigned int flags)
-{
-}
-
-/* Prints out the targinfo. */
-static void
-print(const void *ip,
-      const struct xt_entry_target *target,
-      int numeric)
-{
-       const struct ipt_NFQ_info *tinfo =
-               (const struct ipt_NFQ_info *)target->data;
-       printf("NFQUEUE num %u", tinfo->queuenum);
-}
-
-/* Saves the union ip6t_targinfo in parsable form to stdout. */
-static void
-save(const void *ip, const struct xt_entry_target *target)
-{
-       const struct ipt_NFQ_info *tinfo =
-               (const struct ipt_NFQ_info *)target->data;
-
-       printf("--queue-num %u ", tinfo->queuenum);
-}
-
-static struct ip6tables_target nfqueue = { 
-       .next           = NULL,
-       .name           = "NFQUEUE",
-       .version        = IPTABLES_VERSION,
-       .size           = IP6T_ALIGN(sizeof(struct ipt_NFQ_info)),
-       .userspacesize  = IP6T_ALIGN(sizeof(struct ipt_NFQ_info)),
-       .help           = &help,
-       .init           = &init,
-       .parse          = &parse,
-       .final_check    = &final_check,
-       .print          = &print,
-       .save           = &save,
-       .extra_opts     = opts
-};
-
-void _init(void)
-{
-       register_target6(&nfqueue);
-}
similarity index 64%
rename from extensions/libipt_NFQUEUE.c
rename to extensions/libxt_NFQUEUE.c
index 5d608fc7c6df6d5c8c6f79bd1f99ebd6e54be9db..558e80b2e4b419030b2caa5461421a4d27c654da 100644 (file)
@@ -10,9 +10,9 @@
 #include <stdlib.h>
 #include <getopt.h>
 
-#include <iptables.h>
-#include <linux/netfilter_ipv4/ip_tables.h>
-#include <linux/netfilter_ipv4/ipt_NFQUEUE.h>
+#include <xtables.h>
+#include <linux/netfilter/x_tables.h>
+#include <linux/netfilter/xt_NFQUEUE.h>
 
 static void init(struct xt_entry_target *t, unsigned int *nfcache)
 {
@@ -33,7 +33,7 @@ static struct option opts[] = {
 };
 
 static void
-parse_num(const char *s, struct ipt_NFQ_info *tinfo)
+parse_num(const char *s, struct xt_NFQ_info *tinfo)
 {
        unsigned int num;
        
@@ -50,8 +50,8 @@ parse(int c, char **argv, int invert, unsigned int *flags,
       const void *entry,
       struct xt_entry_target **target)
 {
-       struct ipt_NFQ_info *tinfo
-               = (struct ipt_NFQ_info *)(*target)->data;
+       struct xt_NFQ_info *tinfo
+               = (struct xt_NFQ_info *)(*target)->data;
 
        switch (c) {
        case 'F':
@@ -78,8 +78,8 @@ print(const void *ip,
       const struct xt_entry_target *target,
       int numeric)
 {
-       const struct ipt_NFQ_info *tinfo =
-               (const struct ipt_NFQ_info *)target->data;
+       const struct xt_NFQ_info *tinfo =
+               (const struct xt_NFQ_info *)target->data;
        printf("NFQUEUE num %u", tinfo->queuenum);
 }
 
@@ -87,18 +87,35 @@ print(const void *ip,
 static void
 save(const void *ip, const struct xt_entry_target *target)
 {
-       const struct ipt_NFQ_info *tinfo =
-               (const struct ipt_NFQ_info *)target->data;
+       const struct xt_NFQ_info *tinfo =
+               (const struct xt_NFQ_info *)target->data;
 
        printf("--queue-num %u ", tinfo->queuenum);
 }
 
-static struct iptables_target nfqueue = { 
+static struct xtables_target nfqueue = { 
        .next           = NULL,
+       .family         = AF_INET,
        .name           = "NFQUEUE",
        .version        = IPTABLES_VERSION,
-       .size           = IPT_ALIGN(sizeof(struct ipt_NFQ_info)),
-       .userspacesize  = IPT_ALIGN(sizeof(struct ipt_NFQ_info)),
+       .size           = XT_ALIGN(sizeof(struct xt_NFQ_info)),
+       .userspacesize  = XT_ALIGN(sizeof(struct xt_NFQ_info)),
+       .help           = &help,
+       .init           = &init,
+       .parse          = &parse,
+       .final_check    = &final_check,
+       .print          = &print,
+       .save           = &save,
+       .extra_opts     = opts
+};
+
+static struct xtables_target nfqueue6 = { 
+       .next           = NULL,
+       .family         = AF_INET6,
+       .name           = "NFQUEUE",
+       .version        = IPTABLES_VERSION,
+       .size           = XT_ALIGN(sizeof(struct xt_NFQ_info)),
+       .userspacesize  = XT_ALIGN(sizeof(struct xt_NFQ_info)),
        .help           = &help,
        .init           = &init,
        .parse          = &parse,
@@ -110,5 +127,6 @@ static struct iptables_target nfqueue = {
 
 void _init(void)
 {
-       register_target(&nfqueue);
+       xtables_register_target(&nfqueue);
+       xtables_register_target(&nfqueue6);
 }
similarity index 66%
rename from include/linux/netfilter_ipv4/ipt_NFQUEUE.h
rename to include/linux/netfilter/xt_NFQUEUE.h
index b5b2943b0c6646b61dec2b12b49208cda310c6b0..9a9af79f74d2a40396f4606dbf37855dd5205b73 100644 (file)
@@ -5,12 +5,12 @@
  * This software is distributed under GNU GPL v2, 1991
  * 
 */
-#ifndef _IPT_NFQ_TARGET_H
-#define _IPT_NFQ_TARGET_H
+#ifndef _XT_NFQ_TARGET_H
+#define _XT_NFQ_TARGET_H
 
 /* target info */
-struct ipt_NFQ_info {
+struct xt_NFQ_info {
        u_int16_t queuenum;
 };
 
-#endif /* _IPT_DSCP_TARGET_H */
+#endif /* _XT_NFQ_TARGET_H */