]> andersk Git - openssh.git/blobdiff - monitor_wrap.c
- (dtucker) [auth.c canohost.c canohost.h configure.ac defines.h loginrec.c]
[openssh.git] / monitor_wrap.c
index d9cbd9e320d244b268955d841b41e121890a18bd..23857639b869798d7a17756b75c465417670ad27 100644 (file)
@@ -25,7 +25,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: monitor_wrap.c,v 1.36 2004/06/21 17:36:31 avsm Exp $");
+RCSID("$OpenBSD: monitor_wrap.c,v 1.39 2004/07/17 05:31:41 dtucker Exp $");
 
 #include <openssl/bn.h>
 #include <openssl/dh.h>
@@ -70,7 +70,9 @@ extern z_stream incoming_stream;
 extern z_stream outgoing_stream;
 extern struct monitor *pmonitor;
 extern Buffer input, output;
+extern Buffer loginmsg;
 extern ServerOptions options;
+extern Buffer loginmsg;
 
 int
 mm_is_monitor(void)
@@ -194,7 +196,7 @@ mm_key_sign(Key *key, u_char **sigp, u_int *lenp, u_char *data, u_int datalen)
 }
 
 struct passwd *
-mm_getpwnamallow(const char *login)
+mm_getpwnamallow(const char *username)
 {
        Buffer m;
        struct passwd *pw;
@@ -203,7 +205,7 @@ mm_getpwnamallow(const char *login)
        debug3("%s entering", __func__);
 
        buffer_init(&m);
-       buffer_put_cstring(&m, login);
+       buffer_put_cstring(&m, username);
 
        mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_PWNAM, &m);
 
@@ -642,7 +644,7 @@ int
 mm_pty_allocate(int *ptyfd, int *ttyfd, char *namebuf, int namebuflen)
 {
        Buffer m;
-       char *p;
+       char *p, *msg;
        int success = 0;
 
        buffer_init(&m);
@@ -658,11 +660,15 @@ mm_pty_allocate(int *ptyfd, int *ttyfd, char *namebuf, int namebuflen)
                return (0);
        }
        p = buffer_get_string(&m, NULL);
+       msg = buffer_get_string(&m, NULL);
        buffer_free(&m);
 
        strlcpy(namebuf, p, namebuflen); /* Possible truncation */
        xfree(p);
 
+       buffer_append(&loginmsg, msg, strlen(msg));
+       xfree(msg);
+
        *ptyfd = mm_receive_fd(pmonitor->m_recvfd);
        *ttyfd = mm_receive_fd(pmonitor->m_recvfd);
 
@@ -711,6 +717,7 @@ mm_do_pam_account(void)
 {
        Buffer m;
        u_int ret;
+       char *msg;
 
        debug3("%s entering", __func__);
        if (!options.use_pam)
@@ -722,6 +729,9 @@ mm_do_pam_account(void)
        mm_request_receive_expect(pmonitor->m_recvfd,
            MONITOR_ANS_PAM_ACCOUNT, &m);
        ret = buffer_get_int(&m);
+       msg = buffer_get_string(&m, NULL);
+       buffer_append(&loginmsg, msg, strlen(msg));
+       xfree(msg);
 
        buffer_free(&m);
 
@@ -914,6 +924,7 @@ mm_bsdauth_respond(void *ctx, u_int numresponses, char **responses)
        return ((authok == 0) ? -1 : 0);
 }
 
+#ifdef SKEY
 int
 mm_skey_query(void *ctx, char **name, char **infotxt,
    u_int *numprompts, char ***prompts, u_int **echo_on)
@@ -977,6 +988,7 @@ mm_skey_respond(void *ctx, u_int numresponses, char **responses)
 
        return ((authok == 0) ? -1 : 0);
 }
+#endif /* SKEY */
 
 void
 mm_ssh1_session_id(u_char session_id[16])
This page took 0.048203 seconds and 4 git commands to generate.