summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.bin/ssh/auth.h4
-rw-r--r--usr.bin/ssh/auth2-chall.c11
-rw-r--r--usr.bin/ssh/auth2.c17
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