SOURCES (LINUX_2_6): linux-2.6-pom-ng-base.patch - added "extra".
cieciwa
cieciwa at pld-linux.org
Tue Sep 13 16:56:14 CEST 2005
Author: cieciwa Date: Tue Sep 13 14:56:14 2005 GMT
Module: SOURCES Tag: LINUX_2_6
---- Log message:
- added "extra".
---- Files affected:
SOURCES:
linux-2.6-pom-ng-base.patch (1.1.2.1 -> 1.1.2.2)
---- Diffs:
================================================================
Index: SOURCES/linux-2.6-pom-ng-base.patch
diff -u SOURCES/linux-2.6-pom-ng-base.patch:1.1.2.1 SOURCES/linux-2.6-pom-ng-base.patch:1.1.2.2
--- SOURCES/linux-2.6-pom-ng-base.patch:1.1.2.1 Tue Sep 13 15:10:02 2005
+++ SOURCES/linux-2.6-pom-ng-base.patch Tue Sep 13 16:56:08 2005
@@ -1,72 +1,542 @@
- include/linux/netfilter_ipv4/ip_set.h | 489 ++++++
- include/linux/netfilter_ipv4/ip_set_iphash.h | 30
- include/linux/netfilter_ipv4/ip_set_ipmap.h | 56
- include/linux/netfilter_ipv4/ip_set_iptree.h | 39
- include/linux/netfilter_ipv4/ip_set_jhash.h | 148 +
- include/linux/netfilter_ipv4/ip_set_macipmap.h | 38
- include/linux/netfilter_ipv4/ip_set_malloc.h | 34
- include/linux/netfilter_ipv4/ip_set_nethash.h | 55
- include/linux/netfilter_ipv4/ip_set_portmap.h | 25
- include/linux/netfilter_ipv4/ip_set_prime.h | 34
- include/linux/netfilter_ipv4/ipt_TTL.h | 21
- include/linux/netfilter_ipv4/ipt_connlimit.h | 12
- include/linux/netfilter_ipv4/ipt_expire.h | 32
- include/linux/netfilter_ipv4/ipt_fuzzy.h | 21
- include/linux/netfilter_ipv4/ipt_ipv4options.h | 21
- include/linux/netfilter_ipv4/ipt_nth.h | 19
- include/linux/netfilter_ipv4/ipt_osf.h | 151 +
- include/linux/netfilter_ipv4/ipt_psd.h | 40
- include/linux/netfilter_ipv4/ipt_quota.h | 12
- include/linux/netfilter_ipv4/ipt_random.h | 11
- include/linux/netfilter_ipv4/ipt_set.h | 21
- include/linux/netfilter_ipv4/ipt_time.h | 18
- include/linux/netfilter_ipv4/ipt_u32.h | 40
- include/linux/netfilter_ipv6/ip6t_HL.h | 22
- include/linux/netfilter_ipv6/ip6t_REJECT.h | 18
- include/linux/netfilter_ipv6/ip6t_expire.h | 32
- include/linux/netfilter_ipv6/ip6t_fuzzy.h | 21
- include/linux/netfilter_ipv6/ip6t_nth.h | 19
- include/linux/netfilter_ipv6/ip6t_owner.h | 2
- include/linux/netfilter_ipv6/ip6t_random.h | 11
- net/ipv4/netfilter/Kconfig | 270 +++
- net/ipv4/netfilter/Makefile | 36
- net/ipv4/netfilter/ip_set.c | 1989 +++++++++++++++++++++++++
- net/ipv4/netfilter/ip_set_iphash.c | 379 ++++
- net/ipv4/netfilter/ip_set_ipmap.c | 313 +++
- net/ipv4/netfilter/ip_set_iptree.c | 510 ++++++
- net/ipv4/netfilter/ip_set_macipmap.c | 338 ++++
- net/ipv4/netfilter/ip_set_nethash.c | 449 +++++
- net/ipv4/netfilter/ip_set_portmap.c | 325 ++++
- net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.c | 89 +
- net/ipv4/netfilter/ipt_SET.c | 128 +
- net/ipv4/netfilter/ipt_TTL.c | 122 +
- net/ipv4/netfilter/ipt_connlimit.c | 228 ++
- net/ipv4/netfilter/ipt_expire.c | 563 +++++++
- net/ipv4/netfilter/ipt_fuzzy.c | 185 ++
- net/ipv4/netfilter/ipt_ipv4options.c | 172 ++
- net/ipv4/netfilter/ipt_nth.c | 166 ++
- net/ipv4/netfilter/ipt_osf.c | 854 ++++++++++
- net/ipv4/netfilter/ipt_psd.c | 358 ++++
- net/ipv4/netfilter/ipt_quota.c | 96 +
- net/ipv4/netfilter/ipt_random.c | 92 +
- net/ipv4/netfilter/ipt_set.c | 112 +
- net/ipv4/netfilter/ipt_time.c | 179 ++
- net/ipv4/netfilter/ipt_u32.c | 233 ++
- net/ipv6/ipv6_syms.c | 1
- net/ipv6/netfilter/Kconfig | 77
- net/ipv6/netfilter/Makefile | 8
- net/ipv6/netfilter/ip6t_HL.c | 111 +
- net/ipv6/netfilter/ip6t_REJECT.c | 304 +++
- net/ipv6/netfilter/ip6t_expire.c | 566 +++++++
- net/ipv6/netfilter/ip6t_fuzzy.c | 188 ++
- net/ipv6/netfilter/ip6t_nth.c | 173 ++
- net/ipv6/netfilter/ip6t_owner.c | 44
- net/ipv6/netfilter/ip6t_random.c | 97 +
- 64 files changed, 11245 insertions(+), 2 deletions(-)
+ include/linux/netfilter.h | 12
+ include/linux/netfilter_ipv4.h | 54
+ include/linux/netfilter_ipv4/ip_conntrack.h | 146 +
+ include/linux/netfilter_ipv4/ip_conntrack_core.h | 17
+ include/linux/netfilter_ipv4/ip_conntrack_h323.h | 38
+ include/linux/netfilter_ipv4/ip_conntrack_mms.h | 36
+ include/linux/netfilter_ipv4/ip_conntrack_quake3.h | 22
+ include/linux/netfilter_ipv4/ip_queue.h | 13
+ include/linux/netfilter_ipv4/ip_set.h | 489 +++++
+ include/linux/netfilter_ipv4/ip_set_iphash.h | 30
+ include/linux/netfilter_ipv4/ip_set_ipmap.h | 56
+ include/linux/netfilter_ipv4/ip_set_iptree.h | 39
+ include/linux/netfilter_ipv4/ip_set_jhash.h | 148 +
+ include/linux/netfilter_ipv4/ip_set_macipmap.h | 38
+ include/linux/netfilter_ipv4/ip_set_malloc.h | 34
+ include/linux/netfilter_ipv4/ip_set_nethash.h | 55
+ include/linux/netfilter_ipv4/ip_set_portmap.h | 25
+ include/linux/netfilter_ipv4/ip_set_prime.h | 34
+ include/linux/netfilter_ipv4/ip_tables.h | 3
+ include/linux/netfilter_ipv4/ipt_IPMARK.h | 13
+ include/linux/netfilter_ipv4/ipt_ROUTE.h | 23
+ include/linux/netfilter_ipv4/ipt_TTL.h | 21
+ include/linux/netfilter_ipv4/ipt_XOR.h | 9
+ include/linux/netfilter_ipv4/ipt_account.h | 26
+ include/linux/netfilter_ipv4/ipt_connlimit.h | 12
+ include/linux/netfilter_ipv4/ipt_expire.h | 32
+ include/linux/netfilter_ipv4/ipt_fuzzy.h | 21
+ include/linux/netfilter_ipv4/ipt_geoip.h | 50
+ include/linux/netfilter_ipv4/ipt_ipp2p.h | 29
+ include/linux/netfilter_ipv4/ipt_ipv4options.h | 21
+ include/linux/netfilter_ipv4/ipt_nth.h | 19
+ include/linux/netfilter_ipv4/ipt_osf.h | 151 +
+ include/linux/netfilter_ipv4/ipt_policy.h | 52
+ include/linux/netfilter_ipv4/ipt_psd.h | 40
+ include/linux/netfilter_ipv4/ipt_quota.h | 12
+ include/linux/netfilter_ipv4/ipt_random.h | 11
+ include/linux/netfilter_ipv4/ipt_set.h | 21
+ include/linux/netfilter_ipv4/ipt_string.h | 21
+ include/linux/netfilter_ipv4/ipt_time.h | 18
+ include/linux/netfilter_ipv4/ipt_u32.h | 40
+ include/linux/netfilter_ipv6/ip6t_HL.h | 22
+ include/linux/netfilter_ipv6/ip6t_REJECT.h | 18
+ include/linux/netfilter_ipv6/ip6t_ROUTE.h | 23
+ include/linux/netfilter_ipv6/ip6t_expire.h | 32
+ include/linux/netfilter_ipv6/ip6t_fuzzy.h | 21
+ include/linux/netfilter_ipv6/ip6t_nth.h | 19
+ include/linux/netfilter_ipv6/ip6t_owner.h | 2
+ include/linux/netfilter_ipv6/ip6t_policy.h | 52
+ include/linux/netfilter_ipv6/ip6t_random.h | 11
+ include/net/ip.h | 13
+ include/net/protocol.h | 1
+ include/net/xfrm.h | 3
+ net/core/netfilter.c | 39
+ net/ipv4/ah4.c | 1
+ net/ipv4/esp4.c | 1
+ net/ipv4/igmp.c | 4
+ net/ipv4/ip_forward.c | 2
+ net/ipv4/ip_input.c | 19
+ net/ipv4/ip_output.c | 27
+ net/ipv4/ipcomp.c | 1
+ net/ipv4/ipip.c | 5
+ net/ipv4/ipmr.c | 2
+ net/ipv4/netfilter/Kconfig | 486 +++++
+ net/ipv4/netfilter/Makefile | 57
+ net/ipv4/netfilter/asn1_per.c | 353 +++
+ net/ipv4/netfilter/asn1_per.h | 83
+ net/ipv4/netfilter/ip_conntrack_core.c | 122 +
+ net/ipv4/netfilter/ip_conntrack_ftp.c | 12
+ net/ipv4/netfilter/ip_conntrack_h323.c | 447 ++++
+ net/ipv4/netfilter/ip_conntrack_h323_core.c | 37
+ net/ipv4/netfilter/ip_conntrack_h323_h225.c | 405 ++++
+ net/ipv4/netfilter/ip_conntrack_h323_h245.c | 959 ++++++++++
+ net/ipv4/netfilter/ip_conntrack_mms.c | 352 +++
+ net/ipv4/netfilter/ip_conntrack_proto_icmp.c | 1
+ net/ipv4/netfilter/ip_conntrack_proto_sctp.c | 2
+ net/ipv4/netfilter/ip_conntrack_proto_tcp.c | 4
+ net/ipv4/netfilter/ip_conntrack_proto_udp.c | 3
+ net/ipv4/netfilter/ip_conntrack_quake3.c | 201 ++
+ net/ipv4/netfilter/ip_conntrack_standalone.c | 11
+ net/ipv4/netfilter/ip_nat_h323.c | 196 ++
+ net/ipv4/netfilter/ip_nat_mms.c | 195 ++
+ net/ipv4/netfilter/ip_nat_quake3.c | 97 +
+ net/ipv4/netfilter/ip_nat_standalone.c | 82
+ net/ipv4/netfilter/ip_queue.c | 35
+ net/ipv4/netfilter/ip_set.c | 1989 +++++++++++++++++++++
+ net/ipv4/netfilter/ip_set_iphash.c | 379 ++++
+ net/ipv4/netfilter/ip_set_ipmap.c | 313 +++
+ net/ipv4/netfilter/ip_set_iptree.c | 510 +++++
+ net/ipv4/netfilter/ip_set_macipmap.c | 338 +++
+ net/ipv4/netfilter/ip_set_nethash.c | 449 ++++
+ net/ipv4/netfilter/ip_set_portmap.c | 325 +++
+ net/ipv4/netfilter/ip_tables.c | 2
+ net/ipv4/netfilter/ipt_IPMARK.c | 81
+ net/ipv4/netfilter/ipt_IPV4OPTSSTRIP.c | 89
+ net/ipv4/netfilter/ipt_ROUTE.c | 464 ++++
+ net/ipv4/netfilter/ipt_SET.c | 128 +
+ net/ipv4/netfilter/ipt_TARPIT.c | 295 +++
+ net/ipv4/netfilter/ipt_TTL.c | 122 +
+ net/ipv4/netfilter/ipt_ULOG.c | 4
+ net/ipv4/netfilter/ipt_XOR.c | 117 +
+ net/ipv4/netfilter/ipt_account.c | 937 +++++++++
+ net/ipv4/netfilter/ipt_connlimit.c | 228 ++
+ net/ipv4/netfilter/ipt_expire.c | 563 +++++
+ net/ipv4/netfilter/ipt_fuzzy.c | 185 +
+ net/ipv4/netfilter/ipt_geoip.c | 275 ++
+ net/ipv4/netfilter/ipt_ipp2p.c | 640 ++++++
+ net/ipv4/netfilter/ipt_ipv4options.c | 172 +
+ net/ipv4/netfilter/ipt_nth.c | 166 +
+ net/ipv4/netfilter/ipt_osf.c | 854 +++++++++
+ net/ipv4/netfilter/ipt_policy.c | 176 +
+ net/ipv4/netfilter/ipt_psd.c | 358 +++
+ net/ipv4/netfilter/ipt_quota.c | 96 +
+ net/ipv4/netfilter/ipt_random.c | 92
+ net/ipv4/netfilter/ipt_set.c | 112 +
+ net/ipv4/netfilter/ipt_string.c | 218 ++
+ net/ipv4/netfilter/ipt_time.c | 179 +
+ net/ipv4/netfilter/ipt_u32.c | 233 ++
+ net/ipv4/netfilter/ipt_unclean.c | 611 ++++++
+ net/ipv4/raw.c | 2
+ net/ipv4/xfrm4_output.c | 1
+ net/ipv4/xfrm4_tunnel.c | 1
+ net/ipv6/ipv6_syms.c | 2
+ net/ipv6/netfilter/Kconfig | 117 +
+ net/ipv6/netfilter/Makefile | 11
+ net/ipv6/netfilter/ip6t_HL.c | 111 +
+ net/ipv6/netfilter/ip6t_REJECT.c | 304 +++
+ net/ipv6/netfilter/ip6t_ROUTE.c | 308 +++
+ net/ipv6/netfilter/ip6t_ULOG.c | 142 +
+ net/ipv6/netfilter/ip6t_expire.c | 566 +++++
+ net/ipv6/netfilter/ip6t_fuzzy.c | 188 +
+ net/ipv6/netfilter/ip6t_nth.c | 173 +
+ net/ipv6/netfilter/ip6t_owner.c | 44
+ net/ipv6/netfilter/ip6t_policy.c | 200 ++
+ net/ipv6/netfilter/ip6t_random.c | 97 +
+ net/xfrm/xfrm_input.c | 3
+ 135 files changed, 20312 insertions(+), 47 deletions(-)
-diff -Nur --exclude '*.orig' linux-2.6.13.1.org/include/linux/netfilter_ipv4/ip_set.h linux-2.6.13.1/include/linux/netfilter_ipv4/ip_set.h
+diff -Nur --exclude '*.orig' include/linux/netfilter.h include/linux/netfilter.h
+--- include/linux/netfilter.h 2005-09-10 04:42:58.000000000 +0200
++++ include/linux/netfilter.h 2005-09-13 16:32:40.000000000 +0200
+@@ -139,9 +139,10 @@
+ /* This is gross, but inline doesn't cut it for avoiding the function
+ call in fast path: gcc doesn't inline (needs value tracking?). --RR */
+ #ifdef CONFIG_NETFILTER_DEBUG
+-#define NF_HOOK(pf, hook, skb, indev, outdev, okfn) \
++#define NF_HOOK_COND(pf, hook, skb, indev, outdev, okfn, cond) \
+ ({int __ret; \
+-if ((__ret=nf_hook_slow(pf, hook, &(skb), indev, outdev, okfn, INT_MIN)) == 1) \
++if (!(cond) || \
++ (__ret=nf_hook_slow(pf, hook, &(skb), indev, outdev, okfn, INT_MIN)) == 1) \
+ __ret = (okfn)(skb); \
+ __ret;})
+ #define NF_HOOK_THRESH(pf, hook, skb, indev, outdev, okfn, thresh) \
+@@ -150,9 +151,9 @@
+ __ret = (okfn)(skb); \
+ __ret;})
+ #else
+-#define NF_HOOK(pf, hook, skb, indev, outdev, okfn) \
++#define NF_HOOK_COND(pf, hook, skb, indev, outdev, okfn, cond) \
+ ({int __ret; \
+-if (list_empty(&nf_hooks[pf][hook]) || \
++if (!(cond) || list_empty(&nf_hooks[pf][hook]) || \
+ (__ret=nf_hook_slow(pf, hook, &(skb), indev, outdev, okfn, INT_MIN)) == 1) \
+ __ret = (okfn)(skb); \
+ __ret;})
+@@ -163,6 +164,8 @@
+ __ret = (okfn)(skb); \
+ __ret;})
+ #endif
++#define NF_HOOK(pf, hook, skb, indev, outdev, okfn) \
++ NF_HOOK_COND((pf), (hook), (skb), (indev), (outdev), (okfn), 1)
+
+ int nf_hook_slow(int pf, unsigned int hook, struct sk_buff **pskb,
+ struct net_device *indev, struct net_device *outdev,
+@@ -192,6 +195,7 @@
+
+ #else /* !CONFIG_NETFILTER */
+ #define NF_HOOK(pf, hook, skb, indev, outdev, okfn) (okfn)(skb)
++#define NF_HOOK_COND(pf, hook, skb, indev, outdev, okfn, cond) (okfn)(skb)
+ static inline void nf_ct_attach(struct sk_buff *new, struct sk_buff *skb) {}
+ #endif /*CONFIG_NETFILTER*/
+
+diff -Nur --exclude '*.orig' include/linux/netfilter_ipv4/ip_conntrack.h include/linux/netfilter_ipv4/ip_conntrack.h
+--- include/linux/netfilter_ipv4/ip_conntrack.h 2005-09-10 04:42:58.000000000 +0200
++++ include/linux/netfilter_ipv4/ip_conntrack.h 2005-09-13 16:32:54.000000000 +0200
+@@ -65,6 +65,63 @@
+
+ /* Both together */
+ IPS_NAT_DONE_MASK = (IPS_DST_NAT_DONE | IPS_SRC_NAT_DONE),
++
++ /* Connection is dying (removed from lists), can not be unset. */
++ IPS_DYING_BIT = 9,
++ IPS_DYING = (1 << IPS_DYING_BIT),
++};
++
++/* Connection tracking event bits */
++enum ip_conntrack_events
++{
++ /* New conntrack */
++ IPCT_NEW_BIT = 0,
++ IPCT_NEW = (1 << IPCT_NEW_BIT),
++
++ /* Expected connection */
++ IPCT_RELATED_BIT = 1,
++ IPCT_RELATED = (1 << IPCT_RELATED_BIT),
++
++ /* Destroyed conntrack */
++ IPCT_DESTROY_BIT = 2,
++ IPCT_DESTROY = (1 << IPCT_DESTROY_BIT),
++
++ /* Timer has been refreshed */
++ IPCT_REFRESH_BIT = 3,
++ IPCT_REFRESH = (1 << IPCT_REFRESH_BIT),
++
++ /* Status has changed */
++ IPCT_STATUS_BIT = 4,
++ IPCT_STATUS = (1 << IPCT_STATUS_BIT),
++
++ /* Update of protocol info */
++ IPCT_PROTOINFO_BIT = 5,
++ IPCT_PROTOINFO = (1 << IPCT_PROTOINFO_BIT),
++
++ /* Volatile protocol info */
++ IPCT_PROTOINFO_VOLATILE_BIT = 6,
++ IPCT_PROTOINFO_VOLATILE = (1 << IPCT_PROTOINFO_VOLATILE_BIT),
++
++ /* New helper for conntrack */
++ IPCT_HELPER_BIT = 7,
++ IPCT_HELPER = (1 << IPCT_HELPER_BIT),
++
++ /* Update of helper info */
++ IPCT_HELPINFO_BIT = 8,
++ IPCT_HELPINFO = (1 << IPCT_HELPINFO_BIT),
++
++ /* Volatile helper info */
++ IPCT_HELPINFO_VOLATILE_BIT = 9,
++ IPCT_HELPINFO_VOLATILE = (1 << IPCT_HELPINFO_VOLATILE_BIT),
++
++ /* NAT info */
++ IPCT_NATINFO_BIT = 10,
++ IPCT_NATINFO = (1 << IPCT_NATINFO_BIT),
++};
++
++enum ip_conntrack_expect_events {
++ IPEXP_NEW_BIT = 0,
++ IPEXP_NEW = (1 << IPEXP_NEW_BIT),
+ };
+
+ #ifdef __KERNEL__
+@@ -91,6 +148,7 @@
+ };
+
+ /* Add protocol helper include file here */
++#include <linux/netfilter_ipv4/ip_conntrack_mms.h>
+ #include <linux/netfilter_ipv4/ip_conntrack_amanda.h>
+ #include <linux/netfilter_ipv4/ip_conntrack_ftp.h>
+ #include <linux/netfilter_ipv4/ip_conntrack_irc.h>
+@@ -98,6 +156,7 @@
+ /* per conntrack: application helper private data */
+ union ip_conntrack_help {
+ /* insert conntrack helper private data (master) here */
++ struct ip_ct_mms_master ct_mms_info;
+ struct ip_ct_ftp_master ct_ftp_info;
+ struct ip_ct_irc_master ct_irc_info;
+ };
+@@ -280,6 +339,11 @@
+ return test_bit(IPS_CONFIRMED_BIT, &ct->status);
+ }
+
++static inline int is_dying(struct ip_conntrack *ct)
++{
++ return test_bit(IPS_DYING_BIT, &ct->status);
++}
++
+ extern unsigned int ip_conntrack_htable_size;
+
+ struct ip_conntrack_stat
+@@ -303,6 +367,88 @@
+
+ #define CONNTRACK_STAT_INC(count) (__get_cpu_var(ip_conntrack_stat).count++)
+
++#ifdef CONFIG_IP_NF_CONNTRACK_EVENTS
++#include <linux/notifier.h>
++
++struct ip_conntrack_ecache {
++ struct ip_conntrack *ct;
++ unsigned int events;
++};
++DECLARE_PER_CPU(struct ip_conntrack_ecache, ip_conntrack_ecache);
++
++#define CONNTRACK_ECACHE(x) (__get_cpu_var(ip_conntrack_ecache).x)
++
++extern struct notifier_block *ip_conntrack_chain;
++extern struct notifier_block *ip_conntrack_expect_chain;
++
++static inline int ip_conntrack_register_notifier(struct notifier_block *nb)
++{
++ return notifier_chain_register(&ip_conntrack_chain, nb);
++}
++
++static inline int ip_conntrack_unregister_notifier(struct notifier_block *nb)
++{
++ return notifier_chain_unregister(&ip_conntrack_chain, nb);
++}
++
++static inline int
++ip_conntrack_expect_register_notifier(struct notifier_block *nb)
++{
++ return notifier_chain_register(&ip_conntrack_expect_chain, nb);
++}
++
++static inline int
++ip_conntrack_expect_unregister_notifier(struct notifier_block *nb)
++{
++ return notifier_chain_unregister(&ip_conntrack_expect_chain, nb);
++}
++
++static inline void
++ip_conntrack_event_cache(enum ip_conntrack_events event,
++ const struct sk_buff *skb)
++{
++ struct ip_conntrack_ecache *ecache =
++ &__get_cpu_var(ip_conntrack_ecache);
++
++ if (unlikely((struct ip_conntrack *) skb->nfct != ecache->ct)) {
++ if (net_ratelimit()) {
++ printk(KERN_ERR "ctevent: skb->ct != ecache->ct !!!\n");
++ dump_stack();
++ }
++ }
++ ecache->events |= event;
++}
++
++extern void
++ip_conntrack_deliver_cached_events_for(const struct ip_conntrack *ct);
++extern void ip_conntrack_event_cache_init(const struct sk_buff *skb);
++
++static inline void ip_conntrack_event(enum ip_conntrack_events event,
++ struct ip_conntrack *ct)
++{
++ if (is_confirmed(ct) && !is_dying(ct))
++ notifier_call_chain(&ip_conntrack_chain, event, ct);
++}
++
++static inline void
++ip_conntrack_expect_event(enum ip_conntrack_expect_events event,
++ struct ip_conntrack_expect *exp)
++{
++ notifier_call_chain(&ip_conntrack_expect_chain, event, exp);
++}
++#else /* CONFIG_IP_NF_CONNTRACK_EVENTS */
++static inline void ip_conntrack_event_cache(enum ip_conntrack_events event,
++ const struct sk_buff *skb) {}
++static inline void ip_conntrack_event(enum ip_conntrack_events event,
++ struct ip_conntrack *ct) {}
++static inline void ip_conntrack_deliver_cached_events_for(
++ struct ip_conntrack *ct) {}
++static inline void ip_conntrack_event_cache_init(const struct sk_buff *skb) {}
++static inline void
++ip_conntrack_expect_event(enum ip_conntrack_expect_events event,
++ struct ip_conntrack_expect *exp) {}
++#endif /* CONFIG_IP_NF_CONNTRACK_EVENTS */
++
+ #ifdef CONFIG_IP_NF_NAT_NEEDED
+ static inline int ip_nat_initialized(struct ip_conntrack *conntrack,
+ enum ip_nat_manip_type manip)
+diff -Nur --exclude '*.orig' include/linux/netfilter_ipv4/ip_conntrack_core.h include/linux/netfilter_ipv4/ip_conntrack_core.h
+--- include/linux/netfilter_ipv4/ip_conntrack_core.h 2005-09-10 04:42:58.000000000 +0200
++++ include/linux/netfilter_ipv4/ip_conntrack_core.h 2005-09-13 16:31:49.000000000 +0200
+@@ -38,12 +38,21 @@
+ /* Confirm a connection: returns NF_DROP if packet must be dropped. */
+ static inline int ip_conntrack_confirm(struct sk_buff **pskb)
+ {
+- if ((*pskb)->nfct
+- && !is_confirmed((struct ip_conntrack *)(*pskb)->nfct))
+- return __ip_conntrack_confirm(pskb);
+- return NF_ACCEPT;
++ struct ip_conntrack *ct = (struct ip_conntrack *)(*pskb)->nfct;
++ int ret = NF_ACCEPT;
++
++ if (ct && !is_confirmed(ct))
++ ret = __ip_conntrack_confirm(pskb);
++ ip_conntrack_deliver_cached_events_for(ct);
++
++ return ret;
+ }
+
++#ifdef CONFIG_IP_NF_CONNTRACK_EVENTS
++struct ip_conntrack_ecache;
++extern void __ip_ct_deliver_cached_events(struct ip_conntrack_ecache *ec);
++#endif
++
+ extern struct list_head *ip_conntrack_hash;
+ extern struct list_head ip_conntrack_expect_list;
+ extern rwlock_t ip_conntrack_lock;
+diff -Nur --exclude '*.orig' include/linux/netfilter_ipv4/ip_conntrack_h323.h include/linux/netfilter_ipv4/ip_conntrack_h323.h
+--- include/linux/netfilter_ipv4/ip_conntrack_h323.h 1970-01-01 01:00:00.000000000 +0100
++++ include/linux/netfilter_ipv4/ip_conntrack_h323.h 2005-09-13 16:32:12.000000000 +0200
+@@ -0,0 +1,38 @@
++#ifndef _IP_CONNTRACK_H323_H
++#define _IP_CONNTRACK_H323_H
++/* H.323 connection tracking. */
++
++#ifdef __KERNEL__
++
++/* Default H.225 port */
++#define H225_PORT 1720
++
++struct ip_conntrack_expect;
++struct ip_conntrack;
++struct ip_conntrack_helper;
++
++extern int (*ip_nat_h245_hook)(struct sk_buff **pskb,
++ enum ip_conntrack_info ctinfo,
++ unsigned int offset,
++ struct ip_conntrack_expect *exp);
++
++extern int (*ip_nat_h225_hook)(struct sk_buff **pskb,
++ enum ip_conntrack_info ctinfo,
++ unsigned int offset,
++ struct ip_conntrack_expect *exp);
++
++extern void (*ip_nat_h225_signal_hook)(struct sk_buff **pskb,
++ struct ip_conntrack *ct,
++ enum ip_conntrack_info ctinfo,
++ unsigned int offset,
++ int dir,
++ int orig_dir);
++
++extern struct ip_conntrack_helper ip_conntrack_helper_h225;
++
++void ip_conntrack_h245_expect(struct ip_conntrack *new,
++ struct ip_conntrack_expect *this);
++
++#endif /* __KERNEL__ */
++
++#endif /* _IP_CONNTRACK_H323_H */
+diff -Nur --exclude '*.orig' include/linux/netfilter_ipv4/ip_conntrack_mms.h include/linux/netfilter_ipv4/ip_conntrack_mms.h
+--- include/linux/netfilter_ipv4/ip_conntrack_mms.h 1970-01-01 01:00:00.000000000 +0100
++++ include/linux/netfilter_ipv4/ip_conntrack_mms.h 2005-09-13 16:32:54.000000000 +0200
+@@ -0,0 +1,36 @@
++#ifndef _IP_CONNTRACK_MMS_H
++#define _IP_CONNTRACK_MMS_H
++/* MMS tracking. */
++
++#ifdef __KERNEL__
++
++extern spinlock_t ip_mms_lock;
++
++#define MMS_PORT 1755
++#define MMS_SRV_MSG_ID 196610
++
++#define MMS_SRV_MSG_OFFSET 36
++#define MMS_SRV_UNICODE_STRING_OFFSET 60
++#define MMS_SRV_CHUNKLENLV_OFFSET 16
++#define MMS_SRV_CHUNKLENLM_OFFSET 32
++#define MMS_SRV_MESSAGELENGTH_OFFSET 8
++
++/* This structure is per expected connection */
++struct ip_ct_mms_expect {
++ u_int32_t offset;
++ u_int32_t len;
++ u_int32_t padding;
++ u_int16_t port;
++};
++
++/* This structure exists only once per master */
++struct ip_ct_mms_master {
++};
++
++struct ip_conntrack_expect;
++extern unsigned int (*ip_nat_mms_hook)(struct sk_buff **pskb,
++ enum ip_conntrack_info ctinfo,
++ const struct ip_ct_mms_expect *exp_mms_info,
++ struct ip_conntrack_expect *exp);
++#endif
++#endif /* _IP_CONNTRACK_MMS_H */
+diff -Nur --exclude '*.orig' include/linux/netfilter_ipv4/ip_conntrack_quake3.h include/linux/netfilter_ipv4/ip_conntrack_quake3.h
+--- include/linux/netfilter_ipv4/ip_conntrack_quake3.h 1970-01-01 01:00:00.000000000 +0100
++++ include/linux/netfilter_ipv4/ip_conntrack_quake3.h 2005-09-13 16:33:33.000000000 +0200
+@@ -0,0 +1,22 @@
++#ifndef _IP_CT_QUAKE3
++#define _IP_CT_QUAKE3
++
++/* Don't confuse with 27960, often used as the Server Port */
++#define QUAKE3_MASTER_PORT 27950
++
++struct quake3_search {
++ const char marker[4]; /* always 0xff 0xff 0xff 0xff ? */
++ const char *pattern;
++ size_t plen;
++};
++
++/* This structure is per expected connection */
++struct ip_ct_quake3_expect {
++};
++
++/* This structure exists only once per master */
++struct ip_ct_quake3_master {
++};
++
++extern unsigned int (*ip_nat_quake3_hook)(struct ip_conntrack_expect *exp);
++#endif /* _IP_CT_QUAKE3 */
+diff -Nur --exclude '*.orig' include/linux/netfilter_ipv4/ip_queue.h include/linux/netfilter_ipv4/ip_queue.h
+--- include/linux/netfilter_ipv4/ip_queue.h 2005-09-10 04:42:58.000000000 +0200
++++ include/linux/netfilter_ipv4/ip_queue.h 2005-09-13 16:32:29.000000000 +0200
+@@ -47,10 +47,20 @@
+ unsigned char payload[0]; /* Optional replacement packet */
+ } ipq_verdict_msg_t;
+
++typedef struct ipq_vwmark_msg {
++ unsigned int value; /* Verdict to hand to netfilter */
++ unsigned long id; /* Packet ID for this verdict */
++ size_t data_len; /* Length of replacement data */
++ unsigned char payload[0]; /* Optional replacement packet */
++ unsigned long nfmark; /* Mark for the Packet */
++} ipq_vwmark_msg_t;
++
++
+ typedef struct ipq_peer_msg {
+ union {
+ ipq_verdict_msg_t verdict;
+ ipq_mode_msg_t mode;
++ ipq_vwmark_msg_t vwmark;
+ } msg;
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/SOURCES/linux-2.6-pom-ng-base.patch?r1=1.1.2.1&r2=1.1.2.2&f=u
More information about the pld-cvs-commit
mailing list