X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/blobdiff_plain/ffb215bef2cca2c197b58686b420c4bb0dd54dd8..9f37c0afa6bd739bac1b3785c900685dc5f27f52:/sshconnect2.c diff --git a/sshconnect2.c b/sshconnect2.c index 258ee483..a86d0036 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: sshconnect2.c,v 1.79 2001/06/25 20:26:37 stevesk Exp $"); +RCSID("$OpenBSD: sshconnect2.c,v 1.81 2001/07/23 09:06:28 markus Exp $"); #include #include @@ -195,22 +195,22 @@ static Authmethod *authmethod_lookup(const char *name); static char *authmethods_get(void); Authmethod authmethods[] = { - {"publickey", - userauth_pubkey, - &options.pubkey_authentication, - NULL}, {"hostbased", userauth_hostbased, &options.hostbased_authentication, NULL}, - {"password", - userauth_passwd, - &options.password_authentication, - &options.batch_mode}, + {"publickey", + userauth_pubkey, + &options.pubkey_authentication, + NULL}, {"keyboard-interactive", userauth_kbdint, &options.kbd_interactive_authentication, &options.batch_mode}, + {"password", + userauth_passwd, + &options.password_authentication, + &options.batch_mode}, {"none", userauth_none, NULL, @@ -640,6 +640,11 @@ identity_sign_cb(Authctxt *authctxt, Key *key, u_char **sigp, int *lenp, idx = authctxt->last_key_hint; if (idx < 0) return -1; + + /* private key is stored in external hardware */ + if (options.identity_keys[idx]->flags & KEY_FLAG_EXT) + return key_sign(options.identity_keys[idx], sigp, lenp, data, datalen); + private = load_identity_file(options.identity_files[idx]); if (private == NULL) return -1;