don't use signed things...
diff --git a/extensions/libipt_connbytes.c b/extensions/libipt_connbytes.c
index abc37be..28b938f 100644
--- a/extensions/libipt_connbytes.c
+++ b/extensions/libipt_connbytes.c
@@ -37,10 +37,10 @@
 {
 	char *colon,*p;
 
-	si->from = strtol(arg,&colon,10);
+	si->from = strtoul(arg,&colon,10);
 	if (*colon != ':') 
 		exit_error(PARAMETER_PROBLEM, "Bad range `%s'", arg);
-	si->to = strtol(colon+1,&p,10);
+	si->to = strtoul(colon+1,&p,10);
 	if (p == colon+1) {
 		/* second number omited */
 		si->to = 0xffffffff;
@@ -58,7 +58,7 @@
       struct ipt_entry_match **match)
 {
 	struct ipt_connbytes_info *sinfo = (struct ipt_connbytes_info *)(*match)->data;
-	int i;
+	unsigned long i;
 
 	switch (c) {
 	case '1':