Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Sep 2014 11:56:32 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Robert Watson <rwatson@FreeBSD.org>, Gleb Smirnoff <glebius@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r271418 - head/sbin/dhclient
Message-ID:  <541163C0.2080903@FreeBSD.org>
In-Reply-To: <alpine.BSF.2.11.1409110911210.54235@fledge.watson.org>
References:  <201409110548.s8B5md65014322@svn.freebsd.org> <alpine.BSF.2.11.1409110911210.54235@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?541163C0.2080903>