Commit 92a4bf44 authored by Max Kellermann's avatar Max Kellermann

Merge branch 'v0.18.x'

parents 5465647c d7f80eab
...@@ -8,6 +8,12 @@ ver 0.19 (not yet released) ...@@ -8,6 +8,12 @@ ver 0.19 (not yet released)
- volume: improved software volume dithering - volume: improved software volume dithering
* new resampler option using libsoxr * new resampler option using libsoxr
ver 0.18.7 (not yet released)
* playlist
- soundcloud: fix build failure with libyajl 2.0.1
* daemon: don't initialize supplementary groups when already running
as the configured user
ver 0.18.6 (2013/12/24) ver 0.18.6 (2013/12/24)
* input * input
- cdio_paranoia: support libcdio-paranoia 0.90 - cdio_paranoia: support libcdio-paranoia 0.90
......
...@@ -852,7 +852,7 @@ dnl --------------------------------- Soundcloud ------------------------------ ...@@ -852,7 +852,7 @@ dnl --------------------------------- Soundcloud ------------------------------
if test x$enable_soundcloud != xno; then if test x$enable_soundcloud != xno; then
PKG_CHECK_MODULES([YAJL], [yajl >= 2.0], PKG_CHECK_MODULES([YAJL], [yajl >= 2.0],
[found_soundcloud=yes], [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=yes YAJL_CFLAGS=-DHAVE_YAJL1 YAJL_LIBS=-lyajl],
[found_soundcloud=no])) [found_soundcloud=no]))
fi fi
......
...@@ -47,7 +47,7 @@ static char *user_name; ...@@ -47,7 +47,7 @@ static char *user_name;
static uid_t user_uid = (uid_t)-1; static uid_t user_uid = (uid_t)-1;
/** the Unix group id which MPD runs as */ /** 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 */ /** the absolute path of the pidfile */
static AllocatedPath pidfile = AllocatedPath::Null(); static AllocatedPath pidfile = AllocatedPath::Null();
...@@ -101,18 +101,21 @@ daemonize_set_user(void) ...@@ -101,18 +101,21 @@ daemonize_set_user(void)
return; return;
/* set gid */ /* set gid */
if (user_gid != (gid_t)-1 && user_gid != getgid()) { if (user_gid != (gid_t)-1 && user_gid != getgid() &&
if (setgid(user_gid) == -1) { setgid(user_gid) == -1) {
FormatFatalSystemError("Failed to set group %d", FormatFatalSystemError("Failed to set group %d",
(int)user_gid); (int)user_gid);
}
} }
#ifdef _BSD_SOURCE #ifdef _BSD_SOURCE
/* init suplementary groups /* init supplementary groups
* (must be done before we change our uid) * (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 " FormatFatalSystemError("Failed to set supplementary groups "
"of user \"%s\"", "of user \"%s\"",
user_name); user_name);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment