From: mar Date: Thu, 15 Feb 1990 15:56:40 +0000 (+0000) Subject: do krb changes authenticated as [MOIRA_SNAME].[localhost] (i.e. "moira.sms") X-Git-Tag: release77~1013 X-Git-Url: http://andersk.mit.edu/gitweb/moira.git/commitdiff_plain/6b407d0f02e02c1e3915755e38049ab19e9cd00c do krb changes authenticated as [MOIRA_SNAME].[localhost] (i.e. "moira.sms") --- diff --git a/reg_svr/reg_svr.c b/reg_svr/reg_svr.c index 0217c8a6..1b2b75ff 100644 --- a/reg_svr/reg_svr.c +++ b/reg_svr/reg_svr.c @@ -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;