deal with user and ~ in config file more nicely
git-svn-id: https://svn.musicpd.org/mpd/trunk@1871 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
16
src/conf.c
16
src/conf.c
@@ -232,13 +232,27 @@ char ** readConf(char * file) {
|
|||||||
if(conf_params[conf_absolutePaths[i]][1]=='/' ||
|
if(conf_params[conf_absolutePaths[i]][1]=='/' ||
|
||||||
conf_params[conf_absolutePaths[i]][1]=='\0')
|
conf_params[conf_absolutePaths[i]][1]=='\0')
|
||||||
{
|
{
|
||||||
|
if(conf_params[CONF_USER] &&
|
||||||
|
strlen(conf_params[CONF_USER]))
|
||||||
|
{
|
||||||
|
pwd = getpwnam(
|
||||||
|
conf_params[CONF_USER]);
|
||||||
|
if(!pwd) {
|
||||||
|
ERROR("no such user: %s\n",
|
||||||
|
conf_params[CONF_USER]);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
uid_t uid = geteuid();
|
uid_t uid = geteuid();
|
||||||
if((pwd = getpwuid(uid)) == NULL) {
|
if((pwd = getpwuid(uid)) == NULL) {
|
||||||
ERROR("problems getting passwd entry "
|
ERROR("problems getting passwd "
|
||||||
|
"entry "
|
||||||
"for current user\n");
|
"for current user\n");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
int foundSlash = 0;
|
int foundSlash = 0;
|
||||||
char * ch = &(
|
char * ch = &(
|
||||||
|
Reference in New Issue
Block a user