From: Rob Landley Date: Thu, 26 May 2005 05:25:12 +0000 (-0000) Subject: Tobias Krawutschke found a bug where the DHCP client would accept packets X-Git-Tag: 1_1_0~967 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0b1ff5a60630ebe957e3f28a3e17e28ec7b6fbe4;p=oweals%2Fbusybox.git Tobias Krawutschke found a bug where the DHCP client would accept packets with the wrong ARP address, meaning we could easily get somebody else's IP. That is a bad thing, and this is the minimal two-line fix. --- diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c index 8009bec04..d99711c43 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c @@ -439,6 +439,9 @@ int main(int argc, char *argv[]) (unsigned long) packet.xid, xid); continue; } + /* Ignore packets that aren't for us */ + if (memcmp(client_config.arp,packet.chaddr,6)) + continue; if ((message = get_option(&packet, DHCP_MESSAGE_TYPE)) == NULL) { DEBUG(LOG_ERR, "couldnt get option from packet -- ignoring");