[Bug 199378] [patch] dhclient violates RFC2131 when sending early DHCPREQUEST message to re-obtain old IP

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Apr 11 14:26:49 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199378

            Bug ID: 199378
           Summary: [patch] dhclient violates RFC2131 when sending early
                    DHCPREQUEST message to re-obtain old IP
           Product: Base System
           Version: 11.0-CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Many People
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: fbsd at opal.com
          Keywords: patch

Created attachment 155476
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=155476&action=edit
patch to cause early DHCPREQUEST broadcasts to be sent using source IP 0.0.0.0

When dhclient first starts, if an old IP address exists in the dhclient.leases
file, dhclient(8) sends early DHCPREQUEST message(s) in an attempt to re-obtain
the old IP address again.  These messages contain the old IP as a
requested-IP-address option in the message body (correct) but the message also
uses the old IP address as the packet's source IP (incorrect).

RFC2131 sec 4.1 states:

   DHCP messages broadcast by a client prior to that client obtaining
   its IP address must have the source address field in the IP header
   set to 0.

The use of the old IP as the packet's source address is incorrect if (a) the
computer is now on a different network or (b) it is on the same network, but
the old IP has been reallocated to another host.

The attached patch fixes things to use 0.0.0.0 as the source IP without
removing any existing functionality.  Any previously-used old IP is still
requested in the body of an early DHCPREQUEST message.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list