Applied 10 patches. Thank you.

On Mon, Jan 4, 2021 at 1:41 AM Alex Samorukov <[email protected]> wrote:
>
> This patch addressing 2 issues:
>
> 1. Replacing source/dest with uh_sport/uh_dport. It seems that uh_* members 
> are
>    defined on both Linux and BSD, so no #ifdef here
> 2. Use SOL_IPV6 instead of SOL_RAW on the FreeBSD to fix IPV6_CHECKSUM 
> setsockopt
>
> Signed-off-by: Alex Samorukov <[email protected]>
> ---
>  networking/traceroute.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/networking/traceroute.c b/networking/traceroute.c
> index bd63e4449..7cba9d2f1 100644
> --- a/networking/traceroute.c
> +++ b/networking/traceroute.c
> @@ -716,8 +716,8 @@ packet4_ok(int read_len, int seq)
>  // Off: since we do not form the entire IP packet,
>  // but defer it to kernel, we can't set source port,
>  // and thus can't check it here in the reply
> -                       /* && up->source == ident */
> -                        && up->dest == htons(port + seq)
> +                       /* && up->uh_sport == ident */
> +                        && up->uh_dport == htons(port + seq)
>                         ) {
>                                 return (type == ICMP_TIMXCEED ? -1 : code + 
> 1);
>                         }
> @@ -985,8 +985,13 @@ traceroute_init(int op, char **argv)
>                                 snd = xsocket(AF_INET, SOCK_DGRAM, 0);
>                 }
>  #if ENABLE_TRACEROUTE6
> +#ifdef __FreeBSD__
> +#define SOL_V6_OPTION SOL_IPV6
> +#else
> +#define SOL_V6_OPTION SOL_RAW
> +#endif
>                 else {
> -                       if (setsockopt_int(rcvsock, SOL_RAW, IPV6_CHECKSUM, 
> 2) != 0)
> +                       if (setsockopt_int(rcvsock, SOL_V6_OPTION, 
> IPV6_CHECKSUM, 2) != 0)
>                                 bb_perror_msg_and_die("setsockopt(%s)", 
> "IPV6_CHECKSUM");
>                         if (op & OPT_USE_ICMP)
>                                 snd = xsocket(AF_INET6, SOCK_RAW, 
> IPPROTO_ICMPV6);
> --
> 2.29.1
>
> _______________________________________________
> busybox mailing list
> [email protected]
> http://lists.busybox.net/mailman/listinfo/busybox
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to