projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move hash table to common/ directory
[lttng-tools.git]
/
lttng-sessiond
/
ust-app.c
diff --git
a/lttng-sessiond/ust-app.c
b/lttng-sessiond/ust-app.c
index 1b5d6fbf136ff4c29cf133a41ce9b945eee64868..12e9572455d8385b3cc406fce5be8bef67a4357e 100644
(file)
--- a/
lttng-sessiond/ust-app.c
+++ b/
lttng-sessiond/ust-app.c
@@
-25,12
+25,14
@@
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#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 <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"
#include "ust-app.h"
#include "ust-consumer.h"
#include "ust-ctl.h"
@@
-770,6
+772,8
@@
static void shadow_copy_session(struct ust_app_session *ua_sess,
DBG2("Shadow copy of session handle %d", ua_sess->handle);
ua_sess->id = usess->id;
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",
ret = snprintf(ua_sess->path, PATH_MAX,
"%s/%s-%d-%s",
@@
-1165,7
+1169,6
@@
static int create_ust_app_metadata(struct ust_app_session *ua_sess,
char *pathname, struct ust_app *app)
{
int ret = 0;
char *pathname, struct ust_app *app)
{
int ret = 0;
- mode_t old_umask;
if (ua_sess->metadata == NULL) {
/* Allocate UST metadata */
if (ua_sess->metadata == NULL) {
/* Allocate UST metadata */
@@
-1191,13
+1194,12
@@
static int create_ust_app_metadata(struct ust_app_session *ua_sess,
goto error;
}
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;
}
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);
ret = snprintf(ua_sess->metadata->pathname, PATH_MAX,
"%s/metadata", ua_sess->path);
This page took
0.025201 seconds
and
5
git commands to generate.