Ensure all calls to getaddrinfo are headed by a block_dns check.
If block_dns is set, call getaddrinfo with AI_NUMERICHOST set and AI_CANONNAME clear. Some paths may not have set AI_CANONNAME, but it's easier to audit this way when the getaddrinfo prelude is uniform across call sites, and the compiler can optimize it away.
This commit is contained in:
committed by
Nico Williams
parent
fa4c4430f6
commit
fd77c4000d
@@ -68,7 +68,8 @@ krb5_expand_hostname (krb5_context context,
|
||||
struct addrinfo *ai, *a, hints;
|
||||
int error;
|
||||
|
||||
if ((context->flags & KRB5_CTX_F_DNS_CANONICALIZE_HOSTNAME) == 0)
|
||||
if ((context->flags & KRB5_CTX_F_DNS_CANONICALIZE_HOSTNAME) == 0 ||
|
||||
krb5_config_get_bool(context, NULL, "libdefaults", "block_dns", NULL))
|
||||
return copy_hostname (context, orig_hostname, new_hostname);
|
||||
|
||||
memset (&hints, 0, sizeof(hints));
|
||||
|
||||
Reference in New Issue
Block a user