(check_addresses): treat netbios as no addresses

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@16949 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2006-04-02 01:54:38 +00:00
parent 2211af38b6
commit b6fdc26556

View File

@@ -808,6 +808,7 @@ check_addresses(krb5_context context,
krb5_error_code ret; krb5_error_code ret;
krb5_address addr; krb5_address addr;
krb5_boolean result; krb5_boolean result;
krb5_boolean only_netbios = TRUE;
int i; int i;
if(config->check_ticket_addresses == 0) if(config->check_ticket_addresses == 0)
@@ -816,6 +817,21 @@ check_addresses(krb5_context context,
if(addresses == NULL) if(addresses == NULL)
return config->allow_null_ticket_addresses; return config->allow_null_ticket_addresses;
for (i = 0; i < addresses->len; ++i) {
if (addresses->val[i].addr_type != KRB5_ADDRESS_NETBIOS) {
only_netbios = FALSE;
}
}
/* Windows sends it's netbios name, which I can only assume is
* used for the 'allowed workstations' check. This is painful,
* but we still want to check IP addresses if they happen to be
* present.
*/
if(only_netbios)
return config->allow_null_ticket_addresses;
ret = krb5_sockaddr2address (context, from, &addr); ret = krb5_sockaddr2address (context, from, &addr);
if(ret) if(ret)
return FALSE; return FALSE;