command: don't allow adding local files on WIN32

There are no unix sockets on WIN32, and therefore no authentication.
WIN32 might have similar capabilities, but until we implement them,
disable that MPD feature.
This commit is contained in:
Max Kellermann 2008-12-30 19:14:13 +01:00
parent 7330002960
commit bb55ec6b4e
3 changed files with 8 additions and 0 deletions

View File

@ -451,8 +451,12 @@ handle_add(struct client *client, G_GNUC_UNUSED int argc, char *argv[])
enum playlist_result result;
if (strncmp(path, "file:///", 8) == 0) {
#ifndef WIN32
result = PLAYLIST_RESULT_DENIED;
#else
result = playlist_append_file(path + 7, client_get_uid(client),
NULL);
#endif
return print_playlist_result(client, result);
}

View File

@ -517,6 +517,7 @@ static void clearPlayerQueue(void)
pc_cancel();
}
#ifndef WIN32
enum playlist_result
playlist_append_file(const char *path, int uid, unsigned *added_id)
{
@ -542,6 +543,7 @@ playlist_append_file(const char *path, int uid, unsigned *added_id)
return addSongToPlaylist(song, added_id);
}
#endif
static struct song *
song_by_url(const char *url)

View File

@ -75,12 +75,14 @@ void savePlaylistState(FILE *);
void clearPlaylist(void);
#ifndef WIN32
/**
* Appends a local file (outside the music database) to the playlist,
* but only if the file's owner is equal to the specified uid.
*/
enum playlist_result
playlist_append_file(const char *path, int uid, unsigned *added_id);
#endif
enum playlist_result addToPlaylist(const char *file, unsigned *added_id);