-/* $OpenBSD: auth2.c,v 1.119 2008/07/04 23:30:16 djm Exp $ */
+/* $OpenBSD: auth2.c,v 1.121 2009/06/22 05:39:28 dtucker Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
*
#include <string.h>
#include <unistd.h>
-#include "xmalloc.h"
#include "atomicio.h"
+#include "xmalloc.h"
#include "ssh2.h"
#include "packet.h"
#include "log.h"
extern Authmethod method_kbdint;
extern Authmethod method_hostbased;
#ifdef GSSAPI
-extern Authmethod method_external;
extern Authmethod method_gsskeyex;
extern Authmethod method_gssapi;
-extern Authmethod method_gssapi_compat;
+#endif
+#ifdef JPAKE
+extern Authmethod method_jpake;
#endif
static int log_flag = 0;
&method_pubkey,
#ifdef GSSAPI
&method_gsskeyex,
- &method_external,
&method_gssapi,
- &method_gssapi_compat,
+#endif
+#ifdef JPAKE
+ &method_jpake,
#endif
&method_passwd,
&method_kbdint,
#ifdef GSSAPI
if (user[0] == '\0') {
debug("received empty username for %s", method);
- if (strcmp(method, "external-keyx") == 0 ||
- strcmp(method, "gssapi-keyex") == 0) {
+ if (strcmp(method, "gssapi-keyex") == 0) {
char *lname = NULL;
PRIVSEP(ssh_gssapi_localname(&lname));
if (lname && lname[0] != '\0') {
user[0] ? user : "<implicit>", service, method);
if (!log_flag) {
logit("SSH: Server;Ltype: Authname;Remote: %s-%d;Name: %s",
- get_remote_ipaddr(), get_remote_port(), user);
+ get_remote_ipaddr(), get_remote_port(),
+ user[0] ? user : "<implicit>");
log_flag = 1;
}
debug("attempt %d failures %d", authctxt->attempt, authctxt->failures);
}
/* reset state */
auth2_challenge_stop(authctxt);
+#ifdef JPAKE
+ auth2_jpake_stop(authctxt);
+#endif
#ifdef GSSAPI
+ /* XXX move to auth2_gssapi_stop() */
dispatch_set(SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL);
dispatch_set(SSH2_MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE, NULL);
#endif
/* Dont count server configuration issues against the client */
/* Allow initial try of "none" auth without failure penalty */
if (!authctxt->server_caused_failure &&
- (authctxt->attempt > 1 || strcmp(method, "none") != 0))
+ (authctxt->attempt > 1 || strcmp(method, "none") != 0))
authctxt->failures++;
if (authctxt->failures >= options.max_authtries) {
#ifdef SSH_AUDIT_EVENTS