After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 305829 - IPv6 Proxy does not work
IPv6 Proxy does not work
Status: RESOLVED FIXED
Product: drivel
Classification: Deprecated
Component: general
svn trunk
Other Linux
: Normal normal
: ---
Assigned To: Todd Kulesza
Todd Kulesza
Depends on:
Blocks:
 
 
Reported: 2005-05-29 14:34 UTC by Aredridel
Modified: 2005-06-01 00:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add a new debug statement (1.44 KB, patch)
2005-05-29 17:59 UTC, Todd Kulesza
none Details | Review
possible ipv6 proxy fix (4.74 KB, patch)
2005-05-30 02:39 UTC, Todd Kulesza
none Details | Review
possible ipv6 proxy fix take two (887 bytes, patch)
2005-06-01 00:21 UTC, Todd Kulesza
none Details | Review

Description Aredridel 2005-05-29 14:34:05 UTC
Version details: 1.3.90
Distribution/Version: PLD AC

Put an IPv6 address in the gnome proxy settings, and drivel will not connect
properly, instead trying to connect as if it were IPv4 -- straced:

connect(16, {sa_family=AF_INET, sin_port=htons(470),
sin_addr=inet_addr("0.0.7.209")}, 16) = -1 EINVAL (Invalid argument)
Comment 1 Todd Kulesza 2005-05-29 15:51:03 UTC
Can you verify that curl is compiled with IPv6 support?  The following command
should look like so:

[todd@llyr drivel]$ curl-config --feature
SSL
IPv6
libz
Comment 2 Aredridel 2005-05-29 17:06:31 UTC
aredridel@mizar:~/rpm/SPECS$ curl-config --feature
SSL
IPv6
libz


Sure is.
Comment 3 Todd Kulesza 2005-05-29 17:47:21 UTC
Hrm, what version of libcurl do you have installed?  The documentation on the
curl site claims IPv6 support should be transparent.
Comment 4 Todd Kulesza 2005-05-29 17:59:14 UTC
Created attachment 47006 [details] [review]
Add a new debug statement
Comment 5 Todd Kulesza 2005-05-29 17:59:59 UTC
The attached patch adds debugging code for the proxy options.  If you apply this
and run Drivel with the -v switch you should see something like this:

[todd@llyr drivel]$ ./src/drivel -v
debug: built lj login request
debug: Proxy enabled:
URL: 47:08::23:4f
Port: 8080
Authentication: todd:test


(drivel:13123): Drivel-WARNING **: Could not get a challenge token from the server.


That will at least tell us if Drivel is correctly pulling the proxy information
from GNOME.
Comment 6 Aredridel 2005-05-29 18:19:05 UTC
aredridel@mizar:~/rpm/SPECS$ drivel -v
debug: built lj login request
debug: Proxy enabled:
URL: 2001:470:1f01:301::1
Port: 80
Authentication: aredridel@theinternetco.net:***censored***


(drivel:28206): Drivel-WARNING **: Could not get a challenge token from the server.
debug: journal_window_state_save()


Yes, it is.
Comment 7 Aredridel 2005-05-29 18:20:03 UTC
aredridel@mizar:~/rpm/SPECS$ rpm -q curl
curl-7.12.3-1
Comment 8 Todd Kulesza 2005-05-29 22:12:30 UTC
Confirming, the IPv6 address is not being parsed correctly.
Comment 9 Todd Kulesza 2005-05-30 02:38:58 UTC
Here's an updated version of the previous patch which forces the use of IPv6
name resolution for IPv6 proxy servers.  I don't have a functional IPv6 proxy to
test it on, could you let me know if this works or, if not, the result of a
"strace -f -e trace=network"?
Comment 10 Todd Kulesza 2005-05-30 02:39:44 UTC
Created attachment 47016 [details] [review]
possible ipv6 proxy fix
Comment 11 Aredridel 2005-05-30 02:58:43 UTC
No fly.

aredridel@mizar:~/rpm/SPECS$ strace -o drivel.log -ff -e trace=network drivel
colon1: :470:1f01:301::1
colon2: :1f01:301::1

(drivel:29435): Drivel-WARNING **: Could not get a challenge token from the server.
aredridel@mizar:~/rpm/SPECS$ more drivel.log
socket(PF_FILE, SOCK_STREAM, 0)         = 3
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT
(No such file or directory)
socket(PF_FILE, SOCK_STREAM, 0)         = 3
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT
(No such file or directory)
socket(PF_FILE, SOCK_STREAM, 0)         = 11
connect(11, {sa_family=AF_FILE, path="/tmp/.X11-unix/X0"}, 19) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 12
connect(12, {sa_family=AF_FILE, path="/tmp/.ICE-unix/10070"}, 22) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 13
connect(13, {sa_family=AF_FILE,
path="/tmp/orbit-aredridel/linc-2785-0-7395408ad86ed"}, 49) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 14
setsockopt(14, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(14, {sa_family=AF_FILE,
path="/tmp/orbit-aredridel/linc-72fb-0-7a3aef10195ac"}, 49) = 0
listen(14, 10)                          = 0
getsockname(14, {sa_family=AF_FILE,
path="/tmp/orbit-aredridel/linc-72fb-0-7a3aef10195ac"}, [49]) = 0
accept(14, {sa_family=AF_FILE, path="\uffff\uffffûA"}, [2]) = 15
aredridel@mizar:~/rpm/SPECS$ more drivel.log
drivel.log        drivel.log.29436
aredridel@mizar:~/rpm/SPECS$ more drivel.log.29436
socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 16
socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 16
aredridel@mizar:~/rpm/SPECS$ strace -o drivel.log -ff -e trace=network drivel
aredridel@mizar:~/rpm/SPECS$ rm drivel.log*
aredridel@mizar:~/rpm/SPECS$ strace -o drivel.log -ff -e trace=network drivel
colon1: :470:1f01:301::1
colon2: :1f01:301::1

(drivel:29444): Drivel-WARNING **: Could not get a challenge token from the server.
aredridel@mizar:~/rpm/SPECS$ cat drivel.log
socket(PF_FILE, SOCK_STREAM, 0)         = 3
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT
(No such file or directory)
socket(PF_FILE, SOCK_STREAM, 0)         = 3
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT
(No such file or directory)
socket(PF_FILE, SOCK_STREAM, 0)         = 11
connect(11, {sa_family=AF_FILE, path="/tmp/.X11-unix/X0"}, 19) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 12
connect(12, {sa_family=AF_FILE, path="/tmp/.ICE-unix/10070"}, 22) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 13
connect(13, {sa_family=AF_FILE,
path="/tmp/orbit-aredridel/linc-2785-0-7395408ad86ed"}, 49) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 14
setsockopt(14, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(14, {sa_family=AF_FILE,
path="/tmp/orbit-aredridel/linc-7304-0-4d6ecc1d7a386"}, 49) = 0
listen(14, 10)                          = 0
getsockname(14, {sa_family=AF_FILE,
path="/tmp/orbit-aredridel/linc-7304-0-4d6ecc1d7a386"}, [49]) = 0
accept(14, {sa_family=AF_FILE, path="\uffff\uffffûA"}, [2]) = 15
aredridel@mizar:~/rpm/SPECS$ cat drivel.log.29445
socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 16
socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 16


If you'd like a proxy server to test against, I can make an account on mine. I
can also help with IPv6 tunnelling if you need as well.
Comment 12 Todd Kulesza 2005-05-30 04:23:19 UTC
Thanks, I've not had much experience with IPv6, so help would be appreciated. :)
Comment 13 Aredridel 2005-05-30 04:39:09 UTC
Then you've no IPv6 connectivity at all at the moment?
Comment 14 Todd Kulesza 2005-05-30 13:52:37 UTC
My workstation supports IPv6, but my gateway (a Debian 3.0 machine) does not.
Comment 15 Aredridel 2005-05-30 15:48:34 UTC
A free, permanent way to get IPv6 connectivity is tunnelbroker.net's tunnel
service.  If you want something temporary, I can start a tunnel endpoint here
for testing.
Comment 16 Todd Kulesza 2005-06-01 00:21:19 UTC
Here's a patch to place brackets around an IPv6 proxy address.  Let me know if
this finally works :)
Comment 17 Todd Kulesza 2005-06-01 00:21:52 UTC
Created attachment 47086 [details] [review]
possible ipv6 proxy fix take two
Comment 18 Aredridel 2005-06-01 00:53:03 UTC
We have liftoff. Assuming CURL is patched, it works like a charm.