summaryrefslogtreecommitdiff
path: root/sshconnect2.c
diff options
context:
space:
mode:
Diffstat (limited to 'sshconnect2.c')
-rw-r--r--sshconnect2.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sshconnect2.c b/sshconnect2.c
index a4342e2df..17325b097 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -28,7 +28,7 @@
28 */ 28 */
29 29
30#include "includes.h" 30#include "includes.h"
31RCSID("$OpenBSD: sshconnect2.c,v 1.5 2000/05/01 18:41:06 markus Exp $"); 31RCSID("$OpenBSD: sshconnect2.c,v 1.7 2000/05/06 17:45:37 markus Exp $");
32 32
33#include <openssl/bn.h> 33#include <openssl/bn.h>
34#include <openssl/rsa.h> 34#include <openssl/rsa.h>
@@ -283,9 +283,13 @@ ssh_kex2(char *host, struct sockaddr *hostaddr)
283int 283int
284ssh2_try_passwd(const char *server_user, const char *host, const char *service) 284ssh2_try_passwd(const char *server_user, const char *host, const char *service)
285{ 285{
286 static int attempt = 0;
286 char prompt[80]; 287 char prompt[80];
287 char *password; 288 char *password;
288 289
290 if (attempt++ > options.number_of_password_prompts)
291 return 0;
292
289 snprintf(prompt, sizeof(prompt), "%.30s@%.40s's password: ", 293 snprintf(prompt, sizeof(prompt), "%.30s@%.40s's password: ",
290 server_user, host); 294 server_user, host);
291 password = read_passphrase(prompt, 0); 295 password = read_passphrase(prompt, 0);
@@ -428,7 +432,7 @@ ssh_userauth2(const char *server_user, char *host)
428 packet_done(); 432 packet_done();
429 if (partial) 433 if (partial)
430 debug("partial success"); 434 debug("partial success");
431 if (options.rsa_authentication && 435 if (options.dsa_authentication &&
432 strstr(auths, "publickey") != NULL) { 436 strstr(auths, "publickey") != NULL) {
433 while (i < options.num_identity_files2) { 437 while (i < options.num_identity_files2) {
434 sent = ssh2_try_pubkey( 438 sent = ssh2_try_pubkey(