From 3eccb89c62bec0a861a4bffaa6071e2c62007bee Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Mon, 14 Mar 2005 15:30:55 +0000
Subject: [PATCH] update ipp2p to version 0.7.4

SVN-Revision: 369
---
 .../{ipp2p-0.7.1.patch => ipp2p-0.7.4.patch}  |  82 ++++++------------
 .../304-netfilter-ipp2p-0.7.1.bz2             | Bin 5300 -> 0 bytes
 .../304-netfilter-ipp2p-0.7.4.bz2             | Bin 0 -> 5267 bytes
 3 files changed, 25 insertions(+), 57 deletions(-)
 rename openwrt/package/iptables/patches/{ipp2p-0.7.1.patch => ipp2p-0.7.4.patch} (90%)
 delete mode 100644 openwrt/package/linux/kernel-patches/304-netfilter-ipp2p-0.7.1.bz2
 create mode 100644 openwrt/package/linux/kernel-patches/304-netfilter-ipp2p-0.7.4.bz2

diff --git a/openwrt/package/iptables/patches/ipp2p-0.7.1.patch b/openwrt/package/iptables/patches/ipp2p-0.7.4.patch
similarity index 90%
rename from openwrt/package/iptables/patches/ipp2p-0.7.1.patch
rename to openwrt/package/iptables/patches/ipp2p-0.7.4.patch
index 0da71947bc..d39a39d2d6 100644
--- a/openwrt/package/iptables/patches/ipp2p-0.7.1.patch
+++ b/openwrt/package/iptables/patches/ipp2p-0.7.4.patch
@@ -1,7 +1,7 @@
 diff -urN iptables-1.2.11.old/extensions/libipt_ipp2p.c iptables-1.2.11/extensions/libipt_ipp2p.c
 --- iptables-1.2.11.old/extensions/libipt_ipp2p.c	1970-01-01 01:00:00.000000000 +0100
-+++ iptables-1.2.11/extensions/libipt_ipp2p.c	2005-03-01 17:49:59.000000000 +0100
-@@ -0,0 +1,482 @@
++++ iptables-1.2.11/extensions/libipt_ipp2p.c	2005-03-12 00:50:27.000000000 +0100
+@@ -0,0 +1,455 @@
 +
 +#include <stdio.h>
 +#include <netdb.h>
@@ -40,15 +40,13 @@ diff -urN iptables-1.2.11.old/extensions/libipt_ipp2p.c iptables-1.2.11/extensio
 +    "\nNote that the follwing options will have the same meaning:\n"
 +    " '--ipp2p' is equal to '--edk --dc --kazaa --gnu'\n"
 +    " '--ipp2p-data' is equal to '--edk-data --dc-data --kazaa-data --gnu-data'\n"
-+    "\nIPP2P was intended for TCP only. Due to increasing usage of UDP we needed to change this:\n"
-+    " --udp		search UDP packets only\n"
-+    " --tcp		search TCP packets only\n"
-+    " --udp --tcp	search UDP and TCP packets\n"
++    "\nIPP2P was intended for TCP only. Due to increasing usage of UDP we needed to change this.\n"
++    "You can now use -p udp to search UDP packets only or without -p switch to search UDP and TCP packets.\n"
 +    "\nSee README included with this package for more details or visit http://www.ipp2p.org\n"
 +    "\nExamples:\n"
 +    " iptables -A FORWARD -m ipp2p --ipp2p -j MARK --set-mark 0x01\n"
-+    " iptables -A FORWARD -m ipp2p --udp --kazaa --bit -j DROP\n"
-+    " iptables -A FORWARD -m ipp2p --tcp --edk --soul -j DROP\n\n"
++    " iptables -A FORWARD -p udp -m ipp2p --kazaa --bit -j DROP\n"
++    " iptables -A FORWARD -p tcp -m ipp2p --edk --soul -j DROP\n\n"
 +    , IPP2P_VERSION);
 +}
 +
@@ -71,8 +69,6 @@ diff -urN iptables-1.2.11.old/extensions/libipt_ipp2p.c iptables-1.2.11/extensio
 +	{ "winmx", 0, 0, 'e' },	
 +	{ "ares", 0, 0, 'f' },
 +	{ "debug", 0, 0, 'g' },
-+	{ "udp", 0, 0, 'h' },
-+	{ "tcp", 0, 0, 'i' },
 +        {0}
 +};
 +
@@ -88,7 +84,6 @@ diff -urN iptables-1.2.11.old/extensions/libipt_ipp2p.c iptables-1.2.11/extensio
 +    /*init the module with default values*/
 +    info->cmd = 0;
 +    info->debug = 0;
-+    info->proto = IPP2P_PROTO_DEFAULT;
 +
 +}
 +	
@@ -364,25 +359,6 @@ diff -urN iptables-1.2.11.old/extensions/libipt_ipp2p.c iptables-1.2.11/extensio
 +	    info->debug = 1;
 +	    break;																											
 +
-+	case 'h':		/*cmd: udp*/
-+	    if ((info->proto & IPP2P_PROTO_UDP) == IPP2P_PROTO_UDP)
-+		exit_error(PARAMETER_PROBLEM,
-+                    "ipp2p: --udp may only be specified once!");
-+
-+	    if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+	    info->proto += IPP2P_PROTO_UDP;
-+	    break;																											
-+
-+
-+	case 'i':		/*cmd: tcp*/
-+	    if ((info->proto & IPP2P_PROTO_TCP) == IPP2P_PROTO_TCP)
-+		exit_error(PARAMETER_PROBLEM,
-+                    "ipp2p: --tcp may only be specified once!");
-+	    if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
-+	    info->proto += IPP2P_PROTO_TCP;
-+	    break;																											
-+
-+
 +	default:
 +            exit_error(PARAMETER_PROBLEM,
 +	    "\nipp2p-parameter problem: for ipp2p usage type: iptables -m ipp2p --help\n");
@@ -425,8 +401,6 @@ diff -urN iptables-1.2.11.old/extensions/libipt_ipp2p.c iptables-1.2.11/extensio
 +    if ((info->cmd & IPP2P_SOUL) == IPP2P_SOUL) printf(" --soul");
 +    if ((info->cmd & IPP2P_WINMX) == IPP2P_WINMX) printf(" --winmx");
 +    if ((info->cmd & IPP2P_ARES) == IPP2P_ARES) printf(" --ares");
-+    if ((info->proto & IPP2P_PROTO_UDP) == IPP2P_PROTO_UDP) printf(" --udp");
-+    if ((info->proto & IPP2P_PROTO_TCP) == IPP2P_PROTO_TCP) printf(" --tcp");
 +    if (info->debug != 0) printf(" --debug");
 +    printf(" ");
 +}
@@ -453,28 +427,27 @@ diff -urN iptables-1.2.11.old/extensions/libipt_ipp2p.c iptables-1.2.11/extensio
 +    if ((info->cmd & IPP2P_SOUL) == IPP2P_SOUL) printf("--soul ");
 +    if ((info->cmd & IPP2P_WINMX) == IPP2P_WINMX) printf("--winmx ");
 +    if ((info->cmd & IPP2P_ARES) == IPP2P_ARES) printf("--ares ");
-+    if ((info->proto & IPP2P_PROTO_UDP) == IPP2P_PROTO_UDP) printf("--udp ");
-+    if ((info->proto & IPP2P_PROTO_TCP) == IPP2P_PROTO_TCP) printf("--tcp ");
 +    if (info->debug != 0) printf("--debug ");
 +}
 +
 +		
 +
 +
-+static
-+struct iptables_match ipp2p
-+= { NULL,
-+    "ipp2p",
-+    IPTABLES_VERSION, 
-+    IPT_ALIGN(sizeof(struct ipt_p2p_info)),
-+    IPT_ALIGN(sizeof(struct ipt_p2p_info)),
-+    &help,
-+    &init,
-+    &parse,
-+    &final_check,
-+    &print,
-+    &save,
-+    opts
++static 
++struct iptables_match ipp2p= 
++{ 
++    .next           = NULL,
++    .name           = "ipp2p",
++    .version        = IPTABLES_VERSION,
++    .size           = IPT_ALIGN(sizeof(struct ipt_p2p_info)),
++    .userspacesize  = IPT_ALIGN(sizeof(struct ipt_p2p_info)),
++    .help           = &help,
++    .init           = &init,
++    .parse          = &parse,
++    .final_check    = &final_check,
++    .print          = &print,
++    .save           = &save,
++    .extra_opts     = opts
 +};
 +					    
 +
@@ -486,7 +459,7 @@ diff -urN iptables-1.2.11.old/extensions/libipt_ipp2p.c iptables-1.2.11/extensio
 +
 diff -urN iptables-1.2.11.old/extensions/Makefile iptables-1.2.11/extensions/Makefile
 --- iptables-1.2.11.old/extensions/Makefile	2004-06-17 12:22:54.000000000 +0200
-+++ iptables-1.2.11/extensions/Makefile	2005-03-01 17:51:19.000000000 +0100
++++ iptables-1.2.11/extensions/Makefile	2005-03-12 00:50:12.000000000 +0100
 @@ -8,6 +8,10 @@
  PF_EXT_SLIB:=ah connlimit connmark conntrack dscp ecn esp helper icmp iprange length limit mac mark multiport owner physdev pkttype realm rpc sctp standard state tcp tcpmss tos ttl udp unclean CLASSIFY CONNMARK DNAT DSCP ECN LOG MARK MASQUERADE MIRROR NETMAP NOTRACK REDIRECT REJECT SAME SNAT TARPIT TCPMSS TOS TRACE TTL ULOG
  PF6_EXT_SLIB:=eui64 hl icmpv6 length limit mac mark multiport owner standard tcp udp HL LOG MARK TRACE
@@ -500,16 +473,15 @@ diff -urN iptables-1.2.11.old/extensions/Makefile iptables-1.2.11/extensions/Mak
  PF6_EXT_SLIB_OPTS:=$(foreach T,$(wildcard extensions/.*-test6),$(shell KERNEL_DIR=$(KERNEL_DIR) $(T)))
 diff -urN iptables-1.2.11.old/include/linux/netfilter_ipv4/ipt_ipp2p.h iptables-1.2.11/include/linux/netfilter_ipv4/ipt_ipp2p.h
 --- iptables-1.2.11.old/include/linux/netfilter_ipv4/ipt_ipp2p.h	1970-01-01 01:00:00.000000000 +0100
-+++ iptables-1.2.11/include/linux/netfilter_ipv4/ipt_ipp2p.h	2005-03-01 17:48:03.000000000 +0100
-@@ -0,0 +1,34 @@
++++ iptables-1.2.11/include/linux/netfilter_ipv4/ipt_ipp2p.h	2005-03-12 00:50:46.000000000 +0100
+@@ -0,0 +1,29 @@
 +#ifndef __IPT_IPP2P_H
 +#define __IPT_IPP2P_H
-+#define IPP2P_VERSION "0.7.1"
++#define IPP2P_VERSION "0.7.4"
 +
 +struct ipt_p2p_info {
 +    int cmd;
 +    int debug;
-+    int proto;
 +};
 +
 +#endif //__IPT_IPP2P_H
@@ -532,7 +504,3 @@ diff -urN iptables-1.2.11.old/include/linux/netfilter_ipv4/ipt_ipp2p.h iptables-
 +#define IPP2P_WINMX		8192
 +#define IPP2P_ARES		16384
 +
-+#define IPP2P_PROTO_DEFAULT	1
-+#define IPP2P_PROTO_UDP		2
-+#define IPP2P_PROTO_TCP		4
-+
diff --git a/openwrt/package/linux/kernel-patches/304-netfilter-ipp2p-0.7.1.bz2 b/openwrt/package/linux/kernel-patches/304-netfilter-ipp2p-0.7.1.bz2
deleted file mode 100644
index 10efa16c20613eaebda1f113c7361958abcb4516..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5300
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
GOmBJT|Fb6m

diff --git a/openwrt/package/linux/kernel-patches/304-netfilter-ipp2p-0.7.4.bz2 b/openwrt/package/linux/kernel-patches/304-netfilter-ipp2p-0.7.4.bz2
new file mode 100644
index 0000000000000000000000000000000000000000..42f303b5434b4afb85f3097b53bc18b8984c4286
GIT binary patch
literal 5267
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
Z=tAte<eEBMT4V?QF64@Ep&%hhHiD2-x9I=?

literal 0
HcmV?d00001

-- 
2.30.2