udhcpd host name issue

Mahavir Jain mahavir.coep at gmail.com
Wed Apr 1 10:17:21 UTC 2009


2009/4/1 Denys Vlasenko <vda.linux at googlemail.com>:
> On Monday 30 March 2009 07:50, Mahavir Jain wrote:
>> Hello,
>>
>> I have dhcp server configured in busybox 1.13.3. , but for me it is
>> very difficult identify clients based on
>>
>> dumpleases -f udhcpd.lease file . This file gives me idea of connected
>> clients with mac address & assigned lease.
>>
>> But i could see that it is very easy to get host name of client in
>> bootp protocol with DHCP_HOST_NAME macro in busybox.
>> Following patch (attached) does trick for me , which gives me good
>> idea about clients.
>
> # patch -p1 </tmp/review.patch
> patching file networking/udhcp/dhcpd.h
> Hunk #1 FAILED at 79.
> 1 out of 1 hunk FAILED -- saving rejects to file networking/udhcp/dhcpd.h.rej
> patching file networking/udhcp/dumpleases.c
> Hunk #1 FAILED at 36.
> Hunk #2 FAILED at 45.
> 2 out of 2 hunks FAILED -- saving rejects to file networking/udhcp/dumpleases.c.rej
> patching file networking/udhcp/files.c
> Hunk #1 FAILED at 401.
> 1 out of 1 hunk FAILED -- saving rejects to file networking/udhcp/files.c.rej
> patching file networking/udhcp/leases.c
> Hunk #1 FAILED at 43.
> Hunk #2 succeeded at 59 with fuzz 1 (offset 5 lines).
> 1 out of 3 hunks FAILED -- saving rejects to file networking/udhcp/leases.c.rej
> patching file networking/udhcp/serverpacket.c
> Hunk #1 FAILED at 104.
> Hunk #2 succeeded at 146 (offset -3 lines).
> Hunk #3 succeeded at 207 with fuzz 2 (offset -1 lines).
> Hunk #4 FAILED at 239.
> 2 out of 4 hunks FAILED -- saving rejects to file networking/udhcp/serverpacket.c.rej

I made patch against busybox-1.13.3.tar.bz2 , please make sure you are
patching to same version.
I have again checked it , there is no hunk failure in my case.

>
>
> -       printf("Mac Address       IP-Address      Expires %s\n", (opt & OPT_a) ? "at" : "in");
> -       /*     "00:00:00:00:00:00 255.255.255.255 Wed Jun 30 21:49:08 1993" */
> +       printf("Mac Address       IP-Address      Host Name                     Expires %s\n", (opt & OPT_a) ? "at" : "in");
> +       /*     "00:00:00:00:00:00 255.255.255.255 AAAAAAAAAAAAAAAAAAAAAAA       Wed Jun 30 21:49:08 1993" */
>
> This will overflow 80 columns
>
>
> +               if (host_name)
> +               {
> +                       hostname_length = *(host_name - 1);
> +                       memcpy(oldest->hostname, host_name, hostname_length);
> +               }
> +               else
> +               {
> +                       oldest->hostname[0] = '\0';
> +               }
>
> and if hostname_length happens to become > 30, memcpy will corrupt memory
> past the end of the oldest->hostname.
>
Yes , this should be taken care. Either char array size can be
increased ..or any better suggestion....?

>
>                printf(" %-15s ", inet_ntoa(addr));
> +               printf(" %-30s ", lease.hostname);
>
> Can be combined into one printf.
>
>
>> As previously suggested by vda  that dumpleases -a option is broken &
>> following patch is needed.
>> Why yet this is not included in busybox stable 1.13.3. ...?
>
> Because it is not a regression. It was broken for a long time.
> Code in 1.14.x deals with this problem properly.

ok.

> --
> vda
>

Thanks for feedback.

max


More information about the busybox mailing list