version 1.31, 2001/12/27 20:39:58 |
version 1.32, 2001/12/28 12:14:27 |
|
|
verbose("Kerberos authentication disabled."); |
verbose("Kerberos authentication disabled."); |
} else { |
} else { |
char *kdata = packet_get_string(&dlen); |
char *kdata = packet_get_string(&dlen); |
packet_done(); |
packet_check_eom(); |
|
|
if (kdata[0] == 4) { /* KRB_PROT_VERSION */ |
if (kdata[0] == 4) { /* KRB_PROT_VERSION */ |
#ifdef KRB4 |
#ifdef KRB4 |
|
|
* IP-spoofing on a local network.) |
* IP-spoofing on a local network.) |
*/ |
*/ |
client_user = packet_get_string(&ulen); |
client_user = packet_get_string(&ulen); |
packet_done(); |
packet_check_eom(); |
|
|
/* Try to authenticate using /etc/hosts.equiv and .rhosts. */ |
/* Try to authenticate using /etc/hosts.equiv and .rhosts. */ |
authenticated = auth_rhosts(pw, client_user); |
authenticated = auth_rhosts(pw, client_user); |
|
|
verbose("Warning: keysize mismatch for client_host_key: " |
verbose("Warning: keysize mismatch for client_host_key: " |
"actual %d, announced %d", |
"actual %d, announced %d", |
BN_num_bits(client_host_key->rsa->n), bits); |
BN_num_bits(client_host_key->rsa->n), bits); |
packet_done(); |
packet_check_eom(); |
|
|
authenticated = auth_rhosts_rsa(pw, client_user, |
authenticated = auth_rhosts_rsa(pw, client_user, |
client_host_key); |
client_host_key); |
|
|
if ((n = BN_new()) == NULL) |
if ((n = BN_new()) == NULL) |
fatal("do_authloop: BN_new failed"); |
fatal("do_authloop: BN_new failed"); |
packet_get_bignum(n, &nlen); |
packet_get_bignum(n, &nlen); |
packet_done(); |
packet_check_eom(); |
authenticated = auth_rsa(pw, n); |
authenticated = auth_rsa(pw, n); |
BN_clear_free(n); |
BN_clear_free(n); |
break; |
break; |
|
|
* not visible to an outside observer. |
* not visible to an outside observer. |
*/ |
*/ |
password = packet_get_string(&dlen); |
password = packet_get_string(&dlen); |
packet_done(); |
packet_check_eom(); |
|
|
/* Try authentication with the password. */ |
/* Try authentication with the password. */ |
authenticated = auth_password(authctxt, password); |
authenticated = auth_password(authctxt, password); |
|
|
if (options.challenge_response_authentication == 1) { |
if (options.challenge_response_authentication == 1) { |
char *response = packet_get_string(&dlen); |
char *response = packet_get_string(&dlen); |
debug("got response '%s'", response); |
debug("got response '%s'", response); |
packet_done(); |
packet_check_eom(); |
authenticated = verify_response(authctxt, response); |
authenticated = verify_response(authctxt, response); |
memset(response, 'r', dlen); |
memset(response, 'r', dlen); |
xfree(response); |
xfree(response); |
|
|
|
|
/* Get the user name. */ |
/* Get the user name. */ |
user = packet_get_string(&ulen); |
user = packet_get_string(&ulen); |
packet_done(); |
packet_check_eom(); |
|
|
if ((style = strchr(user, ':')) != NULL) |
if ((style = strchr(user, ':')) != NULL) |
*style++ = '\0'; |
*style++ = '\0'; |