diff options
Diffstat (limited to 'monitor_wrap.c')
-rw-r--r-- | monitor_wrap.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/monitor_wrap.c b/monitor_wrap.c index 4034d569c..99dfc8508 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c | |||
@@ -25,7 +25,7 @@ | |||
25 | */ | 25 | */ |
26 | 26 | ||
27 | #include "includes.h" | 27 | #include "includes.h" |
28 | RCSID("$OpenBSD: monitor_wrap.c,v 1.31 2003/08/28 12:54:34 markus Exp $"); | 28 | RCSID("$OpenBSD: monitor_wrap.c,v 1.32 2003/09/23 20:17:11 markus Exp $"); |
29 | 29 | ||
30 | #include <openssl/bn.h> | 30 | #include <openssl/bn.h> |
31 | #include <openssl/dh.h> | 31 | #include <openssl/dh.h> |
@@ -66,6 +66,16 @@ extern struct monitor *pmonitor; | |||
66 | extern Buffer input, output; | 66 | extern Buffer input, output; |
67 | extern ServerOptions options; | 67 | extern ServerOptions options; |
68 | 68 | ||
69 | int | ||
70 | mm_is_monitor(void) | ||
71 | { | ||
72 | /* | ||
73 | * m_pid is only set in the privileged part, and | ||
74 | * points to the unprivileged child. | ||
75 | */ | ||
76 | return (pmonitor->m_pid > 0); | ||
77 | } | ||
78 | |||
69 | void | 79 | void |
70 | mm_request_send(int socket, enum monitor_reqtype type, Buffer *m) | 80 | mm_request_send(int socket, enum monitor_reqtype type, Buffer *m) |
71 | { | 81 | { |
@@ -94,7 +104,7 @@ mm_request_receive(int socket, Buffer *m) | |||
94 | res = atomicio(read, socket, buf, sizeof(buf)); | 104 | res = atomicio(read, socket, buf, sizeof(buf)); |
95 | if (res != sizeof(buf)) { | 105 | if (res != sizeof(buf)) { |
96 | if (res == 0) | 106 | if (res == 0) |
97 | fatal_cleanup(); | 107 | cleanup_exit(255); |
98 | fatal("%s: read: %ld", __func__, (long)res); | 108 | fatal("%s: read: %ld", __func__, (long)res); |
99 | } | 109 | } |
100 | msg_len = GET_32BIT(buf); | 110 | msg_len = GET_32BIT(buf); |
@@ -648,9 +658,8 @@ mm_pty_allocate(int *ptyfd, int *ttyfd, char *namebuf, int namebuflen) | |||
648 | } | 658 | } |
649 | 659 | ||
650 | void | 660 | void |
651 | mm_session_pty_cleanup2(void *session) | 661 | mm_session_pty_cleanup2(Session *s) |
652 | { | 662 | { |
653 | Session *s = session; | ||
654 | Buffer m; | 663 | Buffer m; |
655 | 664 | ||
656 | if (s->ttyfd == -1) | 665 | if (s->ttyfd == -1) |