aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2022-04-06 14:28:50 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2022-04-06 14:28:50 +0100
commitd6306b634e4a044e3380ed984dc7f5e5d67e69ac (patch)
treeb37630b42c687c2d470529e9c78e3f29d24775e3 /tmux.h
parent6e9a9d265e2c5199566e3890e6763a74b558bf80 (diff)
downloadrtmux-d6306b634e4a044e3380ed984dc7f5e5d67e69ac.tar.gz
rtmux-d6306b634e4a044e3380ed984dc7f5e5d67e69ac.tar.bz2
rtmux-d6306b634e4a044e3380ed984dc7f5e5d67e69ac.zip
Add an ACL list for users connecting to the tmux socket. Users may be forbidden
from attaching, forced to attach read-only, or allowed to attach read-write. A new command, server-access, configures the list. tmux gets the user using getpeereid(3) of the client socket. Users must still configure file system permissions manually.
Diffstat (limited to 'tmux.h')
-rw-r--r--tmux.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/tmux.h b/tmux.h
index f16b5250..90a3f93c 100644
--- a/tmux.h
+++ b/tmux.h
@@ -2025,6 +2025,7 @@ struct tmuxpeer *proc_add_peer(struct tmuxproc *, int,
void (*)(struct imsg *, void *), void *);
void proc_remove_peer(struct tmuxpeer *);
void proc_kill_peer(struct tmuxpeer *);
+void proc_flush_peer(struct tmuxpeer *);
void proc_toggle_log(struct tmuxproc *);
pid_t proc_fork_and_daemon(int *);
uid_t proc_get_peer_uid(struct tmuxpeer *);
@@ -3269,4 +3270,15 @@ struct window_pane *spawn_pane(struct spawn_context *, char **);
/* regsub.c */
char *regsub(const char *, const char *, const char *, int);
+/* server-acl.c */
+void server_acl_init(void);
+struct server_acl_user *server_acl_user_find(uid_t);
+void server_acl_display(struct cmdq_item *);
+void server_acl_user_allow(uid_t);
+void server_acl_user_deny(uid_t);
+void server_acl_user_allow_write(uid_t);
+void server_acl_user_deny_write(uid_t);
+int server_acl_join(struct client *);
+uid_t server_acl_get_uid(struct server_acl_user *);
+
#endif /* TMUX_H */