mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
virconf: Fix config file path construction
Since commit c4bdff19, the path to the configuration file has been constructed in the following manner: - if no config filename was passed to virConfLoadConfigPath, libvirt.conf was used as default - otherwise the filename was concatenated with "<config_dir>/libvirt/libvirt%s%s.conf" which in admin case resulted in "libvirt-libvirt-admin.conf.conf". Obviously, this non-existent config led to ignoring all user settings in libvirt-admin.conf. This patch requires the config filename to be always provided as an argument with the concatenation being simplified. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1357364 Signed-off-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
parent
3b9c60af46
commit
c5d0a2a385
@ -969,7 +969,7 @@ virConnectOpenInternal(const char *name,
|
||||
if (ret == NULL)
|
||||
return NULL;
|
||||
|
||||
if (virConfLoadConfig(&conf, NULL) < 0)
|
||||
if (virConfLoadConfig(&conf, "libvirt.conf") < 0)
|
||||
goto failed;
|
||||
|
||||
if (name && name[0] == '\0')
|
||||
|
@ -1566,20 +1566,16 @@ virConfLoadConfigPath(const char *name)
|
||||
{
|
||||
char *path;
|
||||
if (geteuid() == 0) {
|
||||
if (virAsprintf(&path, "%s/libvirt/libvirt%s%s.conf",
|
||||
SYSCONFDIR,
|
||||
name ? "-" : "",
|
||||
name ? name : "") < 0)
|
||||
if (virAsprintf(&path, "%s/libvirt/%s",
|
||||
SYSCONFDIR, name) < 0)
|
||||
return NULL;
|
||||
} else {
|
||||
char *userdir = virGetUserConfigDirectory();
|
||||
if (!userdir)
|
||||
return NULL;
|
||||
|
||||
if (virAsprintf(&path, "%s/libvirt%s%s.conf",
|
||||
userdir,
|
||||
name ? "-" : "",
|
||||
name ? name : "") < 0) {
|
||||
if (virAsprintf(&path, "%s/%s",
|
||||
userdir, name) < 0) {
|
||||
VIR_FREE(userdir);
|
||||
return NULL;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user