#define KRB5_CONF_DNS_FALLBACK "dns_fallback"
#define KRB5_CONF_DNS_LOOKUP_KDC "dns_lookup_kdc"
#define KRB5_CONF_DNS_LOOKUP_REALM "dns_lookup_realm"
+#define KRB5_CONF_DNS_URI_LOOKUP "dns_uri_lookup"
#define KRB5_CONF_DOMAIN_REALM "domain_realm"
#define KRB5_CONF_ENABLE_ONLY "enable_only"
#define KRB5_CONF_ERR_FMT "err_fmt"
#else
#define DEFAULT_LOOKUP_REALM 0
#endif
+#define DEFAULT_URI_LOOKUP TRUE
static int
maybe_use_dns (krb5_context context, const char *name, int defalt)
return use_dns;
}
+static krb5_boolean
+use_dns_uri(krb5_context ctx)
+{
+ krb5_error_code ret;
+ krb5_boolean use;
+
+ ret = profile_get_boolean(ctx->profile, KRB5_CONF_LIBDEFAULTS,
+ KRB5_CONF_DNS_URI_LOOKUP, NULL,
+ DEFAULT_URI_LOOKUP, &use);
+ return ret ? DEFAULT_URI_LOOKUP : use;
+}
+
int
_krb5_use_dns_kdc(krb5_context context)
{
int def_port;
krb5_boolean find_master = FALSE;
- if (!_krb5_use_dns_kdc(context))
+ if (!_krb5_use_dns_kdc(context) || !use_dns_uri(context))
return 0;
switch (svc) {