version 1.2, 2002/05/31 11:35:15 |
version 1.2.6.1, 2003/09/16 21:20:24 |
|
|
/* import */ |
/* import */ |
extern ServerOptions options; |
extern ServerOptions options; |
extern u_char *session_id2; |
extern u_char *session_id2; |
extern int session_id2_len; |
extern u_int session_id2_len; |
|
|
static int |
static int |
userauth_hostbased(Authctxt *authctxt) |
userauth_hostbased(Authctxt *authctxt) |
|
|
pktype = key_type_from_name(pkalg); |
pktype = key_type_from_name(pkalg); |
if (pktype == KEY_UNSPEC) { |
if (pktype == KEY_UNSPEC) { |
/* this is perfectly legal */ |
/* this is perfectly legal */ |
log("userauth_hostbased: unsupported " |
logit("userauth_hostbased: unsupported " |
"public key algorithm: %s", pkalg); |
"public key algorithm: %s", pkalg); |
goto done; |
goto done; |
} |
} |
|
|
HostStatus host_status; |
HostStatus host_status; |
int len; |
int len; |
|
|
resolvedname = get_canonical_hostname(options.verify_reverse_mapping); |
resolvedname = get_canonical_hostname(options.use_dns); |
ipaddr = get_remote_ipaddr(); |
ipaddr = get_remote_ipaddr(); |
|
|
debug2("userauth_hostbased: chost %s resolvedname %s ipaddr %s", |
debug2("userauth_hostbased: chost %s resolvedname %s ipaddr %s", |
|
|
chost[len - 1] = '\0'; |
chost[len - 1] = '\0'; |
} |
} |
if (strcasecmp(resolvedname, chost) != 0) |
if (strcasecmp(resolvedname, chost) != 0) |
log("userauth_hostbased mismatch: " |
logit("userauth_hostbased mismatch: " |
"client sends %s, but we resolve %s to %s", |
"client sends %s, but we resolve %s to %s", |
chost, ipaddr, resolvedname); |
chost, ipaddr, resolvedname); |
if (auth_rhosts2(pw, cuser, resolvedname, ipaddr) == 0) |
if (auth_rhosts2(pw, cuser, resolvedname, ipaddr) == 0) |