Merge tag 'v0.19.4'

This commit is contained in:
Max Kellermann
2014-11-18 21:47:20 +01:00
7 changed files with 40 additions and 5 deletions

View File

@@ -127,7 +127,7 @@ public:
* a local (UNIX domain) socket?
*/
bool IsLocal() const {
return uid > 0;
return uid >= 0;
}
unsigned GetPermission() const {

View File

@@ -41,7 +41,7 @@ Client::AllowFile(Path path_fs, Error &error) const
instance */
return true;
if (uid <= 0) {
if (uid < 0) {
/* unauthenticated client */
error.Set(ack_domain, ACK_ERROR_PERMISSION, "Access denied");
return false;

View File

@@ -61,7 +61,16 @@ translate_uri(Client &client, const char *uri)
CommandResult
handle_add(Client &client, gcc_unused unsigned argc, char *argv[])
{
const char *const uri = translate_uri(client, argv[1]);
const char *uri = argv[1];
if (memcmp(uri, "/", 2) == 0)
/* this URI is malformed, but some clients are buggy
and use "add /" to add the whole database, which
was never intended to work, but once did; in order
to retain backwards compatibility, work around this
here */
uri = "";
uri = translate_uri(client, uri);
if (uri == nullptr)
return CommandResult::ERROR;

View File

@@ -510,6 +510,13 @@ static const char *const opus_suffixes[] = {
};
static const char *const opus_mime_types[] = {
/* the official MIME type (RFC 5334) */
"audio/ogg",
/* deprecated (RFC 5334) */
"application/ogg",
/* deprecated; from an early draft */
"audio/opus",
nullptr
};

View File

@@ -130,7 +130,7 @@ get_remote_uid(int fd)
socklen_t len = sizeof (cred);
if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &cred, &len) < 0)
return 0;
return -1;
return cred.uid;
#else

View File

@@ -46,7 +46,11 @@ AllocatedPath
AllocatedPath::FromUTF8(const char *path_utf8)
{
#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
return FromFS(path_utf8);
#endif