}
# 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]} {
}
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
}
proc setup_kerberos_files { } {
global REALMNAME
global hostname
- global domain
global tmppwd
global supported_enctypes
global last_passname_conf
proc setup_krb5_conf { {type client} } {
global tmppwd
global hostname
- global domain
global REALMNAME
global last_passname_conf
global multipass_name
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"
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");