#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
+#include <runas.h>
#include <urcu/compiler.h>
#include <lttngerr.h>
#include <lttng-share.h>
+#include <runas.h>
-#include "hashtable.h"
+#include "../common/hashtable.h"
#include "ust-app.h"
#include "ust-consumer.h"
#include "ust-ctl.h"
DBG2("Shadow copy of session handle %d", ua_sess->handle);
ua_sess->id = usess->id;
+ ua_sess->uid = usess->uid;
+ ua_sess->gid = usess->gid;
ret = snprintf(ua_sess->path, PATH_MAX,
"%s/%s-%d-%s",
char *pathname, struct ust_app *app)
{
int ret = 0;
- mode_t old_umask;
if (ua_sess->metadata == NULL) {
/* Allocate UST metadata */
goto error;
}
- old_umask = umask(0);
- ret = mkdir(ua_sess->path, S_IRWXU | S_IRWXG);
+ ret = mkdir_run_as(ua_sess->path, S_IRWXU | S_IRWXG,
+ ua_sess->uid, ua_sess->gid);
if (ret < 0) {
PERROR("mkdir UST metadata");
goto error;
}
- umask(old_umask);
ret = snprintf(ua_sess->metadata->pathname, PATH_MAX,
"%s/metadata", ua_sess->path);