#18923: IPv6 bind to interface poblem with cURL
-----------------------+----------------------------------
Reporter: chris5560 | Owner: developers
Type: defect | Status: new
Priority: normal | Milestone: Chaos Calmer (trunk)
Component: packages | Version: Trunk
Keywords: |
-----------------------+----------------------------------
I'm running Xubuntu 14.10 and OpenWrt x86 r44296 inside VirtualBox both
connected via NetworkBridge to the same router.
curl --interface ethx is not selecting the correct IPv6 address.
OpenWrt always using the ULA-Prefix. Whats going wrong inside OpenWrt IPv6
stack ?
It's not a problem of cURL Version 7.40 I also tested on 7.37 and 7.38.
Here the output of Xubuntu:
{{{
$ curl -V
curl 7.40.0 (i686-pc-linux-gnu) libcurl/7.40.0 OpenSSL/1.0.1f zlib/1.2.8
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp
smb smbs smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
christiana@V10-OWbuilder32:~/owbuild/trunk$ ifconfig eth0
eth0 Link encap:Ethernet Hardware Adresse 08:00:27:9c:f9:f7
inet Adresse:172.27.10.167 Bcast:172.27.10.255
Maske:255.255.255.0
inet6-Adresse: fd43:5368:6f6d:6500:38f8:890a:6806:a1f8/64
Gültigkeitsbereich:Global
inet6-Adresse: fe80::a00:27ff:fe9c:f9f7/64
Gültigkeitsbereich:Verbindung
inet6-Adresse: 2002:2518:848c:0:513a:c2bf:12b6:66bc/128
Gültigkeitsbereich:Global
inet6-Adresse: 2002:2518:848c:0:a00:27ff:fe9c:f9f7/64
Gültigkeitsbereich:Global
inet6-Adresse: fd43:5368:6f6d:6500:a00:27ff:fe9c:f9f7/64
Gültigkeitsbereich:Global
inet6-Adresse: 2002:2518:848c:0:38f8:890a:6806:a1f8/64
Gültigkeitsbereich:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX-Pakete:4216 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
TX-Pakete:3215 Fehler:0 Verloren:0 Überläufe:0 Träger:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX-Bytes:3681891 (3.6 MB) TX-Bytes:357487 (357.4 KB)
$ sudo curl -v --interface eth0 http://checkip.dyndns.com
* Rebuilt URL to: http://checkip.dyndns.com/
* Trying 216.146.39.70...
* Local Interface eth0 is ip 172.27.10.167 using address family 2
* Local port: 0
* Connected to checkip.dyndns.com (216.146.39.70) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.40.0
> Host: checkip.dyndns.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: text/html
< Server: DynDNS-CheckIP/1.0
< Connection: close
< Cache-Control: no-cache
< Pragma: no-cache
< Content-Length: 105
<
<html><head><title>Current IP Check</title></head><body>Current IP
Address: 37.24.132.140</body></html>
* Closing connection 0
$ sudo curl -v --interface eth0 http://checkipv6.dyndns.com
* Rebuilt URL to: http://checkipv6.dyndns.com/
* Trying 2600:2004:0:1::1...
* Local Interface eth0 is ip 2002:2518:848c:0:513a:c2bf:12b6:66bc using
address family 10
* Local port: 0
* Connected to checkipv6.dyndns.com (2600:2004:0:1::1) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.40.0
> Host: checkipv6.dyndns.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: text/html
< Server: DynDNS-CheckIP/1.0
< Connection: close
< Cache-Control: no-cache
< Pragma: no-cache
< Content-Length: 128
<
<html><head><title>Current IP Check</title></head><body>Current IP
Address: 2002:2518:848c:0:513a:c2bf:12b6:66bc</body></html>
* Closing connection 0
}}}
And here the output of OpenWrt:
{{{
# curl -V
curl 7.40.0 (i486-openwrt-linux-gnu) libcurl/7.40.0 OpenSSL/1.0.1l
Protocols: file ftp ftps http https
Features: IPv6 Largefile SSL
# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 08:00:27:D0:10:32
inet addr:172.27.10.128 Bcast:172.27.10.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fed0:1032/64 Scope:Link
inet6 addr: 2002:2518:848c:0:806b:c629:b8b9:433/128 Scope:Global
inet6 addr: fd43:5368:6f6d:6500:a00:27ff:fed0:1032/64
Scope:Global
inet6 addr: 2002:2518:848c:0:a00:27ff:fed0:1032/64 Scope:Global
inet6 addr: fd43:5368:6f6d:6500:806b:c629:b8b9:433/128
Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:166 errors:0 dropped:0 overruns:0 frame:0
TX packets:178 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:17637 (17.2 KiB) TX bytes:17420 (17.0 KiB)
# curl -v --interface eth1 http://checkip.dyndns.com
* Rebuilt URL to: http://checkip.dyndns.com/
* Trying 216.146.38.70...
* Local Interface eth1 is ip 172.27.10.128 using address family 2
* Local port: 0
* Connected to checkip.dyndns.com (216.146.38.70) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.40.0
> Host: checkip.dyndns.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: text/html
< Server: DynDNS-CheckIP/1.0
< Connection: close
< Cache-Control: no-cache
< Pragma: no-cache
< Content-Length: 105
<
<html><head><title>Current IP Check</title></head><body>Current IP
Address: 37.24.132.140</body></html>
* Closing connection 0
# curl -v --interface eth1 http://checkipv6.dyndns.com
* Rebuilt URL to: http://checkipv6.dyndns.com/
* Trying 2600:2004:0:1::1...
* Local Interface eth1 is ip fd43:5368:6f6d:6500:a00:27ff:fed0:1032 using
address family 10
* Local port: 0
* connect to 2600:2004:0:1::1 port 80 failed: Permission denied
* Failed to connect to checkipv6.dyndns.com port 80: Permission denied
* Closing connection 0
curl: (7) Failed to connect to checkipv6.dyndns.com port 80: Permission
denied
}}}
--
Ticket URL: <https://dev.openwrt.org/ticket/18923>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets