[Pkg-mpd-commits] [pkg-mpd] 02/06: Imported Upstream version 0.18.7

Florian Schlichting fsfs at moszumanska.debian.org
Mon Jan 13 21:41:00 UTC 2014


This is an automated email from the git hooks/post-receive script.

fsfs pushed a commit to branch master
in repository pkg-mpd.

commit ec4a1cd4c62271ca5f306388c445403b61b95d05
Author: Florian Schlichting <fsfs at debian.org>
Date:   Mon Jan 13 22:09:31 2014 +0100

    Imported Upstream version 0.18.7
---
 Makefile.in                        |  7 ++--
 NEWS                               | 10 +++++
 aclocal.m4                         |  6 +--
 configure                          | 86 ++++++++++++++++++++------------------
 configure.ac                       |  6 +--
 doc/doxygen.conf                   |  2 +-
 doc/user.xml                       |  2 +-
 src/Daemon.cxx                     | 19 +++++----
 src/decoder/FaadDecoderPlugin.cxx  |  2 +
 src/playlist/PlsPlaylistPlugin.cxx |  1 -
 src/util/UriUtil.cxx               |  3 +-
 test/test_util.cxx                 |  4 ++
 12 files changed, 87 insertions(+), 61 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index d464362..1bc4463 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.14 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -10082,9 +10082,10 @@ distcheck: dist
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
 	  && $(am__cd) $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	  && ../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	    --srcdir=.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -10226,8 +10227,8 @@ distclean-generic:
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "it deletes files that may require special tools to rebuild."
- at ENABLE_DOCUMENTATION_FALSE@clean-local:
 @ENABLE_DOCUMENTATION_FALSE at install-data-local:
+ at ENABLE_DOCUMENTATION_FALSE@clean-local:
 @ENABLE_DOCUMENTATION_FALSE at uninstall-local:
 clean: clean-am
 
diff --git a/NEWS b/NEWS
index 1ddad94..d59f461 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+ver 0.18.7 (2013/01/13)
+* playlist
+  - pls: fix crash after parser error
+  - soundcloud: fix build failure with libyajl 2.0.1
+* decoder
+  - faad: fix memory leak
+  - mpcdec: reject libmpcdec SV7 in configure script
+* daemon: don't initialize supplementary groups when already running
+  as the configured user
+
 ver 0.18.6 (2013/12/24)
 * input
   - cdio_paranoia: support libcdio-paranoia 0.90
diff --git a/aclocal.m4 b/aclocal.m4
index ec12584..f1711ed 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.14 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
 
 # Copyright (C) 1996-2013 Free Software Foundation, Inc.
 
@@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.14'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.14], [],
+m4_if([$1], [1.14.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.14])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/configure b/configure
index cadd22a..9d83da4 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for mpd 0.18.6.
+# Generated by GNU Autoconf 2.69 for mpd 0.18.7.
 #
 # Report bugs to <musicpd-dev-team at lists.sourceforge.net>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='mpd'
 PACKAGE_TARNAME='mpd'
-PACKAGE_VERSION='0.18.6'
-PACKAGE_STRING='mpd 0.18.6'
+PACKAGE_VERSION='0.18.7'
+PACKAGE_STRING='mpd 0.18.7'
 PACKAGE_BUGREPORT='musicpd-dev-team at lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1673,7 +1673,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures mpd 0.18.6 to adapt to many kinds of systems.
+\`configure' configures mpd 0.18.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1743,7 +1743,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of mpd 0.18.6:";;
+     short | recursive ) echo "Configuration of mpd 0.18.7:";;
    esac
   cat <<\_ACEOF
 
@@ -2041,7 +2041,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-mpd configure 0.18.6
+mpd configure 0.18.7
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2494,7 +2494,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by mpd $as_me 0.18.6, which was
+It was created by mpd $as_me 0.18.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3364,7 +3364,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='mpd'
- VERSION='0.18.6'
+ VERSION='0.18.7'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -9092,9 +9092,9 @@ fi
 
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" >&5
-$as_echo_n "checking for yajl_alloc in -lyajl... " >&6; }
-if ${ac_cv_lib_yajl_yajl_alloc+:} false; then :
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_parse_complete in -lyajl" >&5
+$as_echo_n "checking for yajl_parse_complete in -lyajl... " >&6; }
+if ${ac_cv_lib_yajl_yajl_parse_complete+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9108,36 +9108,36 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char yajl_alloc ();
+char yajl_parse_complete ();
 int
 main ()
 {
-return yajl_alloc ();
+return yajl_parse_complete ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_yajl_yajl_alloc=yes
+  ac_cv_lib_yajl_yajl_parse_complete=yes
 else
-  ac_cv_lib_yajl_yajl_alloc=no
+  ac_cv_lib_yajl_yajl_parse_complete=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_yajl_yajl_alloc" >&5
-$as_echo "$ac_cv_lib_yajl_yajl_alloc" >&6; }
-if test "x$ac_cv_lib_yajl_yajl_alloc" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_yajl_yajl_parse_complete" >&5
+$as_echo "$ac_cv_lib_yajl_yajl_parse_complete" >&6; }
+if test "x$ac_cv_lib_yajl_yajl_parse_complete" = xyes; then :
   found_soundcloud=yes YAJL_CFLAGS=-DHAVE_YAJL1 YAJL_LIBS=-lyajl
 else
   found_soundcloud=no
 fi
 
 elif test $pkg_failed = untried; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" >&5
-$as_echo_n "checking for yajl_alloc in -lyajl... " >&6; }
-if ${ac_cv_lib_yajl_yajl_alloc+:} false; then :
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_parse_complete in -lyajl" >&5
+$as_echo_n "checking for yajl_parse_complete in -lyajl... " >&6; }
+if ${ac_cv_lib_yajl_yajl_parse_complete+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -9151,27 +9151,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char yajl_alloc ();
+char yajl_parse_complete ();
 int
 main ()
 {
-return yajl_alloc ();
+return yajl_parse_complete ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_yajl_yajl_alloc=yes
+  ac_cv_lib_yajl_yajl_parse_complete=yes
 else
-  ac_cv_lib_yajl_yajl_alloc=no
+  ac_cv_lib_yajl_yajl_parse_complete=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_yajl_yajl_alloc" >&5
-$as_echo "$ac_cv_lib_yajl_yajl_alloc" >&6; }
-if test "x$ac_cv_lib_yajl_yajl_alloc" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_yajl_yajl_parse_complete" >&5
+$as_echo "$ac_cv_lib_yajl_yajl_parse_complete" >&6; }
+if test "x$ac_cv_lib_yajl_yajl_parse_complete" = xyes; then :
   found_soundcloud=yes YAJL_CFLAGS=-DHAVE_YAJL1 YAJL_LIBS=-lyajl
 else
   found_soundcloud=no
@@ -12021,9 +12021,9 @@ fi
 
 
 	if eval "test x`echo '$'enable_mpc` != xno"; then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lmpcdec" >&5
-$as_echo_n "checking for main in -lmpcdec... " >&6; }
-if ${ac_cv_lib_mpcdec_main+:} false; then :
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpc_demux_init in -lmpcdec" >&5
+$as_echo_n "checking for mpc_demux_init in -lmpcdec... " >&6; }
+if ${ac_cv_lib_mpcdec_mpc_demux_init+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -12031,27 +12031,33 @@ LIBS="-lmpcdec -lmpcdec $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mpc_demux_init ();
 int
 main ()
 {
-return main ();
+return mpc_demux_init ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_mpcdec_main=yes
+  ac_cv_lib_mpcdec_mpc_demux_init=yes
 else
-  ac_cv_lib_mpcdec_main=no
+  ac_cv_lib_mpcdec_mpc_demux_init=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpcdec_main" >&5
-$as_echo "$ac_cv_lib_mpcdec_main" >&6; }
-if test "x$ac_cv_lib_mpcdec_main" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpcdec_mpc_demux_init" >&5
+$as_echo "$ac_cv_lib_mpcdec_mpc_demux_init" >&6; }
+if test "x$ac_cv_lib_mpcdec_mpc_demux_init" = xyes; then :
   eval "found_mpc=yes MPCDEC_LIBS='-lmpcdec' MPCDEC_CFLAGS=''"
 else
   eval "found_mpc=no"
@@ -18454,7 +18460,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by mpd $as_me 0.18.6, which was
+This file was extended by mpd $as_me 0.18.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18520,7 +18526,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-mpd config.status 0.18.6
+mpd config.status 0.18.7
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index a487e4a..2cd0c77 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 AC_PREREQ(2.60)
 
-AC_INIT(mpd, 0.18.6, musicpd-dev-team at lists.sourceforge.net)
+AC_INIT(mpd, 0.18.7, musicpd-dev-team at lists.sourceforge.net)
 
 VERSION_MAJOR=0
 VERSION_MINOR=18
@@ -732,7 +732,7 @@ dnl --------------------------------- Soundcloud ------------------------------
 if test x$enable_soundcloud != xno; then
 	PKG_CHECK_MODULES([YAJL], [yajl >= 2.0],
 		[found_soundcloud=yes],
-		AC_CHECK_LIB([yajl], [yajl_alloc],
+		AC_CHECK_LIB([yajl], [yajl_parse_complete],
 			[found_soundcloud=yes YAJL_CFLAGS=-DHAVE_YAJL1 YAJL_LIBS=-lyajl],
 			[found_soundcloud=no]))
 fi
@@ -960,7 +960,7 @@ AM_CONDITIONAL(ENABLE_SNDFILE, test x$enable_sndfile = xyes)
 
 dnl --------------------------------- musepack --------------------------------
 
-MPD_AUTO_LIB(mpc, MPCDEC, mpcdec, main, [-lmpcdec], [],
+MPD_AUTO_LIB(mpc, MPCDEC, mpcdec, mpc_demux_init, [-lmpcdec], [],
 	[mpcdec], [libmpcdec not found])
 if test x$enable_mpc = xyes; then
 	AC_DEFINE(HAVE_MPCDEC, 1, [Define to use libmpcdec for MPC decoding])
diff --git a/doc/doxygen.conf b/doc/doxygen.conf
index f84cb83..361cef3 100644
--- a/doc/doxygen.conf
+++ b/doc/doxygen.conf
@@ -31,7 +31,7 @@ PROJECT_NAME           = MPD
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER = 0.18.6
+PROJECT_NUMBER = 0.18.7
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff --git a/doc/user.xml b/doc/user.xml
index 99278a6..ccc9e71 100644
--- a/doc/user.xml
+++ b/doc/user.xml
@@ -829,7 +829,7 @@ systemctl start mpd.socket</programlisting>
             <tbody>
               <row>
                 <entry>
-                  <varname>default_bute_order</varname>
+                  <varname>default_byte_order</varname>
                 <parameter>little_endian|big_endian</parameter>
                 </entry>
                 <entry>
diff --git a/src/Daemon.cxx b/src/Daemon.cxx
index 4f21451..557c477 100644
--- a/src/Daemon.cxx
+++ b/src/Daemon.cxx
@@ -52,7 +52,7 @@ static char *user_name;
 static uid_t user_uid = (uid_t)-1;
 
 /** the Unix group id which MPD runs as */
-static gid_t user_gid = (pid_t)-1;
+static gid_t user_gid = (gid_t)-1;
 
 /** the absolute path of the pidfile */
 static AllocatedPath pidfile = AllocatedPath::Null();
@@ -106,18 +106,21 @@ daemonize_set_user(void)
 		return;
 
 	/* set gid */
-	if (user_gid != (gid_t)-1 && user_gid != getgid()) {
-		if (setgid(user_gid) == -1) {
-			FormatFatalSystemError("Failed to set group %d",
-					       (int)user_gid);
-		}
+	if (user_gid != (gid_t)-1 && user_gid != getgid() &&
+	    setgid(user_gid) == -1) {
+		FormatFatalSystemError("Failed to set group %d",
+				       (int)user_gid);
 	}
 
 #ifdef _BSD_SOURCE
-	/* init suplementary groups
+	/* init supplementary groups
 	 * (must be done before we change our uid)
 	 */
-	if (!had_group && initgroups(user_name, user_gid) == -1) {
+	if (!had_group &&
+	    /* no need to set the new user's supplementary groups if
+	       we are already this user */
+	    user_uid != getuid() &&
+	    initgroups(user_name, user_gid) == -1) {
 		FormatFatalSystemError("Failed to set supplementary groups "
 				       "of user \"%s\"",
 				       user_name);
diff --git a/src/decoder/FaadDecoderPlugin.cxx b/src/decoder/FaadDecoderPlugin.cxx
index f1dd5a3..9fd2016 100644
--- a/src/decoder/FaadDecoderPlugin.cxx
+++ b/src/decoder/FaadDecoderPlugin.cxx
@@ -393,6 +393,7 @@ faad_stream_decode(Decoder &mpd_decoder, InputStream &is)
 	if (!ret) {
 		LogError(error);
 		NeAACDecClose(decoder);
+		decoder_buffer_free(buffer);
 		return;
 	}
 
@@ -461,6 +462,7 @@ faad_stream_decode(Decoder &mpd_decoder, InputStream &is)
 	/* cleanup */
 
 	NeAACDecClose(decoder);
+	decoder_buffer_free(buffer);
 }
 
 static bool
diff --git a/src/playlist/PlsPlaylistPlugin.cxx b/src/playlist/PlsPlaylistPlugin.cxx
index d44a34c..99be3ad 100644
--- a/src/playlist/PlsPlaylistPlugin.cxx
+++ b/src/playlist/PlsPlaylistPlugin.cxx
@@ -68,7 +68,6 @@ pls_parser(GKeyFile *keyfile, std::forward_list<SongPointer> &songs)
 			FormatError(pls_domain, "Invalid PLS entry %s: '%s'",
 				    key, error->message);
 			g_error_free(error);
-			g_free(key);
 			return;
 		}
 
diff --git a/src/util/UriUtil.cxx b/src/util/UriUtil.cxx
index 7997bd5..2609db2 100644
--- a/src/util/UriUtil.cxx
+++ b/src/util/UriUtil.cxx
@@ -32,7 +32,8 @@ const char *
 uri_get_suffix(const char *uri)
 {
 	const char *suffix = strrchr(uri, '.');
-	if (suffix == nullptr)
+	if (suffix == nullptr || suffix == uri ||
+	    suffix[-1] == '/' || suffix[-1] == '\\')
 		return nullptr;
 
 	++suffix;
diff --git a/test/test_util.cxx b/test/test_util.cxx
index 2ff3035..a472391 100644
--- a/test/test_util.cxx
+++ b/test/test_util.cxx
@@ -29,6 +29,10 @@ public:
 					       "jpg"));
 		CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo.png/bar.jpg"),
 					       "jpg"));
+		CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
+				     uri_get_suffix(".jpg"));
+		CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
+				     uri_get_suffix("/foo/.jpg"));
 	}
 
 	void TestRemoveAuth() {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mpd/pkg-mpd.git



More information about the Pkg-mpd-commits mailing list