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