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/smtp.c | |
parent | 759d049ae819adc1e913950da4772b5a6163eb79 (diff) | |
download | curl-9081014c2c467077723d5ae1d0081003b3eb3504.tar.gz |
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/smtp.c')
-rw-r--r-- | lib/smtp.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/lib/smtp.c b/lib/smtp.c index 4016741dc..7bd5158bf 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -62,7 +62,6 @@ #include <curl/curl.h> #include "urldata.h" #include "sendf.h" -#include "if2ip.h" #include "hostip.h" #include "progress.h" #include "transfer.h" |