Bug#616040: mplayer: http proxy over ipv6 is not working with "options inet6"

Witold Baryluk baryluk at smp.if.uj.edu.pl
Wed Mar 2 02:38:03 UTC 2011


Package: mplayer
Version: 2:1.0~rc3++final.dfsg1-1
Severity: normal
Tags: ipv6

Hi,

I have environment variable set as

$ env | grep proxy
http_proxy=http://localhost:8118
no_proxy=localhost,127.0.0.0/8
$

and localhost resolves to IPv6

$ getent hosts localhost                    [ 03:15 ]
::ffff:127.0.0.1 localhost ip6-localhost ip6-loopback
::1             localhost ip6-localhost ip6-loopback
$

and on 8118 a privoxy is listening on IPv6 on ::1   (only).

$ /sbin/ss -anp | grep privoxy
LISTEN     0      128                     ::1:8118                    :::*
users:(("privoxy",22742,4))
$

Other aspects (privoxy configuration, resolver configuration, etc) should not
be relevant, but can provide them on request. All other software works and
eventually uses IPv6 (they in most cases uses IPv6 in first place, so do not
need to fallback to it actually).


So, with this setting, i have problem with mplayer

$ mplayer http://something.w.pl/
MPlayer 1.0rc3-4.4.4 (C) 2000-2009 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing http://something.w.pl/.
Resolving localhost for AF_INET6...
Connecting to server localhost[0.0.0.0]: 8118...
connect error: Connection refused
Resolving localhost for AF_INET...
Connecting to server localhost[127.0.0.1]: 8118...
connect error: Connection refused
STREAM_ASF, URL: http://something.w.pl/
Resolving localhost for AF_INET6...
Connecting to server localhost[0.0.0.0]: 8118...
connect error: Connection refused
Resolving localhost for AF_INET...
Connecting to server localhost[127.0.0.1]: 8118...
connect error: Connection refused
Failed, exiting.
Resolving localhost for AF_INET6...
Connecting to server localhost[0.0.0.0]: 8118...
connect error: Connection refused
Resolving localhost for AF_INET...
Connecting to server localhost[127.0.0.1]: 8118...
connect error: Connection refused
No stream found to handle url http://something.w.pl/


Exiting... (End of file)
$


In tcpdump -i lo -n  tcp port 8118, I see some TCP packets from mplayer, but
they are incorrect.

03:24:20.522194 IP 127.0.0.1.58842 > 127.0.0.1.8118: Flags [SEW], seq
3282813307, win 65495, options [mss 65495,sackOK,TS val 9071103 ecr
0,nop,wscale 6], length 0
03:24:20.522241 IP 127.0.0.1.8118 > 127.0.0.1.58842: Flags [R.], seq 0, ack
3282813308, win 0, length 0
03:24:20.522728 IP 127.0.0.1.58843 > 127.0.0.1.8118: Flags [SEW], seq
3275199927, win 65495, options [mss 65495,sackOK,TS val 9071103 ecr
0,nop,wscale 6], length 0
03:24:20.522755 IP 127.0.0.1.8118 > 127.0.0.1.58843: Flags [R.], seq 0, ack
3275199928, win 0, length 0
03:24:20.523161 IP 127.0.0.1.58844 > 127.0.0.1.8118: Flags [SEW], seq
3272516461, win 65495, options [mss 65495,sackOK,TS val 9071103 ecr
0,nop,wscale 6], length 0
03:24:20.523187 IP 127.0.0.1.8118 > 127.0.0.1.58844: Flags [R.], seq 0, ack
3272516462, win 0, length 0
03:24:20.523497 IP 127.0.0.1.58845 > 127.0.0.1.8118: Flags [SEW], seq
3276991417, win 65495, options [mss 65495,sackOK,TS val 9071103 ecr
0,nop,wscale 6], length 0
03:24:20.523522 IP 127.0.0.1.8118 > 127.0.0.1.58845: Flags [R.], seq 0, ack
3276991418, win 0, length 0
03:24:20.523932 IP 127.0.0.1.58846 > 127.0.0.1.8118: Flags [SEW], seq
3285799216, win 65495, options [mss 65495,sackOK,TS val 9071103 ecr
0,nop,wscale 6], length 0
03:24:20.523958 IP 127.0.0.1.8118 > 127.0.0.1.58846: Flags [R.], seq 0, ack
3285799217, win 0, length 0
03:24:20.524266 IP 127.0.0.1.58847 > 127.0.0.1.8118: Flags [SEW], seq
3277387865, win 65495, options [mss 65495,sackOK,TS val 9071103 ecr
0,nop,wscale 6], length 0
03:24:20.524291 IP 127.0.0.1.8118 > 127.0.0.1.58847: Flags [R.], seq 0, ack
3277387866, win 0, length 0


So as we can see, contraty to mplayer messages (AF_INET6 ... ), there is no
IPv6 packets.
Other bug in mplayer prevents me from seeing if 0.0.0.0 is really
a 0000:0000:0000:0000:0000:0000:0000:0001  (::1 in short), or something else.


Actually after performing strace, i have

$ strace mplayer http://something.w.pl/ 2>&1 | grep connect
connect(3, {sa_family=AF_FILE, path="/dev/lircd"}, 110) = -1 ENOENT (No such
file or directory)
write(2, "mplayer: could not connect to so"..., 37mplayer: could not connect to
socket
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT
(No such file or directory)
connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT
(No such file or directory)
connect(3, {sa_family=AF_INET6, sin6_port=htons(8118), inet_pton(AF_INET6,
"::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1
EINPROGRESS (Operation now in progress)
write(2, "connect error: Connection refuse"..., 34connect error: Connection
refused
connect(4, {sa_family=AF_INET, sin_port=htons(8118),
sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in
progress)
write(2, "connect error: Connection refuse"..., 34connect error: Connection
refused
connect(5, {sa_family=AF_INET6, sin6_port=htons(8118), inet_pton(AF_INET6,
"::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1
EINPROGRESS (Operation now in progress)
write(2, "connect error: Connection refuse"..., 34connect error: Connection
refused
connect(6, {sa_family=AF_INET, sin_port=htons(8118),
sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in
progress)
write(2, "connect error: Connection refuse"..., 34connect error: Connection
refused
connect(7, {sa_family=AF_INET6, sin6_port=htons(8118), inet_pton(AF_INET6,
"::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1
EINPROGRESS (Operation now in progress)
write(2, "connect error: Connection refuse"..., 34connect error: Connection
refused
connect(8, {sa_family=AF_INET, sin_port=htons(8118),
sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in
progress)
write(2, "connect error: Connection refuse"..., 34connect error: Connection
refused


Which shows that actually Ipv6 connection are done to IPv6-mapped IPv4
(0000:0000:0000:0000:0000:ffff:7f00:0001) becuase I have "options inet6" in
/etc/resolv.conf.

Removing "options inet6", makes mplayer happy:

$ getent hosts localhost
::1             localhost ip6-localhost ip6-loopback
$
$ mplayer http://something.w.pl/
MPlayer 1.0rc3-4.4.4 (C) 2000-2009 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing http://something.w.pl/
Resolving localhost for AF_INET6...
Connecting to server localhost[0.0.0.0]: 8118...
Cache size set to 320 KBytes
Cache fill: 17.50% (57344 bytes)
[Ogg] stream 0: audio (Vorbis), -aid 0
.....
^C
$




So why, mplayer is not trying other addresses returned by resolver when using
options inet6?
Other applications does not have this problem.

(not that -ipv4-only-proxy option is irrelevant, as it is
ONLY used when URL have numeric IPv6 address).


Thanks.



-- System Information:
Debian Release: 6.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=pl_PL.utf8, LC_CTYPE=pl_PL.utf8 (charmap=UTF-8) (ignored: LC_ALL set to pl_PL.utf8)
Shell: /bin/sh linked to /bin/dash

Versions of packages mplayer depends on:
ii  libaa1           1.4p5-38                ascii art library
ii  libasound2       1.0.23-2.1              shared library for ALSA applicatio
ii  libaudio2        1.9.2-4                 Network Audio System - shared libr
ii  libavcodec52     4:0.5.2-6               ffmpeg codec library
ii  libavformat52    4:0.5.2-6               ffmpeg file format library
ii  libavutil49      4:0.5.2-6               ffmpeg utility library
ii  libc6            2.11.2-11               Embedded GNU C Library: Shared lib
ii  libcaca0         0.99.beta17-1           colour ASCII art library
ii  libcdparanoia0   3.10.2+debian-10        audio extraction tool for sampling
ii  libdirectfb-1.2- 1.2.10.0-4              direct frame buffer graphics - sha
ii  libdvdread4      4.1.3-10                library for reading DVDs
ii  libenca0         1.13-3                  Extremely Naive Charset Analyser -
ii  libesd0          0.2.41-8                Enlightened Sound Daemon - Shared 
ii  libfontconfig1   2.8.0-2.1               generic font configuration library
ii  libfreetype6     2.4.2-2.1               FreeType 2 font engine, shared lib
ii  libfribidi0      0.19.2-1                Free Implementation of the Unicode
ii  libgcc1          1:4.5.1-5               GCC support library
ii  libgif4          4.1.6-9                 library for GIF images (library)
ii  libgl1-mesa-glx  7.7.1-4                 A free implementation of the OpenG
ii  libjack-jackd2-0 1.9.6~dfsg.1-2          JACK Audio Connection Kit (librari
ii  libjpeg62        6b1-1                   The Independent JPEG Group's JPEG 
ii  liblircclient0   0.8.3-5                 infra-red remote control support -
ii  liblzo2-2        2.03-2                  data compression library
ii  libncurses5      5.7+20100313-5          shared libraries for terminal hand
ii  libogg0          1.2.0~dfsg-1            Ogg bitstream library
ii  libopenal1       1:1.12.854-2            Software implementation of the Ope
ii  libpng12-0       1.2.44-1                PNG library - runtime
ii  libpostproc51    5:0.5.1+svn20100411-0.0 postproc shared libraries
ii  libpulse0        0.9.21-3                PulseAudio client libraries
ii  libsdl1.2debian  1.2.14-6.1              Simple DirectMedia Layer
ii  libsmbclient     2:3.5.6~dfsg-4          shared library for communication w
ii  libspeex1        1.2~rc1-1               The Speex codec runtime library
ii  libstdc++6       4.5.1-5                 The GNU Standard C++ Library v3
ii  libsvga1         1:1.4.3-30              console SVGA display libraries
ii  libswscale0      4:0.5.2-6               ffmpeg video scaling library
ii  libtheora0       1.1.1+dfsg.1-3          The Theora Video Compression Codec
ii  libx11-6         2:1.3.3-4               X11 client-side library
ii  libxext6         2:1.1.2-1               X11 miscellaneous extension librar
ii  libxinerama1     2:1.1.1-1               X11 Xinerama extension library
ii  libxt6           1:1.0.7-1               X11 toolkit intrinsics library
ii  libxv1           2:1.0.6-1               X11 Video extension library
ii  libxvmc1         2:1.0.6-1               X11 Video extension library
ii  libxxf86dga1     2:1.1.2-1               X11 Direct Graphics Access extensi
ii  libxxf86vm1      1:1.1.1-1               X11 XFree86 video mode extension l
ii  zlib1g           1:1.2.3.4.dfsg-3        compression library - runtime

mplayer recommends no packages.

Versions of packages mplayer suggests:
ii  bzip2                 1.0.5-6            high-quality block-sorting file co
ii  fontconfig            2.8.0-2.1          generic font configuration library
ii  fping                 2.4b2-to-ipv6-16.1 sends ICMP ECHO_REQUEST packets to
pn  mplayer-doc           <none>             (no description available)
ii  netselect             0.3.ds1-15         speed tester for choosing a fast n
ii  ttf-freefont          20090104-7         Freefont Serif, Sans and Mono True

-- no debconf information





More information about the pkg-multimedia-maintainers mailing list