Subject: Re: dhcpd
To: Simon Burge <simonb@NetBSD.org>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-net
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.