} else {
char *configdir = NULL;
- if (!(configdir = virGetUserConfigDirectory(geteuid())))
+ if (!(configdir = virGetUserConfigDirectory()))
goto error;
if (virAsprintf(configfile, "%s/libvirtd.conf", configdir) < 0) {
char *rundir = NULL;
mode_t old_umask;
- if (!(rundir = virGetUserRuntimeDirectory(geteuid())))
+ if (!(rundir = virGetUserRuntimeDirectory()))
goto error;
old_umask = umask(077);
char *rundir = NULL;
mode_t old_umask;
- if (!(rundir = virGetUserRuntimeDirectory(geteuid())))
+ if (!(rundir = virGetUserRuntimeDirectory()))
goto error;
old_umask = umask(077);
LOCALSTATEDIR) == -1)
goto no_memory;
} else {
- char *logdir = virGetUserCacheDirectory(geteuid());
+ char *logdir = virGetUserCacheDirectory();
mode_t old_umask;
if (!logdir)
int ret = -1;
mode_t old_umask;
- if (!(home = virGetUserDirectory(geteuid())))
+ if (!(home = virGetUserDirectory()))
goto cleanup;
if (virAsprintf(&old_base, "%s/.libvirt", home) < 0) {
}
/* if the new directory is there or the old one is not: do nothing */
- if (!(config_dir = virGetUserConfigDirectory(geteuid())))
+ if (!(config_dir = virGetUserConfigDirectory()))
goto cleanup;
if (!virFileIsDir(old_base) || virFileExists(config_dir)) {
if (privileged) {
run_dir = strdup(LOCALSTATEDIR "/run/libvirt");
} else {
- run_dir = virGetUserRuntimeDirectory(geteuid());
+ run_dir = virGetUserRuntimeDirectory();
if (!run_dir) {
VIR_ERROR(_("Can't determine user directory"));
SYSCONFDIR) < 0)
goto no_memory;
} else {
- char *userdir = virGetUserConfigDirectory(geteuid());
+ char *userdir = virGetUserConfigDirectory();
if (!userdir)
goto error;
*/
static int
networkStartup(int privileged) {
- uid_t uid = geteuid();
char *base = NULL;
if (VIR_ALLOC(driverState) < 0)
if ((base = strdup (SYSCONFDIR "/libvirt")) == NULL)
goto out_of_memory;
} else {
- char *userdir = virGetUserCacheDirectory(uid);
+ char *userdir = virGetUserCacheDirectory();
if (!userdir)
goto error;
}
VIR_FREE(userdir);
- userdir = virGetUserConfigDirectory(uid);
+ userdir = virGetUserConfigDirectory();
if (virAsprintf(&base, "%s", userdir) == -1) {
VIR_FREE(userdir);
goto out_of_memory;
if ((base = strdup (SYSCONFDIR "/libvirt")) == NULL)
goto out_of_memory;
} else {
- uid_t uid = geteuid();
- base = virGetUserConfigDirectory(uid);
+ base = virGetUserConfigDirectory();
if (!base)
goto error;
}
int ret;
char *pubkey = NULL;
char *pvtkey = NULL;
- char *userhome = virGetUserDirectory(geteuid());
+ char *userhome = virGetUserDirectory();
struct stat pvt_stat, pub_stat;
if (userhome == NULL)
"%s/lib/libvirt/qemu/dump", LOCALSTATEDIR) == -1)
goto out_of_memory;
} else {
- uid_t uid = geteuid();
char *rundir;
char *cachedir;
- cachedir = virGetUserCacheDirectory(uid);
+ cachedir = virGetUserCacheDirectory();
if (!cachedir)
goto error;
}
VIR_FREE(cachedir);
- rundir = virGetUserRuntimeDirectory(uid);
+ rundir = virGetUserRuntimeDirectory();
if (!rundir)
goto error;
if (virAsprintf(&qemu_driver->stateDir, "%s/qemu/run", rundir) == -1) {
}
VIR_FREE(rundir);
- base = virGetUserConfigDirectory(uid);
+ base = virGetUserConfigDirectory();
if (!base)
goto error;
if (virAsprintf(&qemu_driver->libDir, "%s/qemu/lib", base) == -1)
case trans_unix:
if (!sockname) {
if (flags & VIR_DRV_OPEN_REMOTE_USER) {
- char *userdir = virGetUserRuntimeDirectory(getuid());
+ char *userdir = virGetUserRuntimeDirectory();
if (!userdir)
goto failed;
/* Check to see if $HOME/.pki contains at least one of the
* files and if so, use that
*/
- userdir = virGetUserDirectory(getuid());
+ userdir = virGetUserDirectory();
if (!userdir)
goto out_of_memory;
if (base == NULL)
goto out_of_memory;
} else {
- uid_t uid = geteuid();
- base = virGetUserConfigDirectory(uid);
+ base = virGetUserConfigDirectory();
if (!base)
goto error;
}
if ((base = strdup (SYSCONFDIR "/libvirt")) == NULL)
goto out_of_memory;
} else {
- uid_t uid = geteuid();
- base = virGetUserConfigDirectory(uid);
+ base = virGetUserConfigDirectory();
if (!base)
goto error;
}
static int
umlStartup(int privileged)
{
- uid_t uid = geteuid();
char *base = NULL;
char *userdir = NULL;
if (!uml_driver->domainEventState)
goto error;
- userdir = virGetUserDirectory(uid);
+ userdir = virGetUserDirectory();
if (!userdir)
goto error;
"%s/run/libvirt/uml-guest", LOCALSTATEDIR) == -1)
goto out_of_memory;
} else {
- base = virGetUserConfigDirectory(uid);
+ base = virGetUserConfigDirectory();
if (!base)
goto error;
return ret;
}
-char *virGetUserDirectory(uid_t uid)
+char *virGetUserDirectory(void)
{
- return virGetUserEnt(uid, VIR_USER_ENT_DIRECTORY);
+ return virGetUserEnt(geteuid(), VIR_USER_ENT_DIRECTORY);
}
-static char *virGetXDGDirectory(uid_t uid, const char *xdgenvname, const char *xdgdefdir)
+static char *virGetXDGDirectory(const char *xdgenvname, const char *xdgdefdir)
{
- const char *path = NULL;
+ const char *path = getenv(xdgenvname);
char *ret = NULL;
- char *home = virGetUserEnt(uid, VIR_USER_ENT_DIRECTORY);
-
- if (uid == getuid())
- path = getenv(xdgenvname);
+ char *home = virGetUserEnt(geteuid(), VIR_USER_ENT_DIRECTORY);
if (path && path[0]) {
if (virAsprintf(&ret, "%s/libvirt", path) < 0)
goto cleanup;
}
-char *virGetUserConfigDirectory(uid_t uid)
+char *virGetUserConfigDirectory(void)
{
- return virGetXDGDirectory(uid, "XDG_CONFIG_HOME", ".config");
+ return virGetXDGDirectory("XDG_CONFIG_HOME", ".config");
}
-char *virGetUserCacheDirectory(uid_t uid)
+char *virGetUserCacheDirectory(void)
{
- return virGetXDGDirectory(uid, "XDG_CACHE_HOME", ".cache");
+ return virGetXDGDirectory("XDG_CACHE_HOME", ".cache");
}
-char *virGetUserRuntimeDirectory(uid_t uid)
+char *virGetUserRuntimeDirectory(void)
{
- const char *path = NULL;
-
- if (uid == getuid ())
- path = getenv("XDG_RUNTIME_DIR");
+ const char *path = getenv("XDG_RUNTIME_DIR");
if (!path || !path[0]) {
- return virGetUserCacheDirectory(uid);
+ return virGetUserCacheDirectory();
} else {
char *ret;
#else /* HAVE_GETPWUID_R */
char *
-virGetUserDirectory(uid_t uid ATTRIBUTE_UNUSED)
+virGetUserDirectory(void)
{
virUtilError(VIR_ERR_INTERNAL_ERROR,
"%s", _("virGetUserDirectory is not available"));
int virKillProcess(pid_t pid, int sig);
-char *virGetUserDirectory(uid_t uid);
-char *virGetUserConfigDirectory(uid_t uid);
-char *virGetUserCacheDirectory(uid_t uid);
-char *virGetUserRuntimeDirectory(uid_t uid);
+char *virGetUserDirectory(void);
+char *virGetUserConfigDirectory(void);
+char *virGetUserCacheDirectory(void);
+char *virGetUserRuntimeDirectory(void);
char *virGetUserName(uid_t uid);
char *virGetGroupName(gid_t gid);
int virGetUserID(const char *name,
}
}
- if (!(userdir = virGetUserConfigDirectory(geteuid())))
+ if (!(userdir = virGetUserConfigDirectory()))
goto cleanup;
if (virAsprintf(path, "%s/auth.conf", userdir) < 0)
}
if (vshCommandOptString(cmd, "dir", &dir) <= 0) {
- uid_t uid = geteuid();
- dir = dir_malloced = virGetUserDirectory(uid);
+ dir = dir_malloced = virGetUserDirectory();
}
if (!dir)
dir = "/";
stifle_history(500);
/* Prepare to read/write history from/to the $XDG_CACHE_HOME/virsh/history file */
- userdir = virGetUserCacheDirectory(getuid());
+ userdir = virGetUserCacheDirectory();
if (userdir == NULL) {
vshError(ctl, "%s", _("Could not determine home directory"));