diff -Nur iptables-1.3.4/extensions/libipt_string.c iptables-1.3.4-openwrt/extensions/libipt_string.c
--- iptables-1.3.4/extensions/libipt_string.c	2005-10-31 20:03:50.000000000 +0100
+++ iptables-1.3.4-openwrt/extensions/libipt_string.c	2005-12-15 15:08:27.000000000 +0100
@@ -63,7 +63,7 @@
 }
 
 static void
-parse_string(const unsigned char *s, struct ipt_string_info *info)
+parse_string(const char *s, struct ipt_string_info *info)
 {	
 	if (strlen(s) <= IPT_STRING_MAX_PATTERN_SIZE) {
 		strncpy(info->pattern, s, IPT_STRING_MAX_PATTERN_SIZE);
@@ -74,7 +74,7 @@
 }
 
 static void
-parse_algo(const unsigned char *s, struct ipt_string_info *info)
+parse_algo(const char *s, struct ipt_string_info *info)
 {
 	if (strlen(s) <= IPT_STRING_MAX_ALGO_NAME_SIZE) {
 		strncpy(info->algo, s, IPT_STRING_MAX_ALGO_NAME_SIZE);
@@ -84,7 +84,7 @@
 }
 
 static void
-parse_hex_string(const unsigned char *s, struct ipt_string_info *info)
+parse_hex_string(const char *s, struct ipt_string_info *info)
 {
 	int i=0, slen, sindex=0, schar;
 	short hex_f = 0, literal_f = 0;
