[netfilter-cvslog] r6938 - trunk/iptables/extensions

yasuyuki at netfilter.org yasuyuki at netfilter.org
Tue Jul 24 08:50:03 CEST 2007


Author: yasuyuki at netfilter.org
Date: 2007-07-24 08:50:03 +0200 (Tue, 24 Jul 2007)
New Revision: 6938

Modified:
   trunk/iptables/extensions/libipt_string.c
Log:
Use unified API in string match



Modified: trunk/iptables/extensions/libipt_string.c
===================================================================
--- trunk/iptables/extensions/libipt_string.c	2007-07-24 06:49:15 UTC (rev 6937)
+++ trunk/iptables/extensions/libipt_string.c	2007-07-24 06:50:03 UTC (rev 6938)
@@ -26,9 +26,9 @@
 #include <stdlib.h>
 #include <getopt.h>
 #include <ctype.h>
-#include <iptables.h>
+#include <xtables.h>
 #include <stddef.h>
-#include <linux/netfilter_ipv4/ipt_string.h>
+#include <linux/netfilter/xt_string.h>
 
 /* Function which prints out usage message. */
 static void
@@ -56,17 +56,17 @@
 static void
 init(struct xt_entry_match *m, unsigned int *nfcache)
 {
-	struct ipt_string_info *i = (struct ipt_string_info *) m->data;
+	struct xt_string_info *i = (struct xt_string_info *) m->data;
 
 	if (i->to_offset == 0)
 		i->to_offset = (u_int16_t) ~0UL;
 }
 
 static void
-parse_string(const char *s, struct ipt_string_info *info)
+parse_string(const char *s, struct xt_string_info *info)
 {	
-	if (strlen(s) <= IPT_STRING_MAX_PATTERN_SIZE) {
-		strncpy(info->pattern, s, IPT_STRING_MAX_PATTERN_SIZE);
+	if (strlen(s) <= XT_STRING_MAX_PATTERN_SIZE) {
+		strncpy(info->pattern, s, XT_STRING_MAX_PATTERN_SIZE);
 		info->patlen = strlen(s);
 		return;
 	}
@@ -74,17 +74,17 @@
 }
 
 static void
-parse_algo(const char *s, struct ipt_string_info *info)
+parse_algo(const char *s, struct xt_string_info *info)
 {
-	if (strlen(s) <= IPT_STRING_MAX_ALGO_NAME_SIZE) {
-		strncpy(info->algo, s, IPT_STRING_MAX_ALGO_NAME_SIZE);
+	if (strlen(s) <= XT_STRING_MAX_ALGO_NAME_SIZE) {
+		strncpy(info->algo, s, XT_STRING_MAX_ALGO_NAME_SIZE);
 		return;
 	}
 	exit_error(PARAMETER_PROBLEM, "ALGO too long `%s'", s);
 }
 
 static void
-parse_hex_string(const char *s, struct ipt_string_info *info)
+parse_hex_string(const char *s, struct xt_string_info *info)
 {
 	int i=0, slen, sindex=0, schar;
 	short hex_f = 0, literal_f = 0;
@@ -154,7 +154,7 @@
 			info->pattern[sindex] = s[i];
 			i++;
 		}
-		if (sindex > IPT_STRING_MAX_PATTERN_SIZE)
+		if (sindex > XT_STRING_MAX_PATTERN_SIZE)
 			exit_error(PARAMETER_PROBLEM, "STRING too long `%s'", s);
 		sindex++;
 	}
@@ -174,7 +174,7 @@
       unsigned int *nfcache,
       struct xt_entry_match **match)
 {
-	struct ipt_string_info *stringinfo = (struct ipt_string_info *)(*match)->data;
+	struct xt_string_info *stringinfo = (struct xt_string_info *)(*match)->data;
 
 	switch (c) {
 	case '1':
@@ -293,8 +293,8 @@
       const struct xt_entry_match *match,
       int numeric)
 {
-	const struct ipt_string_info *info =
-	    (const struct ipt_string_info*) match->data;
+	const struct xt_string_info *info =
+	    (const struct xt_string_info*) match->data;
 
 	if (is_hex_string(info->pattern, info->patlen)) {
 		printf("STRING match %s", (info->invert) ? "!" : "");
@@ -315,8 +315,8 @@
 static void
 save(const void *ip, const struct xt_entry_match *match)
 {
-	const struct ipt_string_info *info =
-	    (const struct ipt_string_info*) match->data;
+	const struct xt_string_info *info =
+	    (const struct xt_string_info*) match->data;
 
 	if (is_hex_string(info->pattern, info->patlen)) {
 		printf("--hex-string %s", (info->invert) ? "! ": "");
@@ -333,11 +333,12 @@
 }
 
 
-static struct iptables_match string = {
+static struct xtables_match string = {
     .name		= "string",
+    .family			= AF_INET,
     .version		= IPTABLES_VERSION,
-    .size		= IPT_ALIGN(sizeof(struct ipt_string_info)),
-    .userspacesize	= offsetof(struct ipt_string_info, config),
+    .size		= XT_ALIGN(sizeof(struct xt_string_info)),
+    .userspacesize	= offsetof(struct xt_string_info, config),
     .help		= help,
     .init		= init,
     .parse		= parse,
@@ -350,5 +351,5 @@
 
 void _init(void)
 {
-	register_match(&string);
+	xtables_register_match(&string);
 }




More information about the netfilter-cvslog mailing list