]> git.pld-linux.org Git - packages/linux-libc-headers.git/blame - linux-libc-headers-netfilter.patch
- updated.
[packages/linux-libc-headers.git] / linux-libc-headers-netfilter.patch
CommitLineData
6fe1750b
PS
1diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ip_conntrack.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ip_conntrack.h
2--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ip_conntrack.h 2004-01-18 00:04:34.000000000 +0100
3+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ip_conntrack.h 2004-07-03 22:43:07.851479552 +0200
1a75cf76 4@@ -49,10 +49,12 @@
ac0dc5e3 5
1a75cf76
PS
6 #include <linux/netfilter_ipv4/ip_conntrack_tcp.h>
7 #include <linux/netfilter_ipv4/ip_conntrack_icmp.h>
8+#include <linux/netfilter_ipv4/ip_conntrack_sctp.h>
ac0dc5e3 9
1a75cf76
PS
10 /* per conntrack: protocol private data */
11 union ip_conntrack_proto {
12 /* insert conntrack proto private data here */
13+ struct ip_ct_sctp sctp;
14 struct ip_ct_tcp tcp;
15 struct ip_ct_icmp icmp;
16 };
6fe1750b
PS
17diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ip_conntrack_sctp.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ip_conntrack_sctp.h
18--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ip_conntrack_sctp.h 1970-01-01 01:00:00.000000000 +0100
19+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ip_conntrack_sctp.h 2004-07-03 16:57:41.000000000 +0200
1a75cf76
PS
20@@ -0,0 +1,25 @@
21+#ifndef _IP_CONNTRACK_SCTP_H
22+#define _IP_CONNTRACK_SCTP_H
23+/* SCTP tracking. */
24+
25+enum sctp_conntrack {
26+ SCTP_CONNTRACK_NONE,
27+ SCTP_CONNTRACK_CLOSED,
28+ SCTP_CONNTRACK_COOKIE_WAIT,
29+ SCTP_CONNTRACK_COOKIE_ECHOED,
30+ SCTP_CONNTRACK_ESTABLISHED,
31+ SCTP_CONNTRACK_SHUTDOWN_SENT,
32+ SCTP_CONNTRACK_SHUTDOWN_RECD,
33+ SCTP_CONNTRACK_SHUTDOWN_ACK_SENT,
34+ SCTP_CONNTRACK_MAX
35+};
36+
37+struct ip_ct_sctp
5b9841a9 38+{
1a75cf76 39+ enum sctp_conntrack state;
5b9841a9 40+
1a75cf76
PS
41+ u_int32_t vtag[IP_CT_DIR_MAX];
42+ u_int32_t ttag[IP_CT_DIR_MAX];
5b9841a9
PS
43+};
44+
1a75cf76 45+#endif /* _IP_CONNTRACK_SCTP_H */
6fe1750b
PS
46diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ip_conntrack_tuple.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
47--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ip_conntrack_tuple.h 2004-01-05 19:42:34.000000000 +0100
48+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ip_conntrack_tuple.h 2004-07-03 22:36:24.788754400 +0200
bab37e86
PS
49@@ -25,6 +25,9 @@
50 struct {
51 u_int16_t id;
52 } icmp;
53+ struct {
54+ u_int16_t port;
55+ } sctp;
56 };
57
58 /* The manipulable part of the tuple. */
59@@ -55,6 +58,9 @@
60 struct {
61 u_int8_t type, code;
62 } icmp;
63+ struct {
64+ u_int16_t port;
65+ } sctp;
66 } u;
67
68 /* The protocol. */
6fe1750b
PS
69diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ip_logging.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ip_logging.h
70--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ip_logging.h 1970-01-01 01:00:00.000000000 +0100
71+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ip_logging.h 2004-07-03 22:37:10.810757992 +0200
e0dfec11
PS
72@@ -0,0 +1,5 @@
73+/* IPv4 macros for the internal logging interface. */
74+#ifndef __IP_LOGGING_H
75+#define __IP_LOGGING_H
76+
77+#endif /*__IP_LOGGING_H*/
6fe1750b
PS
78diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ip_queue.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ip_queue.h
79--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ip_queue.h 2004-06-09 14:00:52.000000000 +0200
80+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ip_queue.h 2004-07-03 22:37:35.223046760 +0200
38896796
PS
81@@ -7,7 +7,7 @@
82 #ifndef _IP_QUEUE_H
83 #define _IP_QUEUE_H
e0dfec11 84
38896796
PS
85-#include <linux/if.h>
86+#include <net/if.h>
e0dfec11 87
38896796
PS
88 /* Messages sent from kernel */
89 typedef struct ipq_packet_msg {
6fe1750b 90@@ -39,10 +39,20 @@
9b0600c6 91 unsigned char payload[0]; /* Optional replacement packet */
92 } ipq_verdict_msg_t;
93
94+typedef struct ipq_vwmark_msg {
95+ unsigned int value; /* Verdict to hand to netfilter */
96+ unsigned long id; /* Packet ID for this verdict */
97+ size_t data_len; /* Length of replacement data */
98+ unsigned char payload[0]; /* Optional replacement packet */
99+ unsigned long nfmark; /* Mark for the Packet */
100+} ipq_vwmark_msg_t;
101+
102+
103 typedef struct ipq_peer_msg {
104 union {
105 ipq_verdict_msg_t verdict;
106 ipq_mode_msg_t mode;
107+ ipq_vwmark_msg_t vwmark;
108 } msg;
109 } ipq_peer_msg_t;
110
6fe1750b 111@@ -59,6 +69,7 @@
9b0600c6 112 #define IPQM_MODE (IPQM_BASE + 1) /* Mode request from peer */
113 #define IPQM_VERDICT (IPQM_BASE + 2) /* Verdict from peer */
114 #define IPQM_PACKET (IPQM_BASE + 3) /* Packet from kernel */
115-#define IPQM_MAX (IPQM_BASE + 4)
116+#define IPQM_VWMARK (IPQM_BASE + 4) /* Verdict and mark from peer */
117+#define IPQM_MAX (IPQM_BASE + 5)
118
119 #endif /*_IP_QUEUE_H*/
6fe1750b
PS
120diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_addrtype.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_addrtype.h
121--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_addrtype.h 1970-01-01 01:00:00.000000000 +0100
122+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_addrtype.h 2004-07-03 16:56:45.000000000 +0200
bab37e86
PS
123@@ -0,0 +1,11 @@
124+#ifndef _IPT_ADDRTYPE_H
125+#define _IPT_ADDRTYPE_H
126+
127+struct ipt_addrtype_info {
128+ u_int16_t source; /* source-type mask */
129+ u_int16_t dest; /* dest-type mask */
6fe1750b
PS
130+ u_int32_t invert_source;
131+ u_int32_t invert_dest;
bab37e86
PS
132+};
133+
134+#endif
6fe1750b
PS
135diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_connlimit.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_connlimit.h
136--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_connlimit.h 1970-01-01 01:00:00.000000000 +0100
137+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_connlimit.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
138@@ -0,0 +1,12 @@
139+#ifndef _IPT_CONNLIMIT_H
140+#define _IPT_CONNLIMIT_H
141+
142+struct ipt_connlimit_data;
143+
144+struct ipt_connlimit_info {
145+ int limit;
146+ int inverse;
147+ u_int32_t mask;
148+ struct ipt_connlimit_data *data;
149+};
150+#endif /* _IPT_CONNLIMIT_H */
6fe1750b
PS
151diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_connmark.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_connmark.h
152--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_connmark.h 1970-01-01 01:00:00.000000000 +0100
153+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_connmark.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
154@@ -0,0 +1,18 @@
155+#ifndef _IPT_CONNMARK_H
156+#define _IPT_CONNMARK_H
157+
158+/* Copyright (C) 2002,2004 MARA Systems AB <http://www.marasystems.com>
159+ * by Henrik Nordstrom <hno@marasystems.com>
160+ *
161+ * This program is free software; you can redistribute it and/or modify
162+ * it under the terms of the GNU General Public License as published by
163+ * the Free Software Foundation; either version 2 of the License, or
164+ * (at your option) any later version.
165+ */
166+
167+struct ipt_connmark_info {
168+ unsigned long mark, mask;
169+ u_int8_t invert;
170+};
171+
172+#endif /*_IPT_CONNMARK_H*/
6fe1750b
PS
173diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_CONNMARK.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_CONNMARK.h
174--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_CONNMARK.h 1970-01-01 01:00:00.000000000 +0100
175+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_CONNMARK.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
176@@ -0,0 +1,25 @@
177+#ifndef _IPT_CONNMARK_H_target
178+#define _IPT_CONNMARK_H_target
179+
180+/* Copyright (C) 2002,2004 MARA Systems AB <http://www.marasystems.com>
181+ * by Henrik Nordstrom <hno@marasystems.com>
182+ *
183+ * This program is free software; you can redistribute it and/or modify
184+ * it under the terms of the GNU General Public License as published by
185+ * the Free Software Foundation; either version 2 of the License, or
186+ * (at your option) any later version.
187+ */
188+
189+enum {
190+ IPT_CONNMARK_SET = 0,
191+ IPT_CONNMARK_SAVE,
192+ IPT_CONNMARK_RESTORE
193+};
194+
195+struct ipt_connmark_target_info {
196+ unsigned long mark;
197+ unsigned long mask;
198+ u_int8_t mode;
199+};
200+
201+#endif /*_IPT_CONNMARK_H_target*/
6fe1750b
PS
202diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_dstlimit.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_dstlimit.h
203--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_dstlimit.h 1970-01-01 01:00:00.000000000 +0100
204+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_dstlimit.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
205@@ -0,0 +1,39 @@
206+#ifndef _IPT_DSTLIMIT_H
207+#define _IPT_DSTLIMIT_H
208+
209+/* timings are in milliseconds. */
210+#define IPT_DSTLIMIT_SCALE 10000
211+/* 1/10,000 sec period => max of 10,000/sec. Min rate is then 429490
212+ seconds, or one every 59 hours. */
213+
214+/* details of this structure hidden by the implementation */
215+struct ipt_dstlimit_htable;
216+
217+#define IPT_DSTLIMIT_HASH_DIP 0x0001
218+#define IPT_DSTLIMIT_HASH_DPT 0x0002
219+#define IPT_DSTLIMIT_HASH_SIP 0x0004
220+
221+struct dstlimit_cfg {
222+ u_int32_t mode; /* bitmask of IPT_DSTLIMIT_HASH_* */
223+ u_int32_t avg; /* Average secs between packets * scale */
224+ u_int32_t burst; /* Period multiplier for upper limit. */
225+
226+ /* user specified */
227+ u_int32_t size; /* how many buckets */
228+ u_int32_t max; /* max number of entries */
229+ u_int32_t gc_interval; /* gc interval */
230+ u_int32_t expire; /* when do entries expire? */
231+};
232+
233+struct ipt_dstlimit_info {
234+ char name [IFNAMSIZ]; /* name */
235+ struct dstlimit_cfg cfg;
236+ struct ipt_dstlimit_htable *hinfo;
237+
238+ /* Used internally by the kernel */
239+ union {
240+ void *ptr;
241+ struct ipt_dstlimit_info *master;
242+ } u;
243+};
244+#endif /*_IPT_DSTLIMIT_H*/
6fe1750b
PS
245diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_fuzzy.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_fuzzy.h
246--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_fuzzy.h 1970-01-01 01:00:00.000000000 +0100
247+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_fuzzy.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
248@@ -0,0 +1,21 @@
249+#ifndef _IPT_FUZZY_H
250+#define _IPT_FUZZY_H
251+
252+#include <linux/param.h>
253+#include <linux/types.h>
254+
255+#define MAXFUZZYRATE 10000000
256+#define MINFUZZYRATE 3
257+
258+struct ipt_fuzzy_info {
259+ u_int32_t minimum_rate;
260+ u_int32_t maximum_rate;
261+ u_int32_t packets_total;
262+ u_int32_t bytes_total;
263+ u_int32_t previous_time;
264+ u_int32_t present_time;
265+ u_int32_t mean_rate;
266+ u_int8_t acceptance_rate;
267+};
268+
269+#endif /*_IPT_FUZZY_H*/
6fe1750b
PS
270diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_IMQ.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_IMQ.h
271--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_IMQ.h 1970-01-01 01:00:00.000000000 +0100
272+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_IMQ.h 2004-07-03 16:57:42.000000000 +0200
bab37e86
PS
273@@ -0,0 +1,8 @@
274+#ifndef _IPT_IMQ_H
275+#define _IPT_IMQ_H
276+
277+struct ipt_imq_info {
278+ unsigned int todev; /* target imq device */
279+};
280+
281+#endif /* _IPT_IMQ_H */
6fe1750b
PS
282diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_IPMARK.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_IPMARK.h
283--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_IPMARK.h 1970-01-01 01:00:00.000000000 +0100
284+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_IPMARK.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
285@@ -0,0 +1,13 @@
286+#ifndef _IPT_IPMARK_H_target
287+#define _IPT_IPMARK_H_target
288+
289+struct ipt_ipmark_target_info {
290+ unsigned long andmask;
291+ unsigned long ormask;
292+ unsigned int addr;
293+};
294+
295+#define IPT_IPMARK_SRC 0
296+#define IPT_IPMARK_DST 1
297+
298+#endif /*_IPT_IPMARK_H_target*/
6fe1750b
PS
299diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_ipv4options.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_ipv4options.h
300--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_ipv4options.h 1970-01-01 01:00:00.000000000 +0100
301+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_ipv4options.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
302@@ -0,0 +1,21 @@
303+#ifndef __ipt_ipv4options_h_included__
304+#define __ipt_ipv4options_h_included__
305+
306+#define IPT_IPV4OPTION_MATCH_SSRR 0x01 /* For strict source routing */
307+#define IPT_IPV4OPTION_MATCH_LSRR 0x02 /* For loose source routing */
308+#define IPT_IPV4OPTION_DONT_MATCH_SRR 0x04 /* any source routing */
309+#define IPT_IPV4OPTION_MATCH_RR 0x08 /* For Record route */
310+#define IPT_IPV4OPTION_DONT_MATCH_RR 0x10
311+#define IPT_IPV4OPTION_MATCH_TIMESTAMP 0x20 /* For timestamp request */
312+#define IPT_IPV4OPTION_DONT_MATCH_TIMESTAMP 0x40
313+#define IPT_IPV4OPTION_MATCH_ROUTER_ALERT 0x80 /* For router-alert */
314+#define IPT_IPV4OPTION_DONT_MATCH_ROUTER_ALERT 0x100
315+#define IPT_IPV4OPTION_MATCH_ANY_OPT 0x200 /* match packet with any option */
316+#define IPT_IPV4OPTION_DONT_MATCH_ANY_OPT 0x400 /* match packet with no option */
317+
318+struct ipt_ipv4options_info {
319+ u_int16_t options;
320+};
321+
322+
323+#endif /* __ipt_ipv4options_h_included__ */
6fe1750b
PS
324diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_mport.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_mport.h
325--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_mport.h 1970-01-01 01:00:00.000000000 +0100
326+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_mport.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
327@@ -0,0 +1,24 @@
328+#ifndef _IPT_MPORT_H
329+#define _IPT_MPORT_H
330+#include <linux/netfilter_ipv4/ip_tables.h>
331+
332+#define IPT_MPORT_SOURCE (1<<0)
333+#define IPT_MPORT_DESTINATION (1<<1)
334+#define IPT_MPORT_EITHER (IPT_MPORT_SOURCE|IPT_MPORT_DESTINATION)
335+
336+#define IPT_MULTI_PORTS 15
337+
338+/* Must fit inside union ipt_matchinfo: 32 bytes */
339+/* every entry in ports[] except for the last one has one bit in pflags
340+ * associated with it. If this bit is set, the port is the first port of
341+ * a portrange, with the next entry being the last.
342+ * End of list is marked with pflags bit set and port=65535.
343+ * If 14 ports are used (last one does not have a pflag), the last port
344+ * is repeated to fill the last entry in ports[] */
345+struct ipt_mport
346+{
347+ u_int8_t flags:2; /* Type of comparison */
348+ u_int16_t pflags:14; /* Port flags */
349+ u_int16_t ports[IPT_MULTI_PORTS]; /* Ports */
350+};
351+#endif /*_IPT_MPORT_H*/
6fe1750b
PS
352diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_nth.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_nth.h
353--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_nth.h 1970-01-01 01:00:00.000000000 +0100
354+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_nth.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
355@@ -0,0 +1,19 @@
356+#ifndef _IPT_NTH_H
357+#define _IPT_NTH_H
358+
359+#include <linux/param.h>
360+#include <linux/types.h>
361+
362+#ifndef IPT_NTH_NUM_COUNTERS
363+#define IPT_NTH_NUM_COUNTERS 16
364+#endif
365+
366+struct ipt_nth_info {
367+ u_int8_t every;
368+ u_int8_t not;
369+ u_int8_t startat;
370+ u_int8_t counter;
371+ u_int8_t packet;
372+};
373+
374+#endif /*_IPT_NTH_H*/
6fe1750b
PS
375diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_policy.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_policy.h
376--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_policy.h 1970-01-01 01:00:00.000000000 +0100
377+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_policy.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
378@@ -0,0 +1,52 @@
379+#ifndef _IPT_POLICY_H
380+#define _IPT_POLICY_H
381+
382+#define POLICY_MAX_ELEM 4
383+
384+enum ipt_policy_flags
385+{
386+ POLICY_MATCH_IN = 0x1,
387+ POLICY_MATCH_OUT = 0x2,
388+ POLICY_MATCH_NONE = 0x4,
389+ POLICY_MATCH_STRICT = 0x8,
390+};
391+
392+enum ipt_policy_modes
393+{
394+ POLICY_MODE_TRANSPORT,
395+ POLICY_MODE_TUNNEL
396+};
397+
398+struct ipt_policy_spec
399+{
400+ u_int8_t saddr:1,
401+ daddr:1,
402+ proto:1,
403+ mode:1,
404+ spi:1,
405+ reqid:1;
406+};
407+
408+struct ipt_policy_elem
409+{
410+ u_int32_t saddr;
411+ u_int32_t smask;
412+ u_int32_t daddr;
413+ u_int32_t dmask;
414+ u_int32_t spi;
415+ u_int32_t reqid;
416+ u_int8_t proto;
417+ u_int8_t mode;
418+
419+ struct ipt_policy_spec match;
420+ struct ipt_policy_spec invert;
421+};
422+
423+struct ipt_policy_info
424+{
425+ struct ipt_policy_elem pol[POLICY_MAX_ELEM];
426+ u_int16_t flags;
427+ u_int16_t len;
428+};
429+
430+#endif /* _IPT_POLICY_H */
6fe1750b
PS
431diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_psd.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_psd.h
432--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_psd.h 1970-01-01 01:00:00.000000000 +0100
433+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_psd.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
434@@ -0,0 +1,40 @@
435+#ifndef _IPT_PSD_H
436+#define _IPT_PSD_H
437+
438+#include <linux/param.h>
439+#include <linux/types.h>
440+
441+/*
442+ * High port numbers have a lower weight to reduce the frequency of false
443+ * positives, such as from passive mode FTP transfers.
444+ */
445+#define PORT_WEIGHT_PRIV 3
446+#define PORT_WEIGHT_HIGH 1
447+
448+/*
449+ * Port scan detection thresholds: at least COUNT ports need to be scanned
450+ * from the same source, with no longer than DELAY ticks between ports.
451+ */
452+#define SCAN_MIN_COUNT 7
453+#define SCAN_MAX_COUNT (SCAN_MIN_COUNT * PORT_WEIGHT_PRIV)
454+#define SCAN_WEIGHT_THRESHOLD SCAN_MAX_COUNT
e0dfec11 455+#define SCAN_DELAY_THRESHOLD (300) /* old usage of HZ here was erroneously and broke under uml */
bab37e86
PS
456+
457+/*
458+ * Keep track of up to LIST_SIZE source addresses, using a hash table of
459+ * HASH_SIZE entries for faster lookups, but limiting hash collisions to
460+ * HASH_MAX source addresses per the same hash value.
461+ */
462+#define LIST_SIZE 0x100
463+#define HASH_LOG 9
464+#define HASH_SIZE (1 << HASH_LOG)
465+#define HASH_MAX 0x10
466+
467+struct ipt_psd_info {
468+ unsigned int weight_threshold;
469+ unsigned int delay_threshold;
470+ unsigned short lo_ports_weight;
471+ unsigned short hi_ports_weight;
472+};
473+
474+#endif /*_IPT_PSD_H*/
6fe1750b
PS
475diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_quota.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_quota.h
476--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_quota.h 1970-01-01 01:00:00.000000000 +0100
477+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_quota.h 2004-07-03 16:57:41.000000000 +0200
bab37e86
PS
478@@ -0,0 +1,11 @@
479+#ifndef _IPT_QUOTA_H
480+#define _IPT_QUOTA_H
481+
482+/* print debug info in both kernel/netfilter module & iptable library */
483+//#define DEBUG_IPT_QUOTA
484+
485+struct ipt_quota_info {
486+ u_int64_t quota;
487+};
488+
489+#endif /*_IPT_QUOTA_H*/
6fe1750b
PS
490diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_realm.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_realm.h
491--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_realm.h 1970-01-01 01:00:00.000000000 +0100
492+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_realm.h 2004-07-03 16:56:45.000000000 +0200
493@@ -0,0 +1,10 @@
bab37e86
PS
494+#ifndef _IPT_REALM_H
495+#define _IPT_REALM_H
496+
497+struct ipt_realm_info {
498+ u_int32_t id;
499+ u_int32_t mask;
500+ u_int8_t invert;
501+};
6fe1750b
PS
502+
503+#endif /* _IPT_REALM_H */
504diff -uNr linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_ROUTE.h linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_ROUTE.h
505--- linux-libc-headers-2.6.7.0.orig/include/linux/netfilter_ipv4/ipt_ROUTE.h 1970-01-01 01:00:00.000000000 +0100
506+++ linux-libc-headers-2.6.7.0/include/linux/netfilter_ipv4/ipt_ROUTE.h 2004-07-03 16:57:41.000000000 +0200
e0dfec11
PS
507@@ -0,0 +1,22 @@
508+/* Header file for iptables ipt_ROUTE target
509+ *
510