summaryrefslogtreecommitdiffstats
path: root/auth2.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2001-03-30 10:48:31 +1000
committerDamien Miller <djm@mindrot.org>2001-03-30 10:48:31 +1000
commit5d57e5073034b41c11366153f3853143c9ce07c0 (patch)
tree689156a83c58623993d7047c485983901f9c1abe /auth2.c
parent23e526e27199f3ae079ee302581221b49d3e6772 (diff)
- OpenBSD CVS Sync
- markus@cvs.openbsd.org 2001/03/28 22:43:31 [auth.h auth2.c auth2-chall.c] check auth_root_allowed for kbd-int auth, too.
Diffstat (limited to 'auth2.c')
-rw-r--r--auth2.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/auth2.c b/auth2.c
index 2042d1bb..3e99c5ba 100644
--- a/auth2.c
+++ b/auth2.c
@@ -23,7 +23,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: auth2.c,v 1.48 2001/03/21 11:43:44 markus Exp $");
+RCSID("$OpenBSD: auth2.c,v 1.49 2001/03/28 22:43:31 markus Exp $");
#include <openssl/evp.h>
@@ -81,6 +81,7 @@ char *authmethods_get(void);
/* auth */
void userauth_banner(void);
+void userauth_reply(Authctxt *authctxt, int authenticated);
int userauth_none(Authctxt *authctxt);
int userauth_passwd(Authctxt *authctxt);
int userauth_pubkey(Authctxt *authctxt);
@@ -231,6 +232,16 @@ input_userauth_request(int type, int plen, void *ctxt)
debug2("input_userauth_request: try method %s", method);
authenticated = m->userauth(authctxt);
}
+ userauth_finish(authctxt, authenticated, method);
+
+ xfree(service);
+ xfree(user);
+ xfree(method);
+}
+
+void
+userauth_finish(Authctxt *authctxt, int authenticated, char *method)
+{
if (!authctxt->valid && authenticated)
fatal("INTERNAL ERROR: authenticated invalid user %s",
authctxt->user);
@@ -251,10 +262,6 @@ input_userauth_request(int type, int plen, void *ctxt)
if (!authctxt->postponed)
userauth_reply(authctxt, authenticated);
-
- xfree(service);
- xfree(user);
- xfree(method);
}
void