]> andersk Git - gssapi-openssh.git/blobdiff - openssh/auth2.c
Re-import of OpenSSH 3.7.1p2 (Chase\!)
[gssapi-openssh.git] / openssh / auth2.c
index a9490ccfd1f7aefbb8ed7dd5eafa29387e175233..41e77efdc126b80e0123bb5931a8070400e41a9c 100644 (file)
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: auth2.c,v 1.104 2003/11/04 08:54:09 djm Exp $");
+RCSID("$OpenBSD: auth2.c,v 1.102 2003/08/26 09:58:43 markus Exp $");
 
 #include "ssh2.h"
 #include "xmalloc.h"
@@ -45,6 +45,8 @@ extern ServerOptions options;
 extern u_char *session_id2;
 extern u_int session_id2_len;
 
+Authctxt *x_authctxt = NULL;
+
 /* methods */
 
 extern Authmethod method_none;
@@ -77,14 +79,19 @@ static void input_userauth_request(int, u_int32_t, void *);
 static Authmethod *authmethod_lookup(const char *);
 static char *authmethods_get(void);
 int user_key_allowed(struct passwd *, Key *);
+int hostbased_key_allowed(struct passwd *, const char *, char *, Key *);
 
 /*
  * loop until authctxt->success == TRUE
  */
 
-void
-do_authentication2(Authctxt *authctxt)
+Authctxt *
+do_authentication2(void)
 {
+       Authctxt *authctxt = authctxt_new();
+
+       x_authctxt = authctxt;          /*XXX*/
+
        /* challenge-response is implemented via keyboard interactive */
        if (options.challenge_response_authentication)
                options.kbd_interactive_authentication = 1;
@@ -92,6 +99,8 @@ do_authentication2(Authctxt *authctxt)
        dispatch_init(&dispatch_protocol_error);
        dispatch_set(SSH2_MSG_SERVICE_REQUEST, &input_service_request);
        dispatch_run(DISPATCH_BLOCK, &authctxt->success, authctxt);
+
+       return (authctxt);
 }
 
 static void
@@ -255,6 +264,14 @@ userauth_finish(Authctxt *authctxt, int authenticated, char *method)
        }
 }
 
+/* get current user */
+
+struct passwd*
+auth_get_user(void)
+{
+       return (x_authctxt != NULL && x_authctxt->valid) ? x_authctxt->pw : NULL;
+}
+
 #define        DELIM   ","
 
 static char *
This page took 0.323139 seconds and 4 git commands to generate.