Subject: Re: dhcpd
To: Simon Burge <simonb@NetBSD.org>
From: Greg Troxel <email@example.com>
Date: 09/12/2007 20:02:49
Simon Burge <simonb@NetBSD.org> writes:
> Greg Troxel wrote:
>> [dhclient fails with sys/net/if.c 1.200]
>> The real problem is that SIOCGIFCONF never had a real API definition.
>> I think the right fix is to change dhcp to use sizeof (ifreq.ifr_ifru)
>> instead of sockaddr for deciding if more space is needed. This declares
>> that we follow the 2nd choice of what the API used to be.
> Is it possible to fix this somehow without breaking binary compatibility?
The real incompatible change is in -current but not 4, and -current has
binary compat with the old ioctl of smaller size. Binary compatibility
with the old version of SIOCGIFCONF in currrent, with the larger size
and the bizarre size-dependent behavior doesn't make sense, and would
cause the other half of the programs to fail (well, right now we have
dhcp vs racoon and I don't know about others).
So only people running current will have trouble, and if we fix dhcp,
then once they update both kernel/user all will be ok. It seems we
don't do intra-current binary compat usually, especially when fixing bugs.