diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | monitor.c | 3 | ||||
-rw-r--r-- | sshd.c | 8 |
3 files changed, 12 insertions, 4 deletions
@@ -18,6 +18,9 @@ | |||
18 | support for password change; ok dtucker@ | 18 | support for password change; ok dtucker@ |
19 | (set password-dead=1w in login.conf to use this). | 19 | (set password-dead=1w in login.conf to use this). |
20 | In -Portable, this is currently only platforms using bsdauth. | 20 | In -Portable, this is currently only platforms using bsdauth. |
21 | - dtucker@cvs.openbsd.org 2004/02/05 05:37:17 | ||
22 | [monitor.c sshd.c] | ||
23 | Pass SIGALRM through to privsep child if LoginGraceTime expires. ok markus@ | ||
21 | 24 | ||
22 | 20040129 | 25 | 20040129 |
23 | - (dtucker) OpenBSD CVS Sync regress/ | 26 | - (dtucker) OpenBSD CVS Sync regress/ |
@@ -1803,4 +1806,4 @@ | |||
1803 | - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. | 1806 | - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. |
1804 | Report from murple@murple.net, diagnosis from dtucker@zip.com.au | 1807 | Report from murple@murple.net, diagnosis from dtucker@zip.com.au |
1805 | 1808 | ||
1806 | $Id: ChangeLog,v 1.3212 2004/02/06 05:24:31 dtucker Exp $ | 1809 | $Id: ChangeLog,v 1.3213 2004/02/06 05:40:27 dtucker Exp $ |
@@ -25,7 +25,7 @@ | |||
25 | */ | 25 | */ |
26 | 26 | ||
27 | #include "includes.h" | 27 | #include "includes.h" |
28 | RCSID("$OpenBSD: monitor.c,v 1.54 2003/11/21 11:57:03 djm Exp $"); | 28 | RCSID("$OpenBSD: monitor.c,v 1.55 2004/02/05 05:37:17 dtucker Exp $"); |
29 | 29 | ||
30 | #include <openssl/dh.h> | 30 | #include <openssl/dh.h> |
31 | 31 | ||
@@ -1708,6 +1708,7 @@ monitor_init(void) | |||
1708 | 1708 | ||
1709 | mon = xmalloc(sizeof(*mon)); | 1709 | mon = xmalloc(sizeof(*mon)); |
1710 | 1710 | ||
1711 | mon->m_pid = 0; | ||
1711 | monitor_socketpair(pair); | 1712 | monitor_socketpair(pair); |
1712 | 1713 | ||
1713 | mon->m_recvfd = pair[0]; | 1714 | mon->m_recvfd = pair[0]; |
@@ -42,7 +42,7 @@ | |||
42 | */ | 42 | */ |
43 | 43 | ||
44 | #include "includes.h" | 44 | #include "includes.h" |
45 | RCSID("$OpenBSD: sshd.c,v 1.284 2003/12/09 21:53:37 markus Exp $"); | 45 | RCSID("$OpenBSD: sshd.c,v 1.285 2004/02/05 05:37:17 dtucker Exp $"); |
46 | 46 | ||
47 | #include <openssl/dh.h> | 47 | #include <openssl/dh.h> |
48 | #include <openssl/bn.h> | 48 | #include <openssl/bn.h> |
@@ -200,7 +200,7 @@ int startup_pipe; /* in child */ | |||
200 | 200 | ||
201 | /* variables used for privilege separation */ | 201 | /* variables used for privilege separation */ |
202 | int use_privsep; | 202 | int use_privsep; |
203 | struct monitor *pmonitor; | 203 | struct monitor *pmonitor = NULL; |
204 | 204 | ||
205 | /* message to be displayed after login */ | 205 | /* message to be displayed after login */ |
206 | Buffer loginmsg; | 206 | Buffer loginmsg; |
@@ -306,6 +306,9 @@ grace_alarm_handler(int sig) | |||
306 | { | 306 | { |
307 | /* XXX no idea how fix this signal handler */ | 307 | /* XXX no idea how fix this signal handler */ |
308 | 308 | ||
309 | if (use_privsep && pmonitor != NULL && pmonitor->m_pid > 0) | ||
310 | kill(pmonitor->m_pid, SIGALRM); | ||
311 | |||
309 | /* Log error and exit. */ | 312 | /* Log error and exit. */ |
310 | fatal("Timeout before authentication for %s", get_remote_ipaddr()); | 313 | fatal("Timeout before authentication for %s", get_remote_ipaddr()); |
311 | } | 314 | } |
@@ -593,6 +596,7 @@ privsep_preauth(Authctxt *authctxt) | |||
593 | debug2("Network child is on pid %ld", (long)pid); | 596 | debug2("Network child is on pid %ld", (long)pid); |
594 | 597 | ||
595 | close(pmonitor->m_recvfd); | 598 | close(pmonitor->m_recvfd); |
599 | pmonitor->m_pid = pid; | ||
596 | monitor_child_preauth(authctxt, pmonitor); | 600 | monitor_child_preauth(authctxt, pmonitor); |
597 | close(pmonitor->m_sendfd); | 601 | close(pmonitor->m_sendfd); |
598 | 602 | ||