lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47321424.1050407@simon.arlott.org.uk>
Date:	Wed, 07 Nov 2007 19:38:12 +0000
From:	Simon Arlott <simon@...e.lp0.eu>
To:	"Templin, Fred L" <Fred.L.Templin@...ing.com>
CC:	YOSHIFUJI Hideaki / 吉藤英明 
	<yoshfuji@...ux-ipv6.org>, netdev@...eo.de, netdev@...r.kernel.org
Subject: Re: [PATCH 02/05] ipv6: RFC4214 Support

On 07/11/07 19:32, Templin, Fred L wrote:
>  
> 
>> -----Original Message-----
>> From: Simon Arlott [mailto:simon@...e.lp0.eu] 
>> Sent: Wednesday, November 07, 2007 11:02 AM
>> To: Templin, Fred L
>> Cc: YOSHIFUJI Hideaki / 吉藤英明; netdev@...eo.de; netdev@...r.kernel.org
>> Subject: Re: [PATCH 02/05] ipv6: RFC4214 Support
>> 
>> On 07/11/07 18:52, Templin, Fred L wrote:
>> >> > > > > +	eui[0] = 0;
>> >> > > > > +
>> >> > > > > +	/* Check for RFC3330 global address ranges */
>> >> > > > > +	if (((ipv4 >= 0x01000000) && (ipv4 < 0x0a000000)) ||
>> >> > > > > +	    ((ipv4 >= 0x0b000000) && (ipv4 < 0x7f000000)) ||
>> >> > > > > +	    ((ipv4 >= 0x80000000) && (ipv4 < 0xa9fe0000)) ||
>> >> > > > > +	    ((ipv4 >= 0xa9ff0000) && (ipv4 < 0xac100000)) ||
>> >> > > > > +	    ((ipv4 >= 0xac200000) && (ipv4 < 0xc0a80000)) ||
>> >> > > > > +	    ((ipv4 >= 0xc0a90000) && (ipv4 < 0xc6120000)) ||
>> >> > > > > +	    ((ipv4 >= 0xc6140000) && (ipv4 < 
>> >> 0xe0000000))) eui[0] |=
>> >> > > > > 0x2;
>> >> I don't understand.
>> >> 
>> >> For example, 1.0.0.11 is valid IPv4 global address.
>> >> In little-endian, this is not in the range of
>> >> 0x00000001 <= addr <= 0x0000000a (addr is 0x0b000001).
>> > 
>> > Maybe it is I who did not understand. Can you suggest a 
>> clean solution?
>> 
>> ((ipv4 & htonl(0xFF000000)) == htonl(0x0A000000)) etc.?
> 
> I'm not sure this works when we consider disjoint ranges
> of globally-unique IP prefixes. Do you have a vision for
> how the entire conditional would look like?

You need to match RFC3330 addresses, not anything that isn't.

((ipv4 & htonl(0xFF000000)) == htonl(0x0A000000))
|| ((ipv4 & htonl(0xFFFF0000)) == htonl(0xC0A80000))
|| ((ipv4 & htonl(0xFF000000)) == htonl(0x80000000))
etc.

-- 
Simon Arlott
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ