summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/os/def_realm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/krb5/os/def_realm.c')
-rw-r--r--src/lib/krb5/os/def_realm.c108
1 files changed, 48 insertions, 60 deletions
diff --git a/src/lib/krb5/os/def_realm.c b/src/lib/krb5/os/def_realm.c
index 327a63c8d9..d30a914cd7 100644
--- a/src/lib/krb5/os/def_realm.c
+++ b/src/lib/krb5/os/def_realm.c
@@ -32,7 +32,7 @@
#include "os-proto.h"
#include <stdio.h>
-#ifdef KRB5_DNS_LOOKUP
+#ifdef KRB5_DNS_LOOKUP
#ifdef WSHELPER
#include <wshelper.h>
#else /* WSHELPER */
@@ -75,7 +75,7 @@ krb5_get_default_realm(krb5_context context, char **lrealm)
krb5_error_code retval;
if (!context || (context->magic != KV5M_CONTEXT))
- return KV5M_CONTEXT;
+ return KV5M_CONTEXT;
if (!context->default_realm) {
/*
@@ -104,47 +104,47 @@ krb5_get_default_realm(krb5_context context, char **lrealm)
if (context->default_realm == 0) {
int use_dns = _krb5_use_dns_realm(context);
if ( use_dns ) {
- /*
- * Since this didn't appear in our config file, try looking
- * it up via DNS. Look for a TXT records of the form:
- *
- * _kerberos.<localhost>
- * _kerberos.<domainname>
- * _kerberos.<searchlist>
- *
- */
- char localhost[MAX_DNS_NAMELEN+1];
- char * p;
-
- krb5int_get_fq_local_hostname (localhost, sizeof(localhost));
-
- if ( localhost[0] ) {
- p = localhost;
- do {
- retval = krb5_try_realm_txt_rr("_kerberos", p,
- &context->default_realm);
- p = strchr(p,'.');
- if (p)
- p++;
- } while (retval && p && p[0]);
-
- if (retval)
- retval = krb5_try_realm_txt_rr("_kerberos", "",
- &context->default_realm);
- } else {
- retval = krb5_try_realm_txt_rr("_kerberos", "",
- &context->default_realm);
- }
- if (retval) {
- return(KRB5_CONFIG_NODEFREALM);
- }
+ /*
+ * Since this didn't appear in our config file, try looking
+ * it up via DNS. Look for a TXT records of the form:
+ *
+ * _kerberos.<localhost>
+ * _kerberos.<domainname>
+ * _kerberos.<searchlist>
+ *
+ */
+ char localhost[MAX_DNS_NAMELEN+1];
+ char * p;
+
+ krb5int_get_fq_local_hostname (localhost, sizeof(localhost));
+
+ if ( localhost[0] ) {
+ p = localhost;
+ do {
+ retval = krb5_try_realm_txt_rr("_kerberos", p,
+ &context->default_realm);
+ p = strchr(p,'.');
+ if (p)
+ p++;
+ } while (retval && p && p[0]);
+
+ if (retval)
+ retval = krb5_try_realm_txt_rr("_kerberos", "",
+ &context->default_realm);
+ } else {
+ retval = krb5_try_realm_txt_rr("_kerberos", "",
+ &context->default_realm);
+ }
+ if (retval) {
+ return(KRB5_CONFIG_NODEFREALM);
+ }
}
}
#endif /* KRB5_DNS_LOOKUP */
}
if (context->default_realm == 0)
- return(KRB5_CONFIG_NODEFREALM);
+ return(KRB5_CONFIG_NODEFREALM);
if (context->default_realm[0] == 0) {
free (context->default_realm);
context->default_realm = 0;
@@ -162,11 +162,11 @@ krb5_error_code KRB5_CALLCONV
krb5_set_default_realm(krb5_context context, const char *lrealm)
{
if (!context || (context->magic != KV5M_CONTEXT))
- return KV5M_CONTEXT;
+ return KV5M_CONTEXT;
if (context->default_realm) {
- free(context->default_realm);
- context->default_realm = 0;
+ free(context->default_realm);
+ context->default_realm = 0;
}
/* Allow the user to clear the default realm setting by passing in
@@ -176,7 +176,7 @@ krb5_set_default_realm(krb5_context context, const char *lrealm)
context->default_realm = strdup(lrealm);
if (!context->default_realm)
- return ENOMEM;
+ return ENOMEM;
return(0);
@@ -185,8 +185,9 @@ krb5_set_default_realm(krb5_context context, const char *lrealm)
void KRB5_CALLCONV
krb5_free_default_realm(krb5_context context, char *lrealm)
{
- free (lrealm);
+ free (lrealm);
}
+
krb5_error_code
krb5int_get_domain_realm_mapping(krb5_context context, const char *host, char ***realmsp)
{
@@ -195,9 +196,6 @@ krb5int_get_domain_realm_mapping(krb5_context context, const char *host, char **
krb5_error_code retval;
char temp_host[MAX_DNS_NAMELEN+1];
-#ifdef DEBUG_REFERRALS
- printf("krb5int_get_domain_realm_mapping(host:%s) called\n",host);
-#endif
/* do sanity check and lower-case */
retval = krb5int_clean_hostname(context, host, temp_host, sizeof temp_host);
if (retval)
@@ -212,15 +210,12 @@ krb5int_get_domain_realm_mapping(krb5_context context, const char *host, char **
realm = (char *)NULL;
temp_realm = 0;
while (cp ) {
-#ifdef DEBUG_REFERRALS
- printf(" trying to look up %s in the domain_realm map\n",cp);
-#endif
- retval = profile_get_string(context->profile, "domain_realm", cp,
+ retval = profile_get_string(context->profile, "domain_realm", cp,
0, (char *)NULL, &temp_realm);
if (retval)
return retval;
if (temp_realm != (char *)NULL)
- break; /* Match found */
+ break; /* Match found */
/* Setup for another test */
if (*cp == '.') {
@@ -229,20 +224,15 @@ krb5int_get_domain_realm_mapping(krb5_context context, const char *host, char **
cp = strchr(cp, '.');
}
}
-#ifdef DEBUG_REFERRALS
- printf(" done searching the domain_realm map\n");
-#endif
- if (temp_realm!=(char*)NULL) {
-#ifdef DEBUG_REFERRALS
- printf(" temp_realm is %s\n",temp_realm);
-#endif
+ if (temp_realm != (char*)NULL) {
realm = strdup(temp_realm);
profile_release_string(temp_realm);
if (!realm) {
return ENOMEM;
}
}
- if (!(retrealms = (char **)calloc(2, sizeof(*retrealms)))) {
+ retrealms = (char **)calloc(2, sizeof(*retrealms));
+ if (!retrealms) {
if (realm != (char *)NULL)
free(realm);
return ENOMEM;
@@ -252,8 +242,6 @@ krb5int_get_domain_realm_mapping(krb5_context context, const char *host, char **
retrealms[1] = 0;
*realmsp = retrealms;
-
return 0;
}
-