*/
#include "includes.h"
-RCSID("$OpenBSD: monitor_wrap.c,v 1.35 2003/11/17 11:06:07 markus Exp $");
+RCSID("$OpenBSD: monitor_wrap.c,v 1.31 2003/08/28 12:54:34 markus Exp $");
#include <openssl/bn.h>
#include <openssl/dh.h>
extern Buffer input, output;
extern ServerOptions options;
-int
-mm_is_monitor(void)
-{
- /*
- * m_pid is only set in the privileged part, and
- * points to the unprivileged child.
- */
- return (pmonitor && pmonitor->m_pid > 0);
-}
-
void
mm_request_send(int socket, enum monitor_reqtype type, Buffer *m)
{
res = atomicio(read, socket, buf, sizeof(buf));
if (res != sizeof(buf)) {
if (res == 0)
- cleanup_exit(255);
+ fatal_cleanup();
fatal("%s: read: %ld", __func__, (long)res);
}
msg_len = GET_32BIT(buf);
return (pw);
}
-char *
-mm_auth2_read_banner(void)
+char *mm_auth2_read_banner(void)
{
Buffer m;
char *banner;
mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTH2_READ_BANNER, &m);
buffer_clear(&m);
- mm_request_receive_expect(pmonitor->m_recvfd,
- MONITOR_ANS_AUTH2_READ_BANNER, &m);
+ mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_AUTH2_READ_BANNER, &m);
banner = buffer_get_string(&m, NULL);
buffer_free(&m);
- /* treat empty banner as missing banner */
- if (strlen(banner) == 0) {
- xfree(banner);
- banner = NULL;
- }
return (banner);
}
}
void
-mm_session_pty_cleanup2(Session *s)
+mm_session_pty_cleanup2(void *session)
{
+ Session *s = session;
Buffer m;
if (s->ttyfd == -1)
buffer_init(&m);
mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_PAM_ACCOUNT, &m);
- mm_request_receive_expect(pmonitor->m_recvfd,
+ mm_request_receive_expect(pmonitor->m_recvfd,
MONITOR_ANS_PAM_ACCOUNT, &m);
ret = buffer_get_int(&m);
buffer_free(&m);
-
+
debug3("%s returning %d", __func__, ret);
return (ret);
return (major);
}
-OM_uint32
-mm_ssh_gssapi_checkmic(Gssctxt *ctx, gss_buffer_t gssbuf, gss_buffer_t gssmic)
-{
- Buffer m;
- OM_uint32 major;
-
- buffer_init(&m);
- buffer_put_string(&m, gssbuf->value, gssbuf->length);
- buffer_put_string(&m, gssmic->value, gssmic->length);
-
- mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_GSSCHECKMIC, &m);
- mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSCHECKMIC,
- &m);
-
- major = buffer_get_int(&m);
- buffer_free(&m);
- return(major);
-}
-
int
mm_ssh_gssapi_userok(char *user)
{