mirror of
https://github.com/owntone/owntone-server.git
synced 2025-11-24 03:27:46 -05:00
[mpd/conf] Add config option to enable modifying stored playlists
This commit is contained in:
20
src/mpd.c
20
src/mpd.c
@@ -72,6 +72,7 @@ struct evconnlistener *listener;
|
||||
|
||||
// Virtual path to the default playlist directory
|
||||
static char *default_pl_dir;
|
||||
static bool allow_modifying_stored_playlists;
|
||||
|
||||
#define COMMAND_ARGV_MAX 37
|
||||
|
||||
@@ -2205,6 +2206,12 @@ mpd_command_playlistadd(struct evbuffer *evbuf, int argc, char **argv, char **er
|
||||
char *vp_item;
|
||||
int ret;
|
||||
|
||||
if (!allow_modifying_stored_playlists)
|
||||
{
|
||||
*errmsg = safe_asprintf("Modifying stored playlists is not enabled");
|
||||
return ACK_ERROR_PERMISSION;
|
||||
}
|
||||
|
||||
if (argc < 3)
|
||||
{
|
||||
*errmsg = safe_asprintf("Missing argument for command 'playlistadd'");
|
||||
@@ -2242,6 +2249,12 @@ mpd_command_rm(struct evbuffer *evbuf, int argc, char **argv, char **errmsg)
|
||||
char *virtual_path;
|
||||
int ret;
|
||||
|
||||
if (!allow_modifying_stored_playlists)
|
||||
{
|
||||
*errmsg = safe_asprintf("Modifying stored playlists is not enabled");
|
||||
return ACK_ERROR_PERMISSION;
|
||||
}
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
*errmsg = safe_asprintf("Missing argument for command 'rm'");
|
||||
@@ -2276,6 +2289,12 @@ mpd_command_save(struct evbuffer *evbuf, int argc, char **argv, char **errmsg)
|
||||
char *virtual_path;
|
||||
int ret;
|
||||
|
||||
if (!allow_modifying_stored_playlists)
|
||||
{
|
||||
*errmsg = safe_asprintf("Modifying stored playlists is not enabled");
|
||||
return ACK_ERROR_PERMISSION;
|
||||
}
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
*errmsg = safe_asprintf("Missing argument for command 'save'");
|
||||
@@ -4943,6 +4962,7 @@ int mpd_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
allow_modifying_stored_playlists = cfg_getbool(cfg_getsec(cfg, "mpd"), "allow_modifying_stored_playlists");
|
||||
pl_dir = cfg_getstr(cfg_getsec(cfg, "mpd"), "default_playlist_directory");
|
||||
if (pl_dir)
|
||||
default_pl_dir = safe_asprintf("/file:%s", pl_dir);
|
||||
|
||||
Reference in New Issue
Block a user