svn commit: lorikeet r506 - in trunk/heimdal: lib/krb5 tests/db

abartlet at samba.org abartlet at samba.org
Tue Dec 13 15:35:23 GMT 2005


Author: abartlet
Date: 2005-12-13 15:35:22 +0000 (Tue, 13 Dec 2005)
New Revision: 506

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=lorikeet&rev=506

Log:
In lorikeet-heimdal, if the local hostname is not fully qualified, we
will not do DNS lookups to try and guess a realm.

This means we will look for the default realm of our hostname.  I added
code that uses our default realm from the config file as the fallback
here, but this now recurses in the absense of [libdefualts]
default_realm.

So, this patch avoids recursion in the case were we don't have a
default realm in the krb5.conf, and makes the tests pass again by
specifying one into the config file.

Andrew Bartlett

Modified:
   trunk/heimdal/lib/krb5/set_default_realm.c
   trunk/heimdal/tests/db/krb5.conf.in


Changeset:
Modified: trunk/heimdal/lib/krb5/set_default_realm.c
===================================================================
--- trunk/heimdal/lib/krb5/set_default_realm.c	2005-12-12 15:11:31 UTC (rev 505)
+++ trunk/heimdal/lib/krb5/set_default_realm.c	2005-12-13 15:35:22 UTC (rev 506)
@@ -77,8 +77,19 @@
 					  "libdefaults",
 					  "default_realm",
 					  NULL);
-	if (realms == NULL)
-	    ret = krb5_get_host_realm(context, NULL, &realms);
+	if (realms == NULL) {
+	    char hostname[MAXHOSTNAMELEN];
+	    if (gethostname (hostname, sizeof(hostname))) {
+	    	return errno;
+	    }
+
+	    if (strchr(hostname, '.') == NULL) {
+		/* There is no way we can get this mapping, as we can't do DNS */
+	    	return KRB5_CONFIG_NODEFREALM;
+	    }
+	    ret = krb5_get_host_realm(context, hostname,
+				      &realms);
+	}
     } else {
 	ret = string_to_list (context, realm, &realms);
     }

Modified: trunk/heimdal/tests/db/krb5.conf.in
===================================================================
--- trunk/heimdal/tests/db/krb5.conf.in	2005-12-12 15:11:31 UTC (rev 505)
+++ trunk/heimdal/tests/db/krb5.conf.in	2005-12-13 15:35:22 UTC (rev 506)
@@ -1,3 +1,5 @@
+[libdefaults]
+default_realm = EXAMPLE.ORG
 
 [realms]
 	EXAMPLE.ORG = {



More information about the samba-cvs mailing list