Make dejagnu tests work with non-FQDN hostname
authorGreg Hudson <ghudson@mit.edu>
Thu, 1 Sep 2011 22:02:32 +0000 (22:02 +0000)
committerGreg Hudson <ghudson@mit.edu>
Thu, 1 Sep 2011 22:02:32 +0000 (22:02 +0000)
By making an entry for $hostname in [domain_realm], we can relax the
requirement that the canonicalized local hostname must have a parent
domain.  This makes the test suite work more easily on Fedora.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25124 dc483132-0cff-0310-8789-dd5450dbe970

src/tests/dejagnu/config/default.exp
src/tests/resolve/resolve.c

index 3a997e58d3ab4e7e0424f99e891c450de97d33db..796ea3716f3b602dde73bee20ed623255655f327 100644 (file)
@@ -668,14 +668,13 @@ proc setup_runtime_env { } {
 }
 
 # get_hostname
-# This procedure will get the local hostname.  It sets the global
-# variables hostname (the full name) and domain (all but the first
-# part of the name).  Returns 1 on success, 0 on failure.
+# This procedure sets the global variale hostname to the local
+# hostname as seen by krb5_sname_to_principal.  Returns 1 on success,
+# 0 on failure.
 
 proc get_hostname { } {
     global RESOLVE
     global hostname
-    global domain
     global tmppwd
 
     if {[info exists hostname]} {
@@ -698,11 +697,8 @@ proc get_hostname { } {
     }
     close $file
     file delete $tmppwd/hostname
-    regexp "^\[^.\]*\\.(.*)$" $hostname foo domain
 
     set hostname [string tolower $hostname]
-    set domain [string tolower $domain]
-    verbose "hostname: $hostname; domain: $domain"
 
     return 1
 }
@@ -764,7 +760,6 @@ set ulog 0
 proc setup_kerberos_files { } {
     global REALMNAME
     global hostname
-    global domain
     global tmppwd
     global supported_enctypes
     global last_passname_conf
@@ -907,7 +902,6 @@ proc reset_kerberos_files { } {
 proc setup_krb5_conf { {type client} } {
     global tmppwd
     global hostname
-    global domain
     global REALMNAME
     global last_passname_conf
     global multipass_name
@@ -971,8 +965,7 @@ proc setup_krb5_conf { {type client} } {
        puts $conffile "        \}"
        puts $conffile ""
        puts $conffile "\[domain_realm\]"
-       puts $conffile "        .$domain = $REALMNAME"
-       puts $conffile "        $domain = $REALMNAME"
+       puts $conffile "        $hostname = $REALMNAME"
        puts $conffile ""
        puts $conffile "\[logging\]"
        puts $conffile "        admin_server = FILE:$tmppwd/kadmind5.log"
index 69f0e177de866222cd89e643470b9a86be7d8675..7339d21bd9ac6f6d37891f73e5394992573aaeae 100644 (file)
@@ -152,29 +152,6 @@ main(argc, argv)
     else
         printf("FQDN: %s\n", fqdn);
 
-    /*
-     * The host name must have at least one '.' in the name, and
-     * if there is only one '.', it must not be at the end of the
-     * string.  (i.e., "foo." is not a FQDN)
-     */
-    ptr = strchr(fqdn, '.');
-    if (ptr == NULL || ptr[1] == '\0') {
-        fprintf(stderr,
-                "\nResolve library did not return a "
-                "fully qualified domain name.\n\n"
-                "If you are using /etc/hosts before DNS, "
-                "e.g. \"files\" is listed first\n"
-                "for \"hosts:\" in nsswitch.conf, ensure that "
-                "you have listed the FQDN\n"
-                "as the first name for the local host.\n\n"
-                "If this does not correct the problem, "
-                "you may have to reconfigure the kerberos\n"
-                "distribution to select a "
-                "different set of libraries using \n"
-                "--with-netlib[=libs]\n");
-        exit(3);
-    }
-
     if (!quiet)
         printf("Resolve library appears to have passed the test\n");