mirror of
https://github.com/tmux/tmux.git
synced 2025-09-08 23:24:18 +00:00
Remove the internal tmux locking and instead detach each client and run the
command specified by a new option "lock-command" (by default "lock -np") in each client. This means each terminal has to be unlocked individually but simplifies the code and allows the system password to be used to unlock. Note that the set-password command is gone, so it will need to be removed from configuration files, and the -U command line flag has been removed. This is the third protocol version change so again it is best to stop the tmux server before upgrading.
This commit is contained in:
21
server-msg.c
21
server-msg.c
@ -40,7 +40,6 @@ server_msg_dispatch(struct client *c)
|
||||
struct imsg imsg;
|
||||
struct msg_command_data commanddata;
|
||||
struct msg_identify_data identifydata;
|
||||
struct msg_unlock_data unlockdata;
|
||||
struct msg_environ_data environdata;
|
||||
ssize_t n, datalen;
|
||||
|
||||
@ -95,31 +94,15 @@ server_msg_dispatch(struct client *c)
|
||||
tty_close(&c->tty);
|
||||
server_write_client(c, MSG_EXITED, NULL, 0);
|
||||
break;
|
||||
case MSG_UNLOCK:
|
||||
if (datalen != sizeof unlockdata)
|
||||
fatalx("bad MSG_UNLOCK size");
|
||||
memcpy(&unlockdata, imsg.data, sizeof unlockdata);
|
||||
|
||||
unlockdata.pass[(sizeof unlockdata.pass) - 1] = '\0';
|
||||
switch (server_unlock(unlockdata.pass)) {
|
||||
case -1:
|
||||
server_write_error(c, "bad password");
|
||||
break;
|
||||
case -2:
|
||||
server_write_error(c,
|
||||
"too many bad passwords, sleeping");
|
||||
break;
|
||||
}
|
||||
memset(&unlockdata, 0, sizeof unlockdata);
|
||||
server_write_client(c, MSG_EXIT, NULL, 0);
|
||||
break;
|
||||
case MSG_WAKEUP:
|
||||
case MSG_UNLOCK:
|
||||
if (datalen != 0)
|
||||
fatalx("bad MSG_WAKEUP size");
|
||||
|
||||
c->flags &= ~CLIENT_SUSPENDED;
|
||||
tty_start_tty(&c->tty);
|
||||
server_redraw_client(c);
|
||||
server_activity = time(NULL);
|
||||
break;
|
||||
case MSG_ENVIRON:
|
||||
if (datalen != sizeof environdata)
|
||||
|
Reference in New Issue
Block a user