[arch-commits] Commit in libshout/repos/extra-x86_64 (4 files)

Jan de Groot jgc at archlinux.org
Tue Nov 5 11:51:10 UTC 2019


    Date: Tuesday, November 5, 2019 @ 11:51:10
  Author: jgc
Revision: 366794

archrelease: copy trunk to extra-x86_64

Added:
  libshout/repos/extra-x86_64/PKGBUILD
    (from rev 366793, libshout/trunk/PKGBUILD)
  libshout/repos/extra-x86_64/corrected-blocking-state.patch
    (from rev 366793, libshout/trunk/corrected-blocking-state.patch)
  libshout/repos/extra-x86_64/icy-port-increment.patch
    (from rev 366793, libshout/trunk/icy-port-increment.patch)
Deleted:
  libshout/repos/extra-x86_64/PKGBUILD

--------------------------------+
 PKGBUILD                       |   69 +++++++++++----------
 corrected-blocking-state.patch |  125 +++++++++++++++++++++++++++++++++++++++
 icy-port-increment.patch       |   29 +++++++++
 3 files changed, 191 insertions(+), 32 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2019-11-05 11:50:35 UTC (rev 366793)
+++ PKGBUILD	2019-11-05 11:51:10 UTC (rev 366794)
@@ -1,32 +0,0 @@
-# Maintainer: Giovanni Scafora <giovanni at archlinux.org>
-# Contributor: arjan <arjan at archlinux.org>
-# Contributor: Jason Chu <jchu at xentac.net>
-
-pkgname=libshout
-pkgver=2.4.3
-pkgrel=1
-epoch=1
-pkgdesc="Library for accessing a shoutcast/icecast server"
-arch=('x86_64')
-depends=('libvorbis' 'libtheora' 'speex' 'openssl')
-url="https://www.icecast.org/"
-options=('!emptydirs')
-license=('LGPL')
-source=("https://downloads.xiph.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-sha512sums=('fe36778c6640e620f27504cb21234940e18a65a33f9178bf7e77d4baf854a9affc82d85db8ed8c1c8e2d80399685d8be10106fff5be1ddf76e03e2ffeeed1d34')
-
-prepare() {
-  cd ${pkgname}-${pkgver}
-  sed -e 's/SSLeay_add_all_algorithms/OpenSSL_add_all_algorithms/g' -i src/tls.c
-}
-
-build() {
-  cd ${pkgname}-${pkgver}
-  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
-  make
-}
-
-package() {
-  cd ${pkgname}-${pkgver}
-  make DESTDIR="${pkgdir}" install
-}

Copied: libshout/repos/extra-x86_64/PKGBUILD (from rev 366793, libshout/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2019-11-05 11:51:10 UTC (rev 366794)
@@ -0,0 +1,37 @@
+# Maintainer: Giovanni Scafora <giovanni at archlinux.org>
+# Contributor: arjan <arjan at archlinux.org>
+# Contributor: Jason Chu <jchu at xentac.net>
+
+pkgname=libshout
+pkgver=2.4.3
+pkgrel=2
+epoch=1
+pkgdesc="Library for accessing a shoutcast/icecast server"
+arch=('x86_64')
+depends=('libvorbis' 'libtheora' 'speex' 'openssl')
+url="https://www.icecast.org/"
+options=('!emptydirs')
+license=('LGPL')
+source=("https://downloads.xiph.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+         corrected-blocking-state.patch
+         icy-port-increment.patch)
+sha512sums=('fe36778c6640e620f27504cb21234940e18a65a33f9178bf7e77d4baf854a9affc82d85db8ed8c1c8e2d80399685d8be10106fff5be1ddf76e03e2ffeeed1d34'
+            '53aab9c3fd5b044eff731f46a51f646366ab48a2c910493035599ef0e1d65c1f7655753d12a2c7958125a1e834476763838547c44a110b85fea9d9b8650a440c'
+            'cc00b0e2b41e28fc5bd13f1d159a22b8475d90448b51aac619e7d317a404b88c7631562056cc0c320ad2634daca592e68f3ac8b58e8a6ab166d913bd8625ba9a')
+
+prepare() {
+  cd ${pkgname}-${pkgver}
+  patch -Np1 -i ../corrected-blocking-state.patch
+  patch -Np1 -i ../icy-port-increment.patch
+}
+
+build() {
+  cd ${pkgname}-${pkgver}
+  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
+}

Copied: libshout/repos/extra-x86_64/corrected-blocking-state.patch (from rev 366793, libshout/trunk/corrected-blocking-state.patch)
===================================================================
--- corrected-blocking-state.patch	                        (rev 0)
+++ corrected-blocking-state.patch	2019-11-05 11:51:10 UTC (rev 366794)
@@ -0,0 +1,125 @@
+From 0ac7ed9e84c3871d4427acc1ce59dca5e4af21ef Mon Sep 17 00:00:00 2001
+From: Philipp Schafft <lion at lion.leolix.org>
+Date: Wed, 26 Jun 2019 18:58:44 +0000
+Subject: [PATCH] Fix: Corrected blocking state of connections
+
+Thanks to Bernd Geiser <bg at ferncast.de> for initial report.
+
+Fixes: #2309
+---
+ include/shout/shout.h.in |  8 +++++++-
+ src/connection.c         | 13 +++++++------
+ src/shout.c              |  7 +++++--
+ 3 files changed, 19 insertions(+), 9 deletions(-)
+
+diff --git a/include/shout/shout.h.in b/include/shout/shout.h.in
+index 6fda58b..297ff17 100644
+--- a/include/shout/shout.h.in
++++ b/include/shout/shout.h.in
+@@ -85,6 +85,11 @@ extern "C" {
+ #define SHOUT_TLS_RFC2818           ( 11) /* Use TLS for transport layer like HTTPS [RFC2818] does. */
+ #define SHOUT_TLS_RFC2817           ( 12) /* Use TLS via HTTP Upgrade:-header [RFC2817]. */
+ 
++/* Possible values for blocking */
++#define SHOUT_BLOCKING_DEFAULT      (255) /* Use the default blocking setting. */
++#define SHOUT_BLOCKING_FULL         (  0) /* Block in all I/O related functions */
++#define SHOUT_BLOCKING_NONE         (  1) /* Do not block in I/O related functions */
++
+ #define SHOUT_AI_BITRATE            "bitrate"
+ #define SHOUT_AI_SAMPLERATE         "samplerate"
+ #define SHOUT_AI_CHANNELS           "channels"
+@@ -244,7 +249,8 @@ int shout_set_protocol(shout_t *self, unsigned int protocol);
+ unsigned int shout_get_protocol(shout_t *self);
+ 
+ /* Instructs libshout to use nonblocking I/O. Must be called before
+- * shout_open (no switching back and forth midstream at the moment). */
++ * shout_open (no switching back and forth midstream at the moment).
++ * nonblocking is one of SHOUT_BLOCKING_xxx. */
+ int shout_set_nonblocking(shout_t* self, unsigned int nonblocking);
+ unsigned int shout_get_nonblocking(shout_t *self);
+ 
+diff --git a/src/connection.c b/src/connection.c
+index 07fc587..01b15ba 100644
+--- a/src/connection.c
++++ b/src/connection.c
+@@ -118,7 +118,7 @@ static struct timeval shout_connection_iter__wait_for_io__get_timeout(shout_conn
+             .tv_usec = (timeout % 1000) * 1000
+         };
+         return tv;
+-    } else if (con->nonblocking) {
++    } else if (con->nonblocking == SHOUT_BLOCKING_NONE) {
+         return tv_nonblocking;
+     } else {
+         return tv_blocking;
+@@ -167,7 +167,7 @@ static shout_connection_return_state_t shout_connection_iter__socket(shout_conne
+             }
+         break;
+         case SHOUT_SOCKSTATE_CONNECTING:
+-            if (con->nonblocking) {
++            if (con->nonblocking == SHOUT_BLOCKING_NONE) {
+                 ret = shout_connection_iter__wait_for_io(con, shout, 1, 1, 0);
+                 if (ret != SHOUT_RS_DONE) {
+                     return ret;
+@@ -460,7 +460,7 @@ int                 shout_connection_iter(shout_connection_t *con, shout_t *shou
+             break; \
+             case SHOUT_RS_TIMEOUT: \
+             case SHOUT_RS_NOTNOW: \
+-                if (con->nonblocking) \
++                if (con->nonblocking == SHOUT_BLOCKING_NONE) \
+                     return SHOUTERR_RETRY; \
+                 retry = 1; \
+             break; \
+@@ -518,7 +518,7 @@ int                 shout_connection_select_tlsmode(shout_connection_t *con, int
+ }
+ int                 shout_connection_set_nonblocking(shout_connection_t *con, unsigned int nonblocking)
+ {
+-    if (!con)
++    if (!con || (nonblocking != SHOUT_BLOCKING_DEFAULT && nonblocking != SHOUT_BLOCKING_FULL && nonblocking != SHOUT_BLOCKING_NONE))
+         return SHOUTERR_INSANE;
+ 
+     if (con->socket != SOCK_ERROR)
+@@ -563,13 +563,14 @@ int                 shout_connection_connect(shout_connection_t *con, shout_t *s
+     if (con->socket != SOCK_ERROR || con->current_socket_state != SHOUT_SOCKSTATE_UNCONNECTED)
+         return SHOUTERR_BUSY;
+ 
+-    shout_connection_set_nonblocking(con, shout_get_nonblocking(shout));
++    if (con->nonblocking == SHOUT_BLOCKING_DEFAULT)
++        shout_connection_set_nonblocking(con, shout_get_nonblocking(shout));
+ 
+     port = shout->port;
+     if (shout_get_protocol(shout) == SHOUT_PROTOCOL_ICY)
+         port++;
+ 
+-    if (con->nonblocking) {
++    if (con->nonblocking == SHOUT_BLOCKING_NONE) {
+         con->socket = sock_connect_non_blocking(shout->host, port);
+     } else {
+         con->socket = sock_connect(shout->host, port);
+diff --git a/src/shout.c b/src/shout.c
+index 1439c14..9845d13 100644
+--- a/src/shout.c
++++ b/src/shout.c
+@@ -417,7 +417,7 @@ int shout_set_metadata(shout_t *self, shout_metadata_t *metadata)
+ #ifdef HAVE_OPENSSL
+     shout_connection_select_tlsmode(connection, self->tls_mode);
+ #endif
+-    shout_connection_set_nonblocking(connection, 0);
++    shout_connection_set_nonblocking(connection, SHOUT_BLOCKING_FULL);
+ 
+     connection->target_message_state = SHOUT_MSGSTATE_PARSED_FINAL;
+ 
+@@ -989,7 +989,10 @@ unsigned int shout_get_protocol(shout_t *self)
+ 
+ int shout_set_nonblocking(shout_t *self, unsigned int nonblocking)
+ {
+-    if (!self || (nonblocking != 0 && nonblocking != 1))
++    if (nonblocking == SHOUT_BLOCKING_DEFAULT)
++        nonblocking = SHOUT_BLOCKING_FULL;
++
++    if (!self || (nonblocking != SHOUT_BLOCKING_FULL && nonblocking != SHOUT_BLOCKING_NONE))
+         return SHOUTERR_INSANE;
+ 
+     if (self->connection)
+-- 
+2.22.0
+

Copied: libshout/repos/extra-x86_64/icy-port-increment.patch (from rev 366793, libshout/trunk/icy-port-increment.patch)
===================================================================
--- icy-port-increment.patch	                        (rev 0)
+++ icy-port-increment.patch	2019-11-05 11:51:10 UTC (rev 366794)
@@ -0,0 +1,29 @@
+From b807c1e2550718bdc73d65ac1b05255d18f45c54 Mon Sep 17 00:00:00 2001
+From: Philipp Schafft <lion at lion.leolix.org>
+Date: Wed, 26 Jun 2019 19:30:25 +0000
+Subject: [PATCH] Fix: Do the ICY port increment only when using the ICY
+ implementation
+
+This makes metadata work again on ICY servers.
+
+Fixes: #2310
+---
+ src/connection.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/connection.c b/src/connection.c
+index 01b15ba..0fd00ab 100644
+--- a/src/connection.c
++++ b/src/connection.c
+@@ -567,7 +567,7 @@ int                 shout_connection_connect(shout_connection_t *con, shout_t *s
+         shout_connection_set_nonblocking(con, shout_get_nonblocking(shout));
+ 
+     port = shout->port;
+-    if (shout_get_protocol(shout) == SHOUT_PROTOCOL_ICY)
++    if (con->impl == shout_icy_impl)
+         port++;
+ 
+     if (con->nonblocking == SHOUT_BLOCKING_NONE) {
+-- 
+2.22.0
+



More information about the arch-commits mailing list