diff options
author | Patrick Monnerat <pm@datasphere.ch> | 2014-12-16 13:29:01 +0100 |
---|---|---|
committer | Patrick Monnerat <pm@datasphere.ch> | 2014-12-16 13:52:06 +0100 |
commit | 9081014c2c467077723d5ae1d0081003b3eb3504 (patch) | |
tree | d7bd9122e6c111344321164b1e0048c1df3e7266 /lib/url.h | |
parent | 759d049ae819adc1e913950da4772b5a6163eb79 (diff) |
IPV6: address scope != scope id
There was a confusion between these: this commit tries to disambiguate them.
- Scope can be computed from the address itself.
- Scope id is scope dependent: it is currently defined as 1-based local
interface index for link-local scoped addresses, and as a site index(?) for
(obsolete) site-local addresses. Linux only supports it for link-local
addresses.
The URL parser properly parses a scope id as an interface index, but stores it
in a field named "scope": confusion. The field has been renamed into "scope_id".
Curl_if2ip() used the scope id as it was a scope. This caused failures
to bind to an interface.
Scope is now computed from the addresses and Curl_if2ip() matches them.
If redundantly specified in the URL, scope id is check for mismatch with
the interface index.
This commit should fix SF bug #1451.
Diffstat (limited to 'lib/url.h')
0 files changed, 0 insertions, 0 deletions