Define away pledge() on !OpenBSD.

pull/746/head
Nicholas Marriott 2017-01-23 12:27:58 +00:00
parent 1ebe79dd62
commit a3d5bfcece
4 changed files with 4 additions and 8 deletions

View File

@ -289,7 +289,6 @@ client_main(struct event_base *base, int argc, char **argv, int flags,
if ((ttynam = ttyname(STDIN_FILENO)) == NULL)
ttynam = "";
#ifdef __OpenBSD__
/*
* Drop privileges for client. "proc exec" is needed for -c and for
* locking (which uses system(3)).
@ -301,7 +300,6 @@ client_main(struct event_base *base, int argc, char **argv, int flags,
*/
if (pledge("stdio unix sendfd proc exec tty", NULL) != 0)
fatal("pledge failed");
#endif
/* Free stuff that is not used in the client. */
if (ptm_fd != -1)
@ -563,7 +561,6 @@ client_dispatch_wait(struct imsg *imsg, const char *shellcmd)
struct msg_stdout_data stdoutdata;
struct msg_stderr_data stderrdata;
int retval;
#ifdef __OpenBSD__
static int pledge_applied;
/*
@ -577,7 +574,6 @@ client_dispatch_wait(struct imsg *imsg, const char *shellcmd)
fatal("pledge failed");
pledge_applied = 1;
};
#endif
data = imsg->data;
datalen = imsg->hdr.len - IMSG_HEADER_SIZE;

View File

@ -58,6 +58,10 @@ typedef uint64_t u_int64_t;
#define _PATH_DEV "/dev/"
#endif
#ifndef __OpenBSD__
#define pledge(s, p) (0)
#endif
#ifdef HAVE_QUEUE_H
#include <sys/queue.h>
#else

View File

@ -148,11 +148,9 @@ server_start(struct event_base *base, int lockfd, char *lockfile)
if (log_get_level() > 3)
tty_create_log();
#ifdef __OpenBSD__
if (pledge("stdio rpath wpath cpath fattr unix getpw recvfd proc exec "
"tty ps", NULL) != 0)
fatal("pledge failed");
#endif
RB_INIT(&windows);
RB_INIT(&all_window_panes);

2
tmux.c
View File

@ -261,13 +261,11 @@ main(int argc, char **argv)
if (shellcmd != NULL && argc != 0)
usage();
#ifdef __OpenBSD__
if (pty_open(&ptm_fd) != 0)
errx(1, "open(\"/dev/ptm\"");
if (pledge("stdio rpath wpath cpath flock fattr unix getpw sendfd "
"recvfd proc exec tty ps", NULL) != 0)
err(1, "pledge");
#endif
/*
* tmux is a UTF-8 terminal, so if TMUX is set, assume UTF-8.