[PATCH] bug 8926 - Arping dropping leading 0 from mac address

Vito Mulè mule.vito at gmail.com
Thu May 26 20:21:40 UTC 2016


Thanks.
Not complaining but I would have expected to be quoted in the commit.
Not a big deal, it was a small patch.

Cheers

On Thursday, 26 May 2016, Denys Vlasenko <vda.linux at googlemail.com> wrote:

> Fixed in git, thanks!
>
> On Wed, May 25, 2016 at 5:24 PM, Vito Mulè <mule.vito at gmail.com
> <javascript:;>> wrote:
> > friendly ping
> >
> > ---------- Forwarded message ----------
> > From: Vito Mulè <mule.vito at gmail.com <javascript:;>>
> > Date: 16 May 2016 at 18:16
> > Subject: Fwd: bug 8926 - Arping dropping leading 0 from mac address
> > To: busybox at busybox.net <javascript:;>
> >
> >
> > Hello,
> > not sure if this is necessary since I've opened the bug already,
> apologies
> > in case it's not.
> > Bug link: https://bugs.busybox.net/show_bug.cgi?id=8926
> >
> >
> > Not sure if this is intende but busybox arping is not consistent with
> arping
> > on linux, printing MAC addressed.
> >
> >
> > root at agent4:/home/vmule# arping 192.168.1.159
> > ARPING 192.168.1.159
> > 60 bytes from 08:00:27:86:47:9d (192.168.1.159): index=0 time=1.002 sec
> >
> > and this is busybox arping
> > root at agent4:/home/vmule# busybox arping 192.168.1.159
> > ARPING to 192.168.1.159 from 192.168.1.157 via eth0
> > Unicast reply from 192.168.1.159 [8:0:27:86:47:9d] 0.314ms
> >
> > I wrote a small patch to fix it:
> >
> >
> > diff --git a/networking/arping.c b/networking/arping.c
> > index 6b0de4d..2b22451 100644
> > --- a/networking/arping.c
> > +++ b/networking/arping.c
> > @@ -230,12 +230,15 @@ static void recv_pack(unsigned char *buf, int len,
> > struct sockaddr_ll *FROM)
> >         }
> >         if (!(option_mask32 & QUIET)) {
> >                 int s_printed = 0;
> > +               struct ether_addr* mac = (struct ether_addr *) p;
> >
> > -               printf("%scast re%s from %s [%s]",
> > +               printf("%scast re%s from %s
> [%02x:%02x:%02x:%02x:%02x:%02x]
> > ",
> >                         FROM->sll_pkttype == PACKET_HOST ? "Uni" :
> "Broad",
> >                         ah->ar_op == htons(ARPOP_REPLY) ? "ply" :
> "quest",
> >                         inet_ntoa(src_ip),
> > -                       ether_ntoa((struct ether_addr *) p));
> > +                       mac->ether_addr_octet[0],
> mac->ether_addr_octet[1],
> > +                       mac->ether_addr_octet[2],
> mac->ether_addr_octet[3],
> > +                       mac->ether_addr_octet[4],
> mac->ether_addr_octet[5]);
> >                 if (dst_ip.s_addr != src.s_addr) {
> >                         printf("for %s ", inet_ntoa(dst_ip));
> >                         s_printed = 1;
> > @@ -243,8 +246,11 @@ static void recv_pack(unsigned char *buf, int len,
> > struct sockaddr_ll *FROM)
> >                 if (memcmp(p + ah->ar_hln + 4, me.sll_addr, ah->ar_hln))
> {
> >                         if (!s_printed)
> >                                 printf("for ");
> > -                       printf("[%s]",
> > -                               ether_ntoa((struct ether_addr *) p +
> > ah->ar_hln + 4));
> > +                       struct ether_addr* mac2 = mac + ah->ar_hln + 4;
> > +                       printf("[%02x:%02x:%02x:%02x:%02x:%02x]",
> > +                               mac2->ether_addr_octet[0],
> > mac2->ether_addr_octet[1],
> > +                               mac2->ether_addr_octet[2],
> > mac2->ether_addr_octet[3],
> > +                               mac2->ether_addr_octet[4],
> > mac2->ether_addr_octet[5]);
> >                 }
> >
> >                 if (last) {
> >
> >
> > Ideas?
> >
> >
> > Cheers
> >
> >
> >
> >
> > _______________________________________________
> > busybox mailing list
> > busybox at busybox.net <javascript:;>
> > http://lists.busybox.net/mailman/listinfo/busybox
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20160526/c59782ce/attachment-0001.html>


More information about the busybox mailing list