--- icmp.c.sav Mon Mar 18 10:43:24 2002 +++ icmp.c Mon Mar 18 12:29:48 2002 @@ -139,6 +139,8 @@ { EHOSTUNREACH, 1 } /* ICMP_PREC_CUTOFF */ }; +extern int sysctl_ip_default_ttl; + /* Control parameters for ECHO replies. */ int sysctl_icmp_echo_ignore_all; int sysctl_icmp_echo_ignore_broadcasts; @@ -354,6 +356,7 @@ icmp_out_count(icmp_param->data.icmph.type); sk->protinfo.af_inet.tos = skb->nh.iph->tos; + sk->protinfo.af_inet.ttl = sysctl_ip_default_ttl; daddr = ipc.addr = rt->rt_src; ipc.opt = NULL; if (icmp_param->replyopts.optlen) { --- tcp_ipv4.c.sav Mon Mar 18 10:43:03 2002 +++ tcp_ipv4.c Mon Mar 18 11:54:16 2002 @@ -64,7 +64,7 @@ #include extern int sysctl_ip_dynaddr; - +extern int sysctl_ip_default_ttl; /* Check TCP sequence numbers in ICMP packets. */ #define ICMP_MIN_LENGTH 8 @@ -1072,6 +1072,7 @@ arg.n_iov = 1; arg.csumoffset = offsetof(struct tcphdr, check) / 2; + tcp_socket->sk->protinfo.af_inet.ttl = sysctl_ip_default_ttl; ip_send_reply(tcp_socket->sk, skb, &arg, sizeof rth); TCP_INC_STATS_BH(TcpOutSegs);