diff --git a/options-table.c b/options-table.c index 81e4049b..fadad0b5 100644 --- a/options-table.c +++ b/options-table.c @@ -823,7 +823,7 @@ const struct options_table_entry options_table[] = { .type = OPTIONS_TABLE_STRING, .scope = OPTIONS_TABLE_SESSION, .flags = OPTIONS_TABLE_IS_ARRAY, - .default_str = "DISPLAY KRB5CCNAME SSH_ASKPASS SSH_AUTH_SOCK " + .default_str = "DISPLAY KRB5CCNAME MSYSTEM SSH_ASKPASS SSH_AUTH_SOCK " "SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY", .text = "List of environment variables to update in the session " "environment when a client is attached." diff --git a/tmux.c b/tmux.c index 30960245..6659e1c3 100644 --- a/tmux.c +++ b/tmux.c @@ -222,7 +222,7 @@ make_label(const char *label, char **cause) xasprintf(cause, "%s is not a directory", base); goto fail; } - if (sb.st_uid != uid || (sb.st_mode & S_IRWXO) != 0) { + if (sb.st_uid != uid || (sb.st_mode & TMUX_SOCK_PERM) != 0) { xasprintf(cause, "directory %s has unsafe permissions", base); goto fail; } diff --git a/tmux.h b/tmux.h index dfc81cee..4db4b670 100644 --- a/tmux.h +++ b/tmux.h @@ -84,6 +84,9 @@ struct winlink; #ifndef TMUX_SOCK #define TMUX_SOCK "$TMUX_TMPDIR:" _PATH_TMP #endif +#ifndef TMUX_SOCK_PERM +#define TMUX_SOCK_PERM (7 /* o+rwx */) +#endif #ifndef TMUX_TERM #define TMUX_TERM "screen" #endif