]> andersk Git - moira.git/commitdiff
do krb changes authenticated as [MOIRA_SNAME].[localhost] (i.e. "moira.sms")
authormar <mar>
Thu, 15 Feb 1990 15:56:40 +0000 (15:56 +0000)
committermar <mar>
Thu, 15 Feb 1990 15:56:40 +0000 (15:56 +0000)
reg_svr/reg_svr.c

index 0217c8a6379d0d0a7d0fc976b46d57df2ac5a1f5..1b2b75fff067d4ac0dd8856fcd6b1c6ac059f319 100644 (file)
@@ -422,7 +422,9 @@ int ureg_kadm_init()
 {
     unsigned int status = SUCCESS;      /* Return status */
     static char krbrealm[REALM_SZ];     /* kerberos realm name */
+    static char hostbuf[BUFSIZ], *host;         /* local hostname in principal fmt */
     static int inited = 0;
+    char *p;
 
 #ifdef DEBUG
     com_err(whoami, 0, "Entering ureg_kadm_init");
@@ -436,11 +438,18 @@ int ureg_kadm_init()
            com_err(whoami, status, " fetching kerberos realm");
            exit(1);
        }
+       if (gethostname(hostbuf, sizeof(hostbuf)) < 0)
+         com_err(whoami, errno, "getting local hostname");
+       host = canonicalize_hostname(strsave(hostbuf));
+       for (p = host; *p && *p != '.'; p++)
+         if (isupper(*p))
+           *p = tolower(*p);
+       *p = 0;
     }
 
     /* Get keys for interacting with Kerberos admin server. */
     /* principal, instance, realm, service, service instance, life, file */
-    if (status = krb_get_svc_in_tkt("register", "sms", krbrealm, PWSERV_NAME,
+    if (status = krb_get_svc_in_tkt(MOIRA_SNAME, host, krbrealm, PWSERV_NAME,
                                    KADM_SINST, 1, KEYFILE))
        status += krb_err_base;
     
This page took 0.055715 seconds and 5 git commands to generate.