From: Ted Lemon Date: Wed, 3 Feb 1999 18:56:15 +0000 (+0000) Subject: Fix what looks like an error in the broadcast destination decision X-Git-Tag: V2-BETA-1-PATCH-9~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bd7e0382a98086290ea15ebecd5de1c033d697ee;p=thirdparty%2Fdhcp.git Fix what looks like an error in the broadcast destination decision for DHCPREQUEST packets. --- diff --git a/client/dhclient.c b/client/dhclient.c index e8de52ae9..2eafe3d8c 100644 --- a/client/dhclient.c +++ b/client/dhclient.c @@ -56,7 +56,7 @@ #ifndef lint static char ocopyright[] = -"$Id: dhclient.c,v 1.44.2.8 1999/01/29 18:33:34 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; +"$Id: dhclient.c,v 1.44.2.9 1999/02/03 18:56:15 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -1246,6 +1246,7 @@ void send_request (ipp) /* If the lease T2 time has elapsed, or if we're not yet bound, broadcast the DHCPREQUEST rather than unicasting. */ if (ip -> client -> state == S_REQUESTING || + ip -> client -> state == S_REBOOTING || cur_time > ip -> client -> active -> rebind) destination.sin_addr.s_addr = INADDR_BROADCAST; else @@ -1531,6 +1532,7 @@ void make_request (ip, lease) ip -> client -> state == S_REBINDING) { memcpy (&ip -> client -> packet.ciaddr, lease -> address.iabuf, lease -> address.len); + ip -> client -> packet.flags = 0; } else { memset (&ip -> client -> packet.ciaddr, 0, sizeof ip -> client -> packet.ciaddr);