--- linux-2.4.20-pre10/include/linux/netfilter_ipv4/ip_conntrack_core.h.meep 2002-10-12 16:54:30.000000000 +0200 +++ linux-2.4.20-pre10/include/linux/netfilter_ipv4/ip_conntrack_core.h 2002-10-12 17:17:16.000000000 +0200 @@ -16,9 +16,6 @@ struct ip_conntrack_protocol; extern struct ip_conntrack_protocol *ip_ct_find_proto(u_int8_t protocol); -/* Like above, but you already have conntrack read lock. */ -extern struct ip_conntrack_protocol *__find_proto(u_int8_t protocol); -extern struct list_head protocol_list; /* Returns conntrack if it dealt with ICMP, and filled in skb->nfct */ extern struct ip_conntrack *icmp_error_track(struct sk_buff *skb, --- linux-2.4.20-pre10/include/linux/netfilter_ipv4/ip_conntrack_protocol.h.meep 2002-10-12 16:55:28.000000000 +0200 +++ linux-2.4.20-pre10/include/linux/netfilter_ipv4/ip_conntrack_protocol.h 2002-10-12 17:14:40.000000000 +0200 @@ -62,4 +62,28 @@ extern struct ip_conntrack_protocol ip_conntrack_protocol_udp; extern struct ip_conntrack_protocol ip_conntrack_protocol_icmp; extern int ip_conntrack_protocol_tcp_init(void); + +extern struct list_head protocol_list; +extern struct ip_conntrack_protocol ip_conntrack_generic_protocol; + +static inline int proto_cmpfn(const struct ip_conntrack_protocol *curr, + u_int8_t protocol) +{ + return protocol == curr->proto; +} + +static inline struct ip_conntrack_protocol *__find_proto(u_int8_t protocol) +{ + struct ip_conntrack_protocol *p; + + MUST_BE_READ_LOCKED(&ip_conntrack_lock); + p = LIST_FIND(&protocol_list, proto_cmpfn, + struct ip_conntrack_protocol *, protocol); + if (!p) + p = &ip_conntrack_generic_protocol; + + return p; +} + + #endif /*_IP_CONNTRACK_PROTOCOL_H*/ --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_core.c.meep 2002-10-12 15:29:47.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_core.c 2002-10-12 17:09:32.000000000 +0200 @@ -39,11 +39,11 @@ #define ASSERT_READ_LOCK(x) MUST_BE_READ_LOCKED(&ip_conntrack_lock) #define ASSERT_WRITE_LOCK(x) MUST_BE_WRITE_LOCKED(&ip_conntrack_lock) +#include #include #include #include #include -#include #define IP_CONNTRACK_VERSION "2.1" @@ -66,27 +66,6 @@ struct list_head *ip_conntrack_hash; static kmem_cache_t *ip_conntrack_cachep; -extern struct ip_conntrack_protocol ip_conntrack_generic_protocol; - -static inline int proto_cmpfn(const struct ip_conntrack_protocol *curr, - u_int8_t protocol) -{ - return protocol == curr->proto; -} - -struct ip_conntrack_protocol *__find_proto(u_int8_t protocol) -{ - struct ip_conntrack_protocol *p; - - MUST_BE_READ_LOCKED(&ip_conntrack_lock); - p = LIST_FIND(&protocol_list, proto_cmpfn, - struct ip_conntrack_protocol *, protocol); - if (!p) - p = &ip_conntrack_generic_protocol; - - return p; -} - struct ip_conntrack_protocol *ip_ct_find_proto(u_int8_t protocol) { struct ip_conntrack_protocol *p; --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_nat_core.c.meep 2002-10-12 15:37:02.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_nat_core.c 2002-10-12 17:30:38.000000000 +0200 @@ -21,6 +21,7 @@ #define ASSERT_READ_LOCK(x) MUST_BE_READ_LOCKED(&ip_nat_lock) #define ASSERT_WRITE_LOCK(x) MUST_BE_WRITE_LOCKED(&ip_nat_lock) +#include #include #include #include @@ -29,7 +30,6 @@ #include #include #include -#include #if 0 #define DEBUGP printk @@ -739,7 +739,7 @@ int ret = 1; MUST_BE_READ_LOCKED(&ip_conntrack_lock); - proto = ip_ct_find_proto((*pskb)->nh.iph->protocol); + proto = __find_proto((*pskb)->nh.iph->protocol); if (proto->exp_matches_pkt) ret = proto->exp_matches_pkt(exp, pskb); --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_standalone.c.meep 2002-10-12 17:00:17.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_standalone.c 2002-10-12 17:25:42.000000000 +0200 @@ -21,11 +21,11 @@ #define ASSERT_READ_LOCK(x) MUST_BE_READ_LOCKED(&ip_conntrack_lock) #define ASSERT_WRITE_LOCK(x) MUST_BE_WRITE_LOCKED(&ip_conntrack_lock) +#include #include #include #include #include -#include #if 0 #define DEBUGP printk @@ -361,6 +361,8 @@ EXPORT_SYMBOL(ip_ct_selective_cleanup); EXPORT_SYMBOL(ip_ct_refresh); EXPORT_SYMBOL(ip_ct_find_proto); +EXPORT_SYMBOL(protocol_list); +EXPORT_SYMBOL(ip_conntrack_generic_protocol); EXPORT_SYMBOL(ip_ct_find_helper); EXPORT_SYMBOL(ip_conntrack_expect_related); EXPORT_SYMBOL(ip_conntrack_change_expect); --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_proto_generic.c.meep 2002-10-12 17:09:55.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_proto_generic.c 2002-10-12 17:11:35.000000000 +0200 @@ -1,7 +1,12 @@ #include #include #include + +#define ASSERT_READ_LOCK(x) +#define ASSERT_WRITE_LOCK(x) + #include +#include #include #define GENERIC_TIMEOUT (600*HZ) --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_proto_tcp.c.meep 2002-10-12 17:11:56.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_proto_tcp.c 2002-10-12 17:12:24.000000000 +0200 @@ -11,6 +11,10 @@ #include +#define ASSERT_READ_LOCK(x) +#define ASSERT_WRITE_LOCK(x) + +#include #include #include #include --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_proto_udp.c.meep 2002-10-12 17:12:34.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_proto_udp.c 2002-10-12 17:12:55.000000000 +0200 @@ -4,6 +4,11 @@ #include #include #include + +#define ASSERT_READ_LOCK(x) +#define ASSERT_WRITE_LOCK(x) + +#include #include #define UDP_TIMEOUT (30*HZ) --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_proto_icmp.c.meep 2002-10-12 17:13:10.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_proto_icmp.c 2002-10-12 17:13:22.000000000 +0200 @@ -4,6 +4,11 @@ #include #include #include + +#define ASSERT_READ_LOCK(x) +#define ASSERT_WRITE_LOCK(x) + +#include #include #define ICMP_TIMEOUT (30*HZ) --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_nat_helper.c.meep 2002-10-12 17:15:10.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_nat_helper.c 2002-10-12 17:15:19.000000000 +0200 @@ -26,13 +26,13 @@ #define ASSERT_READ_LOCK(x) MUST_BE_READ_LOCKED(&ip_nat_lock) #define ASSERT_WRITE_LOCK(x) MUST_BE_WRITE_LOCKED(&ip_nat_lock) +#include #include #include #include #include #include #include -#include #if 0 #define DEBUGP printk --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_nat_rule.c.meep 2002-10-12 17:15:28.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_nat_rule.c 2002-10-12 17:15:45.000000000 +0200 @@ -15,11 +15,11 @@ #define ASSERT_READ_LOCK(x) MUST_BE_READ_LOCKED(&ip_nat_lock) #define ASSERT_WRITE_LOCK(x) MUST_BE_WRITE_LOCKED(&ip_nat_lock) +#include #include #include #include #include -#include #if 0 #define DEBUGP printk --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_nat_standalone.c.meep 2002-10-12 17:15:53.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_nat_standalone.c 2002-10-12 17:16:01.000000000 +0200 @@ -28,6 +28,7 @@ #define ASSERT_READ_LOCK(x) MUST_BE_READ_LOCKED(&ip_nat_lock) #define ASSERT_WRITE_LOCK(x) MUST_BE_WRITE_LOCKED(&ip_nat_lock) +#include #include #include #include @@ -35,7 +36,6 @@ #include #include #include -#include #if 0 #define DEBUGP printk --- linux-2.4.20-pre10/net/ipv4/netfilter/ip_fw_compat_masq.c.meep 2002-10-12 17:20:08.000000000 +0200 +++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_fw_compat_masq.c 2002-10-12 17:20:35.000000000 +0200 @@ -20,11 +20,11 @@ #define ASSERT_READ_LOCK(x) MUST_BE_READ_LOCKED(&ip_conntrack_lock) #define ASSERT_WRITE_LOCK(x) MUST_BE_WRITE_LOCKED(&ip_conntrack_lock) +#include #include #include #include #include -#include #if 0 #define DEBUGP printk