Bug#468801: libc6: RFC3484 scoping rules should only affect IPv6, not IPv4
Remi Denis-Courmont a écrit :
> Package: libc6
> Version: 2.7-9
> Severity: normal
> Tags: patch
>
>
> Hello,
>
> Rule 2 of the Destination Address Selection algorithm in RFC3484
> specifies:
>
> | Rule 2: Prefer matching scope.
> | If Scope(DA) = Scope(Source(DA)) and Scope(DB) <> Scope(Source(DB)),
> | then prefer DA. Similarly, if Scope(DA) <> Scope(Source(DA)) and
> | Scope(DB) = Scope(Source(DB)), then prefer DB.
>
> This rule makes lots of sense for IPv6 addresses - hosts should not try
> to use link-local destinations with global source addresses or
> vice-versa.
>
> However, glibc extends this rule to IPv4 as well: private RFC1918 IPv4
> addresses are taken as a different scope from public IPv6 addresses.
Note that it is note a glibc extension. It is defined in the RFC3484:
| IPv4 addresses are assigned scopes as follows. IPv4 auto-
| configuration addresses [9], which have the prefix 169.254/16, are
| assigned link-local scope. IPv4 private addresses [12], which have
| the prefixes 10/8, 172.16/12, and 192.168/16, are assigned site-local
| scope. IPv4 loopback addresses [12, section 4.2.2.11], which have
| the prefix 127/8, are assigned link-local scope (analogously to the
| treatment of the IPv6 loopback address [11, section 4]). Other IPv4
| addresses are assigned global scope.
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32@debian.org | aurelien@aurel32.net
`- people.debian.org/~aurel32 | www.aurel32.net
Reply to: