# HG changeset patch # User Roy Marples # Date 1599318750 -3600 # Node ID 5bbb5bae3e66c7b607654997fec08d940f0b6ff4 # Parent 56c934c73aa8a41dbc086d6ff7e714584b953daf privsep: Use xsocketpair diff -r 56c934c73aa8 -r 5bbb5bae3e66 src/privsep-control.c --- a/src/privsep-control.c Sat Sep 05 16:10:30 2020 +0100 +++ b/src/privsep-control.c Sat Sep 05 16:12:30 2020 +0100 @@ -225,16 +225,10 @@ int data_fd[2], listen_fd[2]; pid_t pid; - if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CXNB, 0, data_fd) == -1) - return -1; - if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CXNB, 0, listen_fd) == -1) + if (xsocketpair(AF_UNIX, SOCK_STREAM | SOCK_CXNB, 0, data_fd) == -1) return -1; -#ifdef PRIVSEP_RIGHTS - if (ps_rights_limit_fdpair(data_fd) == -1) + if (xsocketpair(AF_UNIX, SOCK_STREAM | SOCK_CXNB, 0, listen_fd) == -1) return -1; - if (ps_rights_limit_fdpair(listen_fd) == -1) - return -1; -#endif pid = ps_dostart(ctx, &ctx->ps_control_pid, &ctx->ps_control_fd, ps_ctl_recvmsg, ps_ctl_dodispatch, ctx, diff -r 56c934c73aa8 -r 5bbb5bae3e66 src/privsep.c --- a/src/privsep.c Sat Sep 05 16:10:30 2020 +0100 +++ b/src/privsep.c Sat Sep 05 16:12:30 2020 +0100 @@ -284,12 +284,10 @@ void *recv_ctx, int (*callback)(void *), void (*signal_cb)(int, void *), unsigned int flags) { - int stype; int fd[2]; pid_t pid; - stype = SOCK_CLOEXEC | SOCK_NONBLOCK; - if (socketpair(AF_UNIX, SOCK_DGRAM | stype, 0, fd) == -1) { + if (xsocketpair(AF_UNIX, SOCK_DGRAM | SOCK_CXNB, 0, fd) == -1) { logerr("%s: socketpair", __func__); return -1; } @@ -297,12 +295,6 @@ logerr("%s: ps_setbuf_fdpair", __func__); return -1; } -#ifdef PRIVSEP_RIGHTS - if (ps_rights_limit_fdpair(fd) == -1) { - logerr("%s: ps_rights_limit_fdpair", __func__); - return -1; - } -#endif switch (pid = fork()) { case -1: