X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Fsessiond-comm.c;h=0c29003a6267a382b204a6f277a9d0a1468ad182;hp=f133d5bfbabe1892c868c6ccb7d6784cc707ac2f;hb=ca4537d385628d3568a918409d909d3042ca7a38;hpb=9f778c9a8f1d65f5bfdde7cfd7294492d6fdd34c diff --git a/src/common/sessiond-comm/sessiond-comm.c b/src/common/sessiond-comm/sessiond-comm.c index f133d5bfb..0c29003a6 100644 --- a/src/common/sessiond-comm/sessiond-comm.c +++ b/src/common/sessiond-comm/sessiond-comm.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -411,7 +412,7 @@ ssize_t lttcomm_recv_fds_unix_sock(int sock, int *fds, size_t nb_fd) } if (cmsg->cmsg_len != CMSG_LEN(sizeof_fds)) { fprintf(stderr, "Error: Received %zu bytes of ancillary data, expected %zu\n", - (size_t) cmsg->cmsg_len, (size_t) CMSG_LEN(sizeof_fds)); + cmsg->cmsg_len, CMSG_LEN(sizeof_fds)); ret = -1; goto end; } @@ -432,9 +433,9 @@ ssize_t lttcomm_send_creds_unix_sock(int sock, void *buf, size_t len) struct cmsghdr *cmptr; struct iovec iov[1]; ssize_t ret = -1; - size_t sizeof_cred = sizeof(lttng_sock_cred); + struct ucred *creds; + size_t sizeof_cred = sizeof(struct ucred); char anc_buf[CMSG_SPACE(sizeof_cred)]; - lttng_sock_cred *creds; memset(&msg, 0, sizeof(msg)); @@ -448,14 +449,14 @@ ssize_t lttcomm_send_creds_unix_sock(int sock, void *buf, size_t len) cmptr = CMSG_FIRSTHDR(&msg); cmptr->cmsg_level = SOL_SOCKET; - cmptr->cmsg_type = LTTNG_SOCK_CREDS; + cmptr->cmsg_type = SCM_CREDENTIALS; cmptr->cmsg_len = CMSG_LEN(sizeof_cred); - creds = (lttng_sock_cred*) CMSG_DATA(cmptr); + creds = (struct ucred *) CMSG_DATA(cmptr); - LTTNG_SOCK_SET_UID_CRED(creds, geteuid()); - LTTNG_SOCK_SET_GID_CRED(creds, getegid()); - LTTNG_SOCK_SET_PID_CRED(creds, getpid()); + creds->uid = geteuid(); + creds->gid = getegid(); + creds->pid = getpid(); ret = sendmsg(sock, &msg, 0); if (ret < 0) { @@ -471,13 +472,13 @@ ssize_t lttcomm_send_creds_unix_sock(int sock, void *buf, size_t len) * Returns the size of received data, or negative error value. */ ssize_t lttcomm_recv_creds_unix_sock(int sock, void *buf, size_t len, - lttng_sock_cred *creds) + struct ucred *creds) { struct msghdr msg; struct cmsghdr *cmptr; struct iovec iov[1]; ssize_t ret; - size_t sizeof_cred = sizeof(lttng_sock_cred); + size_t sizeof_cred = sizeof(struct ucred); char anc_buf[CMSG_SPACE(sizeof_cred)]; memset(&msg, 0, sizeof(msg)); @@ -517,7 +518,7 @@ ssize_t lttcomm_recv_creds_unix_sock(int sock, void *buf, size_t len, } if (cmptr->cmsg_level != SOL_SOCKET || - cmptr->cmsg_type != LTTNG_SOCK_CREDS) { + cmptr->cmsg_type != SCM_CREDENTIALS) { fprintf(stderr, "Didn't received any credentials\n"); ret = -1; goto end; @@ -525,7 +526,7 @@ ssize_t lttcomm_recv_creds_unix_sock(int sock, void *buf, size_t len, if (cmptr->cmsg_len != CMSG_LEN(sizeof_cred)) { fprintf(stderr, "Error: Received %zu bytes of ancillary data, expected %zu\n", - (size_t) cmptr->cmsg_len, (size_t) CMSG_LEN(sizeof_cred)); + cmptr->cmsg_len, CMSG_LEN(sizeof_cred)); ret = -1; goto end; }