update layer7 (forward port from whiterussian)
[openwrt.git] / package / iptables / patches / 01-ipp2p-0.7.4.patch
1 diff -urN iptables-1.2.11.old/extensions/libipt_ipp2p.c iptables-1.2.11/extensions/libipt_ipp2p.c
2 --- iptables-1.2.11.old/extensions/libipt_ipp2p.c 1970-01-01 01:00:00.000000000 +0100
3 +++ iptables-1.2.11/extensions/libipt_ipp2p.c 2005-03-12 00:50:27.000000000 +0100
4 @@ -0,0 +1,455 @@
5 +
6 +#include <stdio.h>
7 +#include <netdb.h>
8 +#include <string.h>
9 +#include <stdlib.h>
10 +#include <getopt.h>
11 +#include <ctype.h>
12 +
13 +#include <iptables.h>
14 +
15 +#include <linux/netfilter_ipv4/ipt_ipp2p.h>
16 +
17 +
18 +
19 +
20 +static void
21 +help(void)
22 +{
23 + printf(
24 + "IPP2P v%s options:\n"
25 + " --ipp2p Grab all known p2p packets\n"
26 + " --ipp2p-data Identify all known p2p download commands (obsolete)\n\n"
27 + " --edk [TCP&UDP] All known eDonkey/eMule/Overnet packets\n"
28 + " --dc [TCP] All known Direct Connect packets\n"
29 + " --kazaa [TCP&UDP] All known KaZaA packets\n"
30 + " --gnu [TCP&UDP] All known Gnutella packets\n"
31 + " --bit [TCP&UDP] All known BitTorrent packets\n"
32 + " --apple [TCP] All known AppleJuice packets (beta - just a few tests until now)\n"
33 + " --winmx [TCP] All known WinMX (beta - need feedback)\n"
34 + " --soul [TCP] All known SoulSeek (beta - need feedback!)\n"
35 + " --ares [TCP] All known Ares - use with DROP only (beta - need feedback!)\n\n"
36 + " --edk-data [TCP] eDonkey/eMule/Overnet download commands (obsolete)\n"
37 + " --dc-data [TCP] Direct Connect download command (obsolete)\n"
38 + " --kazaa-data [TCP] KaZaA download command (obsolete)\n"
39 + " --gnu-data [TCP] Gnutella download command (obsolete)\n"
40 + "\nNote that the follwing options will have the same meaning:\n"
41 + " '--ipp2p' is equal to '--edk --dc --kazaa --gnu'\n"
42 + " '--ipp2p-data' is equal to '--edk-data --dc-data --kazaa-data --gnu-data'\n"
43 + "\nIPP2P was intended for TCP only. Due to increasing usage of UDP we needed to change this.\n"
44 + "You can now use -p udp to search UDP packets only or without -p switch to search UDP and TCP packets.\n"
45 + "\nSee README included with this package for more details or visit http://www.ipp2p.org\n"
46 + "\nExamples:\n"
47 + " iptables -A FORWARD -m ipp2p --ipp2p -j MARK --set-mark 0x01\n"
48 + " iptables -A FORWARD -p udp -m ipp2p --kazaa --bit -j DROP\n"
49 + " iptables -A FORWARD -p tcp -m ipp2p --edk --soul -j DROP\n\n"
50 + , IPP2P_VERSION);
51 +}
52 +
53 +
54 +
55 +static struct option opts[] = {
56 + { "ipp2p", 0, 0, '1' },
57 + { "edk", 0, 0, '2' },
58 + { "ipp2p-data", 0, 0, '3' },
59 + { "kazaa-data", 0, 0, '4' },
60 + { "edk-data", 0, 0, '5' },
61 + { "dc-data", 0, 0, '6' },
62 + { "dc", 0, 0, '7' },
63 + { "gnu-data", 0, 0, '8' },
64 + { "gnu", 0, 0, '9' },
65 + { "kazaa", 0, 0, 'a' },
66 + { "bit", 0, 0, 'b' },
67 + { "apple", 0, 0, 'c' },
68 + { "soul", 0, 0, 'd' },
69 + { "winmx", 0, 0, 'e' },
70 + { "ares", 0, 0, 'f' },
71 + { "debug", 0, 0, 'g' },
72 + {0}
73 +};
74 +
75 +
76 +
77 +static void
78 +init(struct ipt_entry_match *m, unsigned int *nfcache)
79 +{
80 + struct ipt_p2p_info *info = (struct ipt_p2p_info *)m->data;
81 +
82 + *nfcache |= NFC_UNKNOWN;
83 +
84 + /*init the module with default values*/
85 + info->cmd = 0;
86 + info->debug = 0;
87 +
88 +}
89 +
90 +
91 +static int
92 +parse(int c, char **argv, int invert, unsigned int *flags,
93 + const struct ipt_entry *entry,
94 + unsigned int *nfcache,
95 + struct ipt_entry_match **match)
96 +{
97 + struct ipt_p2p_info *info = (struct ipt_p2p_info *)(*match)->data;
98 +
99 + switch (c) {
100 + case '1': /*cmd: ipp2p*/
101 + if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
102 + exit_error(PARAMETER_PROBLEM,
103 + "ipp2p: `--ipp2p' may only be "
104 + "specified once!");
105 + if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
106 + exit_error(PARAMETER_PROBLEM,
107 + "ipp2p: `--ipp2p-data' may only be "
108 + "specified alone!");
109 + if ((*flags) != 0)
110 + exit_error(PARAMETER_PROBLEM,
111 + "ipp2p: `--ipp2p' may only be "
112 + "specified alone!");
113 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
114 + *flags += SHORT_HAND_IPP2P;
115 + info->cmd = *flags;
116 + break;
117 +
118 + case '2': /*cmd: edk*/
119 + if ((*flags & IPP2P_EDK) == IPP2P_EDK)
120 + exit_error(PARAMETER_PROBLEM,
121 + "ipp2p: `--edk' may only be "
122 + "specified once");
123 + if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
124 + exit_error(PARAMETER_PROBLEM,
125 + "ipp2p: `--ipp2p' may only be "
126 + "specified alone!");
127 + if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
128 + exit_error(PARAMETER_PROBLEM,
129 + "ipp2p: `--ipp2p-data' may only be "
130 + "specified alone!");
131 + if ((*flags & IPP2P_DATA_EDK) == IPP2P_DATA_EDK)
132 + exit_error(PARAMETER_PROBLEM,
133 + "ipp2p: use `--edk' OR `--edk-data' but not both of them!");
134 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
135 + *flags += IPP2P_EDK;
136 + info->cmd = *flags;
137 + break;
138 +
139 + case '3': /*cmd: ipp2p-data*/
140 + if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
141 + exit_error(PARAMETER_PROBLEM,
142 + "ipp2p: `--ipp2p-data' may only be "
143 + "specified once!");
144 + if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
145 + exit_error(PARAMETER_PROBLEM,
146 + "ipp2p: `--ipp2p' may only be "
147 + "specified alone!");
148 + if ((*flags) != 0)
149 + exit_error(PARAMETER_PROBLEM,
150 + "ipp2p: `--ipp2p-data' may only be "
151 + "specified alone!");
152 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
153 + *flags += SHORT_HAND_DATA;
154 + info->cmd = *flags;
155 + break;
156 +
157 + case '4': /*cmd: kazaa-data*/
158 + if ((*flags & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA)
159 + exit_error(PARAMETER_PROBLEM,
160 + "ipp2p: `--kazaa-data' may only be "
161 + "specified once!");
162 + if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
163 + exit_error(PARAMETER_PROBLEM,
164 + "ipp2p: `--ipp2p' may only be "
165 + "specified alone!");
166 + if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
167 + exit_error(PARAMETER_PROBLEM,
168 + "ipp2p: `--ipp2p-data' may only be "
169 + "specified alone!");
170 + if ((*flags & IPP2P_KAZAA) == IPP2P_KAZAA)
171 + exit_error(PARAMETER_PROBLEM,
172 + "ipp2p: use `--kazaa' OR `--kazaa-data' but not both of them!");
173 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
174 + *flags += IPP2P_DATA_KAZAA;
175 + info->cmd = *flags;
176 + break;
177 +
178 + case '5': /*cmd: edk-data*/
179 + if ((*flags & IPP2P_DATA_EDK) == IPP2P_DATA_EDK)
180 + exit_error(PARAMETER_PROBLEM,
181 + "ipp2p: `--edk-data' may only be "
182 + "specified once!");
183 + if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
184 + exit_error(PARAMETER_PROBLEM,
185 + "ipp2p: `--ipp2p' may only be "
186 + "specified alone!");
187 + if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
188 + exit_error(PARAMETER_PROBLEM,
189 + "ipp2p: `--ipp2p-data' may only be "
190 + "specified alone!");
191 + if ((*flags & IPP2P_EDK) == IPP2P_EDK)
192 + exit_error(PARAMETER_PROBLEM,
193 + "ipp2p: use `--edk' OR `--edk-data' but not both of them!");
194 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
195 + *flags += IPP2P_DATA_EDK;
196 + info->cmd = *flags;
197 + break;
198 +
199 + case '6': /*cmd: dc-data*/
200 + if ((*flags & IPP2P_DATA_DC) == IPP2P_DATA_DC)
201 + exit_error(PARAMETER_PROBLEM,
202 + "ipp2p: `--dc-data' may only be "
203 + "specified once!");
204 + if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
205 + exit_error(PARAMETER_PROBLEM,
206 + "ipp2p: `--ipp2p-data' may only be "
207 + "specified alone!");
208 + if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
209 + exit_error(PARAMETER_PROBLEM,
210 + "ipp2p: `--ipp2p' may only be "
211 + "specified alone!");
212 + if ((*flags & IPP2P_DC) == IPP2P_DC)
213 + exit_error(PARAMETER_PROBLEM,
214 + "ipp2p: use `--dc' OR `--dc-data' but not both of them!");
215 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
216 + *flags += IPP2P_DATA_DC;
217 + info->cmd = *flags;
218 + break;
219 +
220 + case '7': /*cmd: dc*/
221 + if ((*flags & IPP2P_DC) == IPP2P_DC)
222 + exit_error(PARAMETER_PROBLEM,
223 + "ipp2p: `--dc' may only be "
224 + "specified once!");
225 + if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
226 + exit_error(PARAMETER_PROBLEM,
227 + "ipp2p: `--ipp2p' may only be "
228 + "specified alone!");
229 + if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
230 + exit_error(PARAMETER_PROBLEM,
231 + "ipp2p: `--ipp2p-data' may only be "
232 + "specified alone!");
233 + if ((*flags & IPP2P_DATA_DC) == IPP2P_DATA_DC)
234 + exit_error(PARAMETER_PROBLEM,
235 + "ipp2p: use `--dc' OR `--dc-data' but not both of them!");
236 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
237 + *flags += IPP2P_DC;
238 + info->cmd = *flags;
239 + break;
240 +
241 +
242 + case '8': /*cmd: gnu-data*/
243 + if ((*flags & IPP2P_DATA_GNU) == IPP2P_DATA_GNU)
244 + exit_error(PARAMETER_PROBLEM,
245 + "ipp2p: `--gnu-data' may only be "
246 + "specified once!");
247 + if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
248 + exit_error(PARAMETER_PROBLEM,
249 + "ipp2p: `--ipp2p' may only be "
250 + "specified alone!");
251 + if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
252 + exit_error(PARAMETER_PROBLEM,
253 + "ipp2p: `--ipp2p-data' may only be "
254 + "specified alone!");
255 + if ((*flags & IPP2P_GNU) == IPP2P_GNU)
256 + exit_error(PARAMETER_PROBLEM,
257 + "ipp2p: use `--gnu' OR `--gnu-data' but not both of them!");
258 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
259 + *flags += IPP2P_DATA_GNU;
260 + info->cmd = *flags;
261 + break;
262 +
263 + case '9': /*cmd: gnu*/
264 + if ((*flags & IPP2P_GNU) == IPP2P_GNU)
265 + exit_error(PARAMETER_PROBLEM,
266 + "ipp2p: `--gnu' may only be "
267 + "specified once!");
268 + if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
269 + exit_error(PARAMETER_PROBLEM,
270 + "ipp2p: `--ipp2p-data' may only be "
271 + "specified alone!");
272 + if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
273 + exit_error(PARAMETER_PROBLEM,
274 + "ipp2p: `--ipp2p' may only be "
275 + "specified alone!");
276 + if ((*flags & IPP2P_DATA_GNU) == IPP2P_DATA_GNU)
277 + exit_error(PARAMETER_PROBLEM,
278 + "ipp2p: use `--gnu' OR `--gnu-data' but not both of them!");
279 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
280 + *flags += IPP2P_GNU;
281 + info->cmd = *flags;
282 + break;
283 +
284 + case 'a': /*cmd: kazaa*/
285 + if ((*flags & IPP2P_KAZAA) == IPP2P_KAZAA)
286 + exit_error(PARAMETER_PROBLEM,
287 + "ipp2p: `--kazaa' may only be "
288 + "specified once!");
289 + if ((*flags & SHORT_HAND_DATA) == SHORT_HAND_DATA)
290 + exit_error(PARAMETER_PROBLEM,
291 + "ipp2p: `--ipp2p-data' may only be "
292 + "specified alone!");
293 + if ((*flags & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P)
294 + exit_error(PARAMETER_PROBLEM,
295 + "ipp2p: `--ipp2p' may only be "
296 + "specified alone!");
297 + if ((*flags & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA)
298 + exit_error(PARAMETER_PROBLEM,
299 + "ipp2p: use `--kazaa' OR `--kazaa-data' but not both of them!");
300 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
301 + *flags += IPP2P_KAZAA;
302 + info->cmd = *flags;
303 + break;
304 +
305 + case 'b': /*cmd: bit*/
306 + if ((*flags & IPP2P_BIT) == IPP2P_BIT)
307 + exit_error(PARAMETER_PROBLEM,
308 + "ipp2p: `--bit' may only be "
309 + "specified once!");
310 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
311 + *flags += IPP2P_BIT;
312 + info->cmd = *flags;
313 + break;
314 +
315 + case 'c': /*cmd: apple*/
316 + if ((*flags & IPP2P_APPLE) == IPP2P_APPLE)
317 + exit_error(PARAMETER_PROBLEM,
318 + "ipp2p: `--apple' may only be "
319 + "specified once!");
320 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
321 + *flags += IPP2P_APPLE;
322 + info->cmd = *flags;
323 + break;
324 +
325 +
326 + case 'd': /*cmd: soul*/
327 + if ((*flags & IPP2P_SOUL) == IPP2P_SOUL)
328 + exit_error(PARAMETER_PROBLEM,
329 + "ipp2p: `--soul' may only be "
330 + "specified once!");
331 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
332 + *flags += IPP2P_SOUL;
333 + info->cmd = *flags;
334 + break;
335 +
336 +
337 + case 'e': /*cmd: winmx*/
338 + if ((*flags & IPP2P_WINMX) == IPP2P_WINMX)
339 + exit_error(PARAMETER_PROBLEM,
340 + "ipp2p: `--winmx' may only be "
341 + "specified once!");
342 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
343 + *flags += IPP2P_WINMX;
344 + info->cmd = *flags;
345 + break;
346 +
347 + case 'f': /*cmd: ares*/
348 + if ((*flags & IPP2P_ARES) == IPP2P_ARES)
349 + exit_error(PARAMETER_PROBLEM,
350 + "ipp2p: `--ares' may only be "
351 + "specified once!");
352 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
353 + *flags += IPP2P_ARES;
354 + info->cmd = *flags;
355 + break;
356 +
357 + case 'g': /*cmd: debug*/
358 + if (invert) exit_error(PARAMETER_PROBLEM, "ipp2p: invert [!] is not allowed!");
359 + info->debug = 1;
360 + break;
361 +
362 + default:
363 + exit_error(PARAMETER_PROBLEM,
364 + "\nipp2p-parameter problem: for ipp2p usage type: iptables -m ipp2p --help\n");
365 + return 0;
366 + }
367 + return 1;
368 +}
369 +
370 +
371 +static void
372 +final_check(unsigned int flags)
373 +{
374 + if (!flags)
375 + exit_error(PARAMETER_PROBLEM,
376 + "\nipp2p-parameter problem: for ipp2p usage type: iptables -m ipp2p --help\n");
377 +}
378 +
379 +
380 +
381 +static void
382 +print(const struct ipt_ip *ip,
383 + const struct ipt_entry_match *match,
384 + int numeric)
385 +{
386 + struct ipt_p2p_info *info = (struct ipt_p2p_info *)match->data;
387 +
388 + printf("ipp2p v%s", IPP2P_VERSION);
389 + if ((info->cmd & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P) printf(" --ipp2p");
390 + if ((info->cmd & SHORT_HAND_DATA) == SHORT_HAND_DATA) printf(" --ipp2p-data");
391 + if ((info->cmd & IPP2P_KAZAA) == IPP2P_KAZAA) printf(" --kazaa");
392 + if ((info->cmd & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA) printf(" --kazaa-data");
393 + if ((info->cmd & IPP2P_DATA_GNU) == IPP2P_DATA_GNU) printf(" --gnu-data");
394 + if ((info->cmd & IPP2P_GNU) == IPP2P_GNU) printf(" --gnu");
395 + if ((info->cmd & IPP2P_EDK) == IPP2P_EDK) printf(" --edk");
396 + if ((info->cmd & IPP2P_DATA_EDK) == IPP2P_DATA_EDK) printf(" --edk-data");
397 + if ((info->cmd & IPP2P_DATA_DC) == IPP2P_DATA_DC) printf(" --dc-data");
398 + if ((info->cmd & IPP2P_DC) == IPP2P_DC) printf(" --dc");
399 + if ((info->cmd & IPP2P_BIT) == IPP2P_BIT) printf(" --bit");
400 + if ((info->cmd & IPP2P_APPLE) == IPP2P_APPLE) printf(" --apple");
401 + if ((info->cmd & IPP2P_SOUL) == IPP2P_SOUL) printf(" --soul");
402 + if ((info->cmd & IPP2P_WINMX) == IPP2P_WINMX) printf(" --winmx");
403 + if ((info->cmd & IPP2P_ARES) == IPP2P_ARES) printf(" --ares");
404 + if (info->debug != 0) printf(" --debug");
405 + printf(" ");
406 +}
407 +
408 +
409 +
410 +static void
411 +save(const struct ipt_ip *ip, const struct ipt_entry_match *match)
412 +{
413 + struct ipt_p2p_info *info = (struct ipt_p2p_info *)match->data;
414 +
415 + if ((info->cmd & SHORT_HAND_IPP2P) == SHORT_HAND_IPP2P) printf("--ipp2p ");
416 + if ((info->cmd & SHORT_HAND_DATA) == SHORT_HAND_DATA) printf("--ipp2p-data ");
417 + if ((info->cmd & IPP2P_KAZAA) == IPP2P_KAZAA) printf("--kazaa ");
418 + if ((info->cmd & IPP2P_DATA_KAZAA) == IPP2P_DATA_KAZAA) printf("--kazaa-data ");
419 + if ((info->cmd & IPP2P_DATA_GNU) == IPP2P_DATA_GNU) printf("--gnu-data ");
420 + if ((info->cmd & IPP2P_GNU) == IPP2P_GNU) printf("--gnu ");
421 + if ((info->cmd & IPP2P_EDK) == IPP2P_EDK) printf("--edk ");
422 + if ((info->cmd & IPP2P_DATA_EDK) == IPP2P_DATA_EDK) printf("--edk-data ");
423 + if ((info->cmd & IPP2P_DATA_DC) == IPP2P_DATA_DC) printf("--dc-data ");
424 + if ((info->cmd & IPP2P_DC) == IPP2P_DC) printf("--dc ");
425 + if ((info->cmd & IPP2P_BIT) == IPP2P_BIT) printf("--bit ");
426 + if ((info->cmd & IPP2P_APPLE) == IPP2P_APPLE) printf("--apple ");
427 + if ((info->cmd & IPP2P_SOUL) == IPP2P_SOUL) printf("--soul ");
428 + if ((info->cmd & IPP2P_WINMX) == IPP2P_WINMX) printf("--winmx ");
429 + if ((info->cmd & IPP2P_ARES) == IPP2P_ARES) printf("--ares ");
430 + if (info->debug != 0) printf("--debug ");
431 +}
432 +
433 +
434 +
435 +
436 +static
437 +struct iptables_match ipp2p=
438 +{
439 + .next = NULL,
440 + .name = "ipp2p",
441 + .version = IPTABLES_VERSION,
442 + .size = IPT_ALIGN(sizeof(struct ipt_p2p_info)),
443 + .userspacesize = IPT_ALIGN(sizeof(struct ipt_p2p_info)),
444 + .help = &help,
445 + .init = &init,
446 + .parse = &parse,
447 + .final_check = &final_check,
448 + .print = &print,
449 + .save = &save,
450 + .extra_opts = opts
451 +};
452 +
453 +
454 +
455 +void _init(void)
456 +{
457 + register_match(&ipp2p);
458 +}
459 +
460 diff -urN iptables-1.2.11.old/extensions/Makefile iptables-1.2.11/extensions/Makefile
461 --- iptables-1.2.11.old/extensions/Makefile 2004-06-17 12:22:54.000000000 +0200
462 +++ iptables-1.2.11/extensions/Makefile 2005-03-12 00:50:12.000000000 +0100
463 @@ -8,6 +8,10 @@
464 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
465 PF6_EXT_SLIB:=eui64 hl icmpv6 length limit mac mark multiport owner standard tcp udp HL LOG MARK TRACE
466
467 +
468 +# ipp2p
469 +PF_EXT_SLIB += ipp2p
470 +
471 # Optionals
472 PF_EXT_SLIB_OPTS:=$(foreach T,$(wildcard extensions/.*-test),$(shell KERNEL_DIR=$(KERNEL_DIR) $(T)))
473 PF6_EXT_SLIB_OPTS:=$(foreach T,$(wildcard extensions/.*-test6),$(shell KERNEL_DIR=$(KERNEL_DIR) $(T)))
474 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
475 --- iptables-1.2.11.old/include/linux/netfilter_ipv4/ipt_ipp2p.h 1970-01-01 01:00:00.000000000 +0100
476 +++ iptables-1.2.11/include/linux/netfilter_ipv4/ipt_ipp2p.h 2005-03-12 00:50:46.000000000 +0100
477 @@ -0,0 +1,29 @@
478 +#ifndef __IPT_IPP2P_H
479 +#define __IPT_IPP2P_H
480 +#define IPP2P_VERSION "0.7.4"
481 +
482 +struct ipt_p2p_info {
483 + int cmd;
484 + int debug;
485 +};
486 +
487 +#endif //__IPT_IPP2P_H
488 +
489 +#define SHORT_HAND_IPP2P 1 /* --ipp2p switch*/
490 +#define SHORT_HAND_DATA 4 /* --ipp2p-data switch*/
491 +#define SHORT_HAND_NONE 5 /* no short hand*/
492 +
493 +#define IPP2P_EDK 2
494 +#define IPP2P_DATA_KAZAA 8
495 +#define IPP2P_DATA_EDK 16
496 +#define IPP2P_DATA_DC 32
497 +#define IPP2P_DC 64
498 +#define IPP2P_DATA_GNU 128
499 +#define IPP2P_GNU 256
500 +#define IPP2P_KAZAA 512
501 +#define IPP2P_BIT 1024
502 +#define IPP2P_APPLE 2048
503 +#define IPP2P_SOUL 4096
504 +#define IPP2P_WINMX 8192
505 +#define IPP2P_ARES 16384
506 +
This page took 0.063443 seconds and 5 git commands to generate.