nicm
d29aa12117
Replace the notification system with events. Events can carry a payload of
...
additional payload (to reduce problems with lifetime of objects) and are
delivered to one or more event sinks. This is more powerful and reduces the
complex dependencies between control mode and hooks. Events are now used for
hooks, control mode notifications and for monitors (set-hook -B).
wait-for can now wait for an event to fire (-E flag, with -F to for filter),
with -v to print the payload, as well as listing (-l) waiting clients on an
event and forcing one to wake (-w).
A few additional hooks are also now available (pane-created, pane-resized, etc)
and some of the existing ones have additional format variables available.
2026-07-10 13:38:45 +00:00
nicm
4d1ab1ba2a
Allow ACLs to use groups as well as users, GitHub issue 4917.
2026-06-08 21:38:19 +00:00
claudio
70299c6646
Convert sbin and usr.bin to check for imsgbuf_init failure and add
...
imsgbuf_allow_fdpass where needed.
OK tb@
2024-11-21 13:35:20 +00:00
nicm
40b97b1715
Add two new values for the destroy-unattached option to destroy sessions
...
only if they are not members of sessions groups, from Mark Huang, GitHub
issue 3806.
2024-02-13 08:10:23 +00:00
claudio
2e39d698d2
Use imsg_get_fd() instead of direct access to imsg.fd
...
The change in proc.c can be further simplified once imsg_free() takes
care of unclaimed file descriptors.
OK nicm@
2024-01-16 13:09:11 +00:00
nicm
cd692b5a68
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. From Dallas Lyons and
others.
2022-05-30 12:48:57 +00:00
nicm
98cd8e4cad
Add formats for client and server UID and user (for multiuser setups).
2022-03-08 11:28:40 +00:00
nicm
2b58c226db
Add a couple of helper functions, and flush imsgs on exit.
2021-02-11 09:39:29 +00:00
nicm
31ed29e551
SIGQUIT handler needs to be cleared before fork like the others,
...
reported by Simon Andersson.
2020-10-26 19:00:37 +00:00
nicm
82c65e3f37
Also ignore SIGQUIT so it can't be used to kill the client when locked.
2020-08-04 08:50:01 +00:00
nicm
dceb6a15d0
Add a -D flag to ask tmux not to daemonize, useful both for running a
...
debugger (lldb does not have follow-fork-mode) and for running with a
managed supervisor init system. GitHub issue 2190.
2020-05-16 16:07:55 +00:00
nicm
f165221dc4
Reduce a difference with portable tmux by adding the -V flag and
...
#{version} format; on OpenBSD these just report the OpenBSD version.
2020-01-28 10:44:30 +00:00
nicm
932f6cfbfc
Because ignore SIGCHLD early, letting signal_del restore it doesn't work
...
correctly, so set it explicitly back to default (and the others for good
measure).
2017-07-14 18:49:07 +00:00
nicm
2678fe53f5
Fix redraw defer code in the presence of multiple clients - the timer
...
may be needed for all of them, so don't delete it on the first; and
don't skip setting the redraw flag if the timer is already running.
Reported by Pol Van Aubel in GitHub issue 1003.
2017-07-14 08:04:23 +00:00
nicm
fba6140a4a
Do not need to set up USR2 twice.
2017-07-12 12:35:31 +00:00
nicm
0453ad0146
Move signal code into proc.c.
2017-07-12 09:24:17 +00:00
nicm
d0d42dc4cb
proc_send_s now seems unnecessary.
2017-07-12 09:07:52 +00:00
nicm
356fab7bcb
Return 1 if name matches not 0, also fix some spaces.
2017-06-07 15:27:46 +00:00
nicm
adf5628087
Support SIGUSR2 to stop and start logging for an existing server. Also
...
we currently only have two log levels so just use -v and -vv rather than
-v and -vvvv, and clarify the man page entry for -v.
2017-06-04 08:25:57 +00:00
nicm
995af0e2b7
I no longer use my SourceForge address so replace it.
2016-01-19 15:59:12 +00:00
claudio
0417f1f2be
EAGAIN handling for imsg_read. OK henning@ benno@
2015-12-05 13:18:24 +00:00
nicm
4e3015a892
Log some system and libevent information at startup.
2015-11-24 21:32:36 +00:00
nicm
9cccb8c115
Make the log stuff a bit tidier with some helper functions.
2015-11-24 21:19:46 +00:00
nicm
577c0e3e5a
Use __unused rather than rolling our own.
2015-11-18 14:27:44 +00:00
nicm
b0a99e85b6
Don't shift version out of peerid, it is needed later.
2015-10-31 13:43:38 +00:00
nicm
45f3cea263
Break version check into a separate function, and limit version to 8 bits.
2015-10-29 09:35:31 +00:00
nicm
07b0ea03c3
Break the common process set up, event loop and imsg dispatch code
...
between server and client out into a separate internal API. This will
make it easier to add another process.
2015-10-27 13:23:24 +00:00