diff -urN linux-2.4.22/include/net/tcp.h linux-2.4.22-new/include/net/tcp.h
--- linux-2.4.22/include/net/tcp.h	2003-08-25 13:44:44.000000000 +0200
+++ linux-2.4.22-new/include/net/tcp.h	2003-10-07 23:53:00.000000000 +0200
@@ -141,6 +141,9 @@
 extern void tcp_bucket_unlock(struct sock *sk);
 extern int tcp_port_rover;
 extern struct sock *tcp_v4_lookup_listener(u32 addr, unsigned short hnum, int dif);
+extern struct sock *tcp_v4_lookup(u32 saddr, u16 sport, u32 daddr, u16 hnum, int dif);
+ 
+
 
 /* These are AF independent. */
 static __inline__ int tcp_bhashfn(__u16 lport)
diff -urN linux-2.4.22/include/net/udp.h linux-2.4.22-new/include/net/udp.h
--- linux-2.4.22/include/net/udp.h	2001-11-22 20:47:15.000000000 +0100
+++ linux-2.4.22-new/include/net/udp.h	2003-10-07 23:53:50.000000000 +0200
@@ -68,6 +68,7 @@
 extern int	udp_rcv(struct sk_buff *skb);
 extern int	udp_ioctl(struct sock *sk, int cmd, unsigned long arg);
 extern int	udp_disconnect(struct sock *sk, int flags);
+extern struct sock *udp_v4_lookup(u32 saddr, u16 sport, u32 daddr, u16 dport, int dif);
 
 extern struct udp_mib udp_statistics[NR_CPUS*2];
 #define UDP_INC_STATS(field)		SNMP_INC_STATS(udp_statistics, field)
diff -urN linux-2.4.22/net/netsyms.c linux-2.4.22-new/net/netsyms.c
--- linux-2.4.22/net/netsyms.c	2003-08-25 13:44:44.000000000 +0200
+++ linux-2.4.22-new/net/netsyms.c	2003-10-07 23:55:38.000000000 +0200
@@ -583,6 +583,10 @@
 EXPORT_SYMBOL(unregister_tcf_proto_ops);
 #endif
 #ifdef CONFIG_NETFILTER
+
+EXPORT_SYMBOL(tcp_v4_lookup);
+EXPORT_SYMBOL(udp_v4_lookup);
+
 #include <linux/netfilter.h>
 EXPORT_SYMBOL(nf_register_hook);
 EXPORT_SYMBOL(nf_unregister_hook);
