QueueCommands: workaround for buggy clients that send "add /"

This commit is contained in:
Max Kellermann 2014-11-18 21:26:31 +01:00
parent 7c6b991de7
commit 460cfba6ff
2 changed files with 12 additions and 1 deletions

2
NEWS
View File

@ -1,4 +1,6 @@
ver 0.19.4 (not yet released)
* protocol
- workaround for buggy clients that send "add /"
* decoder
- opus: add MIME types audio/ogg and application/ogg

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;