]> andersk Git - moira.git/blobdiff - lib/mr_auth.c
change kerberos name from "sms.sms" to "[MOIRA_SNAME].[hostname]" (i.e.
[moira.git] / lib / mr_auth.c
index 4d7c717cb662ca23cfba9c176d4ce403bf42d3de..df046e18ec7e7262f0532641ddc5699ec2c40996 100644 (file)
@@ -17,6 +17,7 @@ static char *rcsid_sms_auth_c = "$Header$";
 
 #include <mit-copyright.h>
 #include "sms_private.h"
+#include <ctype.h>
 #include <krb.h>
 #include <krb_et.h>
 
@@ -31,8 +32,7 @@ char *prog;
     sms_params params_st;
     char *args[2];
     int argl[2];
-    char realm[REALM_SZ];
-    char host[BUFSIZ];
+    char realm[REALM_SZ], host[BUFSIZ], *p;
 
     register sms_params *params = &params_st;
     sms_params *reply = NULL;
@@ -40,18 +40,19 @@ char *prog;
 
     CHECK_CONNECTED;
        
-    /*
-     * Build a Kerberos authenticator.
-     * The "service" and "instance" should not be hardcoded here.
-     */
+    /* Build a Kerberos authenticator. */
        
     bzero(host, sizeof(host));
     if (status = sms_host(host, sizeof(host) - 1))
        return status;
 
     strcpy(realm, krb_realmofhost(host));
+    for (p = host; *p && *p != '.'; p++)
+      if (isupper(*p))
+       *p = tolower(*p);
+    *p = 0;
 
-    status = krb_mk_req(&auth, "sms", "sms", realm, 0);
+    status = krb_mk_req(&auth, MOIRA_SNAME, host, realm, 0);
     if (status != KSUCCESS) {
        status += ERROR_TABLE_BASE_krb;
        return status;
This page took 0.108073 seconds and 4 git commands to generate.