Bug#885085: cantata: dynamic playlists only work with MPD reachable via IPv4

Peter Marschall peter at adpm.de
Sat Dec 23 17:10:14 UTC 2017


Package: cantata
Version: 2.1.0.ds1-1
Severity: normal
Tags: patch

Due to the use of IO::Socket::INET, cantata-dynamic is limited to IPv4 and
fails without notice on a pure IPv6 connection.

The regular end-user does not know about the way cantata internally deals with
playlists and wonders why the dynamic playlists he/she created do not work.

The issue can be quickly solved by replacing all 3 occurrences of
  IO::Socket::INET
with
  IO::Socket::IP
in cantata-dynamic, and adding a dependency to libio-socket-ip-perl.

The corresponding bug up stream, although without the patch, is
  https://github.com/CDrummond/cantata/issues/1148

Thanks for maintaining cantata in Debian
Peter

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.13.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages cantata depends on:
ii  fonts-font-awesome    4.7.0~dfsg-3
ii  libavcodec57          7:3.4.1-1
ii  libavformat57         7:3.4.1-1
ii  libavutil55           7:3.4.1-1
ii  libc6                 2.25-3
ii  libcddb2              1.3.2-5
ii  libcdparanoia0        3.10.2+debian-11.1
ii  libebur128-1          1.2.3-1
ii  libgcc1               1:7.2.0-18
ii  libmpg123-0           1.25.8-1
ii  libmtp9               1.1.13-1
ii  libmusicbrainz5cc2v5  5.1.0+git20150707-7
ii  libqt5concurrent5     5.9.2+dfsg-6
ii  libqt5core5a          5.9.2+dfsg-6
ii  libqt5dbus5           5.9.2+dfsg-6
ii  libqt5gui5            5.9.2+dfsg-6
ii  libqt5network5        5.9.2+dfsg-6
ii  libqt5sql5            5.9.2+dfsg-6
ii  libqt5sql5-sqlite     5.9.2+dfsg-6
ii  libqt5svg5            5.9.2-3
ii  libqt5widgets5        5.9.2+dfsg-6
ii  libqt5xml5            5.9.2+dfsg-6
ii  libstdc++6            7.2.0-18
ii  libtag-extras1        1.0.1-3.1
ii  libtag1v5             1.11.1+dfsg.1-0.2
ii  libudev1              236-1
ii  libvlc5               2.2.8-2+b1
ii  zlib1g                1:1.2.8.dfsg-5

Versions of packages cantata recommends:
ii  liburi-perl  1.72-2

Versions of packages cantata suggests:
ii  media-player-info  23-1
ii  mpd                0.20.13-1

-- no debconf information
-------------- next part --------------
From: Peter Marschall <peter at adpm.de>
Bug: https://github.com/CDrummond/cantata/issues/1148
Forwarded: no
Last-Update: 2017-12-23
Subject: support IPv6 in cantata-dynamic

Allow cantata-dynamic, the script responsible for updating dynamic playlists,
in catata to work in environments where MPD is not ireachable via IPv4

--- /usr/share/cantata/scripts/cantata-dynamic	2017-07-30 21:13:05.000000000 +0200
+++ /usr/share/cantata/scripts/cantata-dynamic	2017-12-23 17:28:04.511583019 +0100
@@ -21,7 +21,7 @@
 #  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 #  Boston, MA 02110-1301, USA.
 
-use IO::Socket::INET;
+use IO::Socket::IP;
 use POSIX;
 use File::stat;
 use File::Basename;
@@ -98,7 +98,7 @@
         $sock = new IO::Socket::UNIX(Peer => $mpdHost, Type => 0);
         $connDetails=$mpdHost;
     } else {
-        $sock = new IO::Socket::INET(PeerAddr => $mpdHost, PeerPort => $mpdPort, Proto => 'tcp');
+        $sock = new IO::Socket::IP(PeerAddr => $mpdHost, PeerPort => $mpdPort, Proto => 'tcp');
         $connDetails="${mpdHost}:${mpdPort}";
     }
     if ($sock && $sock->connected()) {
@@ -1411,7 +1411,7 @@
 }
 
 sub httpServer() {
-    my $server = new IO::Socket::INET(Proto => 'tcp', LocalPort => $httpPort, Listen => SOMAXCONN, Reuse => 1);
+    my $server = new IO::Socket::IP(Proto => 'tcp', LocalPort => $httpPort, Listen => SOMAXCONN, Reuse => 1);
     $server or die "ERROR: Unable to create HTTP socket (${httpPort}): $!";
 
     print "Starting HTTP server on ${httpPort}\n";


More information about the pkg-multimedia-maintainers mailing list