Sync OpenBSD patchset 370:

Support for individual session idle time locking. May be enabled by turning off
the lock-server option (it is on by default). When this is off, each session
locks when it has been idle for the lock-after-time setting. When on, the
entire server locks when ALL sessions have been idle for their individual
lock-after-time settings.

This replaces one global-only option (lock-after-time) with another
(lock-server), but the default behaviour is usually preferable so there don't
seem to be many alternatives.

Diff/idea largely from Thomas Adam, tweaked by me.
This commit is contained in:
Tiago Cunha
2009-10-11 23:30:28 +00:00
parent a4ea6a9d19
commit 91e4dc83fc
7 changed files with 89 additions and 32 deletions

View File

@@ -1,4 +1,4 @@
/* $Id: server-msg.c,v 1.90 2009-09-25 17:47:42 tcunha Exp $ */
/* $Id: server-msg.c,v 1.91 2009-10-11 23:30:28 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -104,7 +104,8 @@ server_msg_dispatch(struct client *c)
tty_start_tty(&c->tty);
server_redraw_client(c);
recalculate_sizes();
server_activity = time(NULL);
if (c->session != NULL)
c->session->activity = time(NULL);
break;
case MSG_ENVIRON:
if (datalen != sizeof environdata)
@@ -180,7 +181,8 @@ server_msg_command(struct client *c, struct msg_command_data *data)
int argc;
char **argv, *cause;
server_activity = time(NULL);
if (c->session != NULL)
c->session->activity = time(NULL);
ctx.error = server_msg_command_error;
ctx.print = server_msg_command_print;