On Fri, Sep 21, 2018 at 10:07:54PM +0800, Nan Xiao wrote:
> Hi Jason,
> 
> Thanks very much for your response!
> 
> I check the ping & traceroute code, For ping:
> 
> if (options & F_TTL) {
>     if (IN_MULTICAST(ntohl(dst4.sin_addr.s_addr)))
>         moptions |= MULTICAST_TTL;
>     else
>         options |= F_HDRINCL;
> }
> 
> For traceroute:
> void
> check_tos(struct ip *ip, int *last_tos)
> {
>     struct icmp *icp;
>     struct ip *inner_ip;
> 
>     icp = (struct icmp *) (((u_char *)ip)+(ip->ip_hl<<2));
>     inner_ip = (struct ip *) (((u_char *)icp)+8);
> 
>     if (inner_ip->ip_tos != *last_tos)
>         printf (" (TOS=%d!)", inner_ip->ip_tos);
> 
>     *last_tos = inner_ip->ip_tos;
> }
> 
> They indeed don't handle IPv6. But for netcat, it actually hangle IPv6
> case at leaet from code in preceding mail. If netcat doesn't want to
> handle IPv6 intentionally, I think the IPv6 code should be removed,
> thanks!
> 

if you submit a diff for whatever improvement you hope for, there is a
chance i can find people to review it and possibly commit it.

judging by the lack of responses from everyone else about your mail, i'd
say nothing will happen without such a diff.

jmc

Reply via email to