Bug 427425 - dhclient interoperability problem with bootpd-DD2-4.3 (no lease time from server)
Summary: dhclient interoperability problem with bootpd-DD2-4.3 (no lease time from ser...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: dhcp
Version: 8
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: David Cantrell
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-01-03 18:56 UTC by Jaroslav Kysela
Modified: 2008-07-02 02:46 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2008-07-02 02:46:25 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Server response without lease time is equal to infinite (max.) lease time (595 bytes, patch)
2008-01-03 18:56 UTC, Jaroslav Kysela
no flags Details | Diff

Description Jaroslav Kysela 2008-01-03 18:56:18 UTC
I found an interoperability problem with dhclient and bootpd-DD2-4.3 daemon.
Everything works well, but dhclient rejects DHCKACK packets without specified
time lease. Reply from bootp-DD2 might violate RFC, but infinite lease time
works perfectly in this combination and other tested OSes and devices does not
have any problem with this bootp but little dhcp modified server.

Note that even the current implementation creates a denial attack to server and
network because dhclient immediately starts new DHCP session thus many broadcast
packets might be generated. This noticably slows down the server and client on
1Gbit network with current hardware.

This problem is probably in all dhclient packages.

Patch solving problem is attached.

Comment 1 Jaroslav Kysela 2008-01-03 18:56:18 UTC
Created attachment 290757 [details]
Server response without lease time is equal to infinite (max.) lease time

Comment 2 David Cantrell 2008-07-02 02:46:25 UTC
While the patch you've provided works around the problem you're experiencing, it's not really a good 
fix.  The problem you are describing needs to be fixed in bootpd-DD2-4.3, not dhclient.

RFC 2131, section 4.3.1 states that the server must give the client the lease expiration time.  If we 
don't receive that, the DHCP protocol has been broken.  The only thing we can reasonably do if the user 
wants the client to continue running is to re-enter the INIT state.

RFC 2131 also does not guarantee that a dhcp client can communicate with a bootp server correctly, 
only that bootp clients can still get information from dhcp servers.  I don't know much about bootpd-
DD2-4.3, but it sounds like it's not a compliant DHCP server.

DHCP already has far too many known workarounds for different clients and servers.  I do not want to 
add to that list by adding this patch.  Please see that this bug is fixed in bootpd if it's to even be fixed.

I would reassign to bootparamd, but that doesn't look like the same software you're using.


Note You need to log in before you can comment on or make changes to this bug.