Commit dc03f003 authored by Max Kellermann's avatar Max Kellermann

Merge tag 'v0.18.18' into v0.19.x

parents 460cfba6 7aa21045
...@@ -2,7 +2,10 @@ ver 0.19.4 (not yet released) ...@@ -2,7 +2,10 @@ ver 0.19.4 (not yet released)
* protocol * protocol
- workaround for buggy clients that send "add /" - workaround for buggy clients that send "add /"
* decoder * decoder
- ffmpeg: support opus
- opus: add MIME types audio/ogg and application/ogg - opus: add MIME types audio/ogg and application/ogg
* fix crash on failed filename charset conversion
* fix local socket detection from uid=0 (root)
ver 0.19.3 (2014/11/11) ver 0.19.3 (2014/11/11)
* protocol * protocol
...@@ -126,6 +129,12 @@ ver 0.19 (2014/10/10) ...@@ -126,6 +129,12 @@ ver 0.19 (2014/10/10)
* install systemd unit for socket activation * install systemd unit for socket activation
* Android port * Android port
ver 0.18.18 (2014/11/18)
* decoder
- ffmpeg: support opus
* fix crash on failed filename charset conversion
* fix local socket detection from uid=0 (root)
ver 0.18.17 (2014/11/02) ver 0.18.17 (2014/11/02)
* playlist * playlist
- don't allow empty playlist name - don't allow empty playlist name
......
...@@ -127,7 +127,7 @@ public: ...@@ -127,7 +127,7 @@ public:
* a local (UNIX domain) socket? * a local (UNIX domain) socket?
*/ */
bool IsLocal() const { bool IsLocal() const {
return uid > 0; return uid >= 0;
} }
unsigned GetPermission() const { unsigned GetPermission() const {
......
...@@ -41,7 +41,7 @@ Client::AllowFile(Path path_fs, Error &error) const ...@@ -41,7 +41,7 @@ Client::AllowFile(Path path_fs, Error &error) const
instance */ instance */
return true; return true;
if (uid <= 0) { if (uid < 0) {
/* unauthenticated client */ /* unauthenticated client */
error.Set(ack_domain, ACK_ERROR_PERMISSION, "Access denied"); error.Set(ack_domain, ACK_ERROR_PERMISSION, "Access denied");
return false; return false;
......
...@@ -130,7 +130,7 @@ get_remote_uid(int fd) ...@@ -130,7 +130,7 @@ get_remote_uid(int fd)
socklen_t len = sizeof (cred); socklen_t len = sizeof (cred);
if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &cred, &len) < 0) if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &cred, &len) < 0)
return 0; return -1;
return cred.uid; return cred.uid;
#else #else
......
...@@ -46,7 +46,11 @@ AllocatedPath ...@@ -46,7 +46,11 @@ AllocatedPath
AllocatedPath::FromUTF8(const char *path_utf8) AllocatedPath::FromUTF8(const char *path_utf8)
{ {
#ifdef HAVE_GLIB #ifdef HAVE_GLIB
return AllocatedPath(Donate(), ::PathFromUTF8(path_utf8)); char *path = ::PathFromUTF8(path_utf8);
if (path == nullptr)
return AllocatedPath::Null();
return AllocatedPath(Donate(), path);
#else #else
return FromFS(path_utf8); return FromFS(path_utf8);
#endif #endif
......
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