(RADIATOR) Incorrect implementation of DHCP DISCOVER

Hugh Irvine hugh at open.com.au
Thu Jun 23 09:26:04 CDT 2005


Hello Ian -

I am travelling at the moment and I won't be able to do anything  
about this until I get back on July 11.

If you want to make modifications to the code and send me the patches  
I will be happy to incorporate them.

Otherwise please remind me when I get home.

regards

Hugh


On 23 Jun 2005, at 07:25, Ian wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> We use AddressAllocatorDHCP to obtain ip address's from ISC DHCP  
> servers
> configured in a failover/load balanced pair. We came across a bug  
> in the
> DHCP server that meant we failed to obtain an ip address. One of the
> suggested work arounds was to set load balance max seconds to a low
> number (3 seconds) and in theory this would allow the primary  
> server to
> offer an address. However, this will only work if the client is
> implementing the secs bootp header field correctly. According to the
> specifications an initial request should contain 0 and subsequent
> retransmissions should increment this value by the time since the  
> first
> request.
>
> Looking into the code for AddressAllocatorDHCP I can see that this is
> not the case. DHCP.pm sets the secs field to 0 in assemble_packet each
> time it is called. I think there should be a check here to see if the
> secs field has been passed by the caller.
>
> This is only half the story however, as AddressAllocatorDHCP only  
> calls
> build_dhcpdiscover once subsequent retransmissions use the saved  
> packet.
> I think that build_dhcpdiscover should be re-invoked before
> retransmission including an updated secs value.
>
> Any comment?
>
> Cheers,
> Ian
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.4 (GNU/Linux)
> Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
>
> iD8DBQFCupxEzR2KhuAWJ/gRArEnAJ94GoIMM3WmBPiT1ZTogywileQHcQCfe14z
> faIQT9s0XXabo3S4RAsYPnE=
> =cCkr
> -----END PGP SIGNATURE-----
>
> --
> Archive at http://www.open.com.au/archives/radiator/
> Announcements on radiator-announce at open.com.au
> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe radiator' in the body of the message.
>


NB: I am travelling this week, so there may be delays in our  
correspondence.

-- 
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. Available on *NIX, *BSD, Windows 95/98/2000, NT, MacOS X.
-
Nets: internetwork inventory and management - graphical, extensible,
flexible with hardware, software, platform and database independence.
-
CATool: Private Certificate Authority for Unix and Unix-like systems.


--
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.


More information about the radiator mailing list