diff options
-rw-r--r-- | usr.bin/ssh/auth.h | 4 | ||||
-rw-r--r-- | usr.bin/ssh/auth2-chall.c | 11 | ||||
-rw-r--r-- | usr.bin/ssh/auth2.c | 17 |
3 files changed, 19 insertions, 13 deletions
diff --git a/usr.bin/ssh/auth.h b/usr.bin/ssh/auth.h index c581f5b2a68..c727519037a 100644 --- a/usr.bin/ssh/auth.h +++ b/usr.bin/ssh/auth.h @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $OpenBSD: auth.h,v 1.13 2001/03/20 18:57:04 markus Exp $ + * $OpenBSD: auth.h,v 1.14 2001/03/28 22:43:31 markus Exp $ */ #ifndef AUTH_H #define AUTH_H @@ -118,7 +118,7 @@ void do_authentication2(void); Authctxt *authctxt_new(void); void auth_log(Authctxt *authctxt, int authenticated, char *method, char *info); -void userauth_reply(Authctxt *authctxt, int authenticated); +void userauth_finish(Authctxt *authctxt, int authenticated, char *method); int auth_root_allowed(char *method); int auth2_challenge(Authctxt *authctxt, char *devs); diff --git a/usr.bin/ssh/auth2-chall.c b/usr.bin/ssh/auth2-chall.c index 2b96f52a5ed..5af60e42fa0 100644 --- a/usr.bin/ssh/auth2-chall.c +++ b/usr.bin/ssh/auth2-chall.c @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "includes.h" -RCSID("$OpenBSD: auth2-chall.c,v 1.3 2001/03/02 18:54:31 deraadt Exp $"); +RCSID("$OpenBSD: auth2-chall.c,v 1.4 2001/03/28 22:43:31 markus Exp $"); #include "ssh2.h" #include "auth.h" @@ -104,10 +104,9 @@ input_userauth_info_response(int type, int plen, void *ctxt) } xfree(response); } - auth_log(authctxt, authenticated, method, " ssh2"); - if (!authctxt->postponed) { - /* unregister callback and send reply */ + /* unregister callback */ + if (!authctxt->postponed) dispatch_set(SSH2_MSG_USERAUTH_INFO_RESPONSE, NULL); - userauth_reply(authctxt, authenticated); - } + + userauth_finish(authctxt, authenticated, method); } diff --git a/usr.bin/ssh/auth2.c b/usr.bin/ssh/auth2.c index 6641961a329..6207db1f4b8 100644 --- a/usr.bin/ssh/auth2.c +++ b/usr.bin/ssh/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> @@ -77,6 +77,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); @@ -221,6 +222,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); @@ -235,10 +246,6 @@ input_userauth_request(int type, int plen, void *ctxt) if (!authctxt->postponed) userauth_reply(authctxt, authenticated); - - xfree(service); - xfree(user); - xfree(method); } void |