dhcp inform is not fetching the correct option

David W. Hankins David_Hankins at isc.org
Thu May 22 15:32:53 UTC 2008


On Thu, May 22, 2008 at 06:38:48AM -0600, S Kalyanasundaram wrote:
> I read the code a little bit. in dhcp.c in dhcpinform function, we find the corresponding subnet by using
> the packets' data. and do execute_statment_in_scope till to the global that is global->sharned_network->subnet
> but it never reads the host's configuration. 
> 
> I am not sure why this way it is done. or I may just missed to see the original path.

it was the original author's design; i can't guess reasons why very
well either, except where his comments appear.

> This following patch actually fixes this issue. After execute_statement_in_scope from subnet, it also tries to find the
> corresponding host and read its option and return them to the client.

reviewing the patch; should a host record match a client if it has a
fixed-address statement that is not appropriate to the subnet the
client is attached to?  the patch does not seem to seek past the first
host record, so i'm not sure what the expectation would be if multiple
matching records were present.  note that we don't necessarily know
the subnet to which the client is attached, but certainly if we don't
know that (from source interface or giaddr), then any fixed-address
records don't need to match anyway.

i haven't had the time to make it through this briar patch myself, but
i know it affects a lot of people (giving out the wrong info to windows
boxes, which seem to digest it over-riding the stateful assignments),
and it's on our list to address.

we do accept patches to our ticketing system, dhcp-suggest at isc.org.

-- 
Ash bugud-gul durbatuluk agh burzum-ishi krimpatul.
Why settle for the lesser evil?	 https://secure.isc.org/store/t-shirt/
-- 
David W. Hankins	"If you don't do it right the first time,
Software Engineer		     you'll just have to do it again."
Internet Systems Consortium, Inc.		-- Jack T. Hankins


More information about the dhcp-users mailing list