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