svn commit: r271418 - head/sbin/dhclient

Andriy Gapon avg at FreeBSD.org
Thu Sep 11 08:57:58 UTC 2014


On 11/09/2014 11:11, Robert Watson wrote:
> A bit behind on commits, but: does this mean that an older userspace dhclient
> will no longer work with a newer kernel?

At least in my case it appeared to work.  I guess this is because the broadcast
queries were not affected by the change.

> On Thu, 11 Sep 2014, Gleb Smirnoff wrote:
> 
>> Author: glebius
>> Date: Thu Sep 11 05:48:39 2014
>> New Revision: 271418
>> URL: http://svnweb.freebsd.org/changeset/base/271418
>>
>> Log:
>>  Since r270929 raw sockets expect network byte order.
>>
>>  Submitted by:    avg
>>
>> Modified:
>>  head/sbin/dhclient/packet.c
>>
>> Modified: head/sbin/dhclient/packet.c
>> ==============================================================================
>> --- head/sbin/dhclient/packet.c    Thu Sep 11 03:16:57 2014    (r271417)
>> +++ head/sbin/dhclient/packet.c    Thu Sep 11 05:48:39 2014    (r271418)
>> @@ -127,17 +127,6 @@ assemble_udp_ip_header(unsigned char *bu
>>     ip.ip_dst.s_addr = to;
>>
>>     ip.ip_sum = wrapsum(checksum((unsigned char *)&ip, sizeof(ip), 0));
>> -
>> -    /*
>> -     * While the BPF -- used for broadcasts -- expects a "true" IP header
>> -     * with all the bytes in network byte order, the raw socket interface
>> -     * which is used for unicasts expects the ip_len field to be in host
>> -     * byte order.  In both cases, the checksum has to be correct, so this
>> -     * is as good a place as any to turn the bytes around again.
>> -     */
>> -    if (to != INADDR_BROADCAST)
>> -        ip.ip_len = ntohs(ip.ip_len);
>> -
>>     memcpy(&buf[*bufix], &ip, sizeof(ip));
>>     *bufix += sizeof(ip);
>>
>>
>>
> 


-- 
Andriy Gapon


More information about the svn-src-all mailing list