diff -ur v2.4.22/linux/include/linux/netfilter_ipv4/ip_nat.h linux/include/linux/netfilter_ipv4/ip_nat.h --- v2.4.22/linux/include/linux/netfilter_ipv4/ip_nat.h Fri Nov 29 03:00:12 2002 +++ linux/include/linux/netfilter_ipv4/ip_nat.h Sun Aug 31 18:35:42 2003 @@ -129,5 +129,9 @@ extern u_int16_t ip_nat_cheat_check(u_int32_t oldvalinv, u_int32_t newval, u_int16_t oldcheck); + +extern void ip_nat_replace_in_hashes(struct ip_conntrack *conntrack, + struct ip_nat_info *info); + #endif /*__KERNEL__*/ #endif diff -ur v2.4.22/linux/net/ipv4/netfilter/ip_conntrack_standalone.c linux/net/ipv4/netfilter/ip_conntrack_standalone.c --- v2.4.22/linux/net/ipv4/netfilter/ip_conntrack_standalone.c Sat Jun 14 08:42:55 2003 +++ linux/net/ipv4/netfilter/ip_conntrack_standalone.c Sun Aug 31 18:38:32 2003 @@ -352,6 +352,7 @@ EXPORT_SYMBOL(ip_conntrack_protocol_register); EXPORT_SYMBOL(ip_conntrack_protocol_unregister); EXPORT_SYMBOL(invert_tuplepr); +EXPORT_SYMBOL(__ip_conntrack_confirm); EXPORT_SYMBOL(ip_conntrack_alter_reply); EXPORT_SYMBOL(ip_conntrack_destroyed); EXPORT_SYMBOL(ip_conntrack_get); diff -ur v2.4.22/linux/net/ipv4/netfilter/ip_nat_core.c linux/net/ipv4/netfilter/ip_nat_core.c --- v2.4.22/linux/net/ipv4/netfilter/ip_nat_core.c Mon Aug 25 22:06:13 2003 +++ linux/net/ipv4/netfilter/ip_nat_core.c Sun Aug 31 18:43:41 2003 @@ -698,6 +698,17 @@ list_prepend(&byipsproto[ipsprotohash], &info->byipsproto); } +void ip_nat_replace_in_hashes(struct ip_conntrack *conntrack, + struct ip_nat_info *info) +{ + WRITE_LOCK(&ip_nat_lock); + if (!info->initialized) + place_in_hashes(conntrack, info); + else + replace_in_hashes(conntrack, info); + WRITE_UNLOCK(&ip_nat_lock); +} + static void manip_pkt(u_int16_t proto, struct iphdr *iph, size_t len, const struct ip_conntrack_manip *manip, diff -ur v2.4.22/linux/net/ipv4/netfilter/ip_nat_standalone.c linux/net/ipv4/netfilter/ip_nat_standalone.c --- v2.4.22/linux/net/ipv4/netfilter/ip_nat_standalone.c Sat Jun 14 08:42:55 2003 +++ linux/net/ipv4/netfilter/ip_nat_standalone.c Sun Aug 31 18:39:19 2003 @@ -359,5 +359,6 @@ EXPORT_SYMBOL(ip_nat_cheat_check); EXPORT_SYMBOL(ip_nat_mangle_tcp_packet); EXPORT_SYMBOL(ip_nat_mangle_udp_packet); +EXPORT_SYMBOL(ip_nat_replace_in_hashes); EXPORT_SYMBOL(ip_nat_used_tuple); MODULE_LICENSE("GPL");