]> andersk Git - moira.git/blobdiff - server/mr_sauth.c
Command line printer manipulation client, and build goo.
[moira.git] / server / mr_sauth.c
index 8e83101b8f1b1b46f5a9326eb9deffea0d41c1d3..2cc1a486f81c3baac54a3c624b04ea7b1ac6092b 100644 (file)
@@ -28,6 +28,7 @@ extern krb5_context context;
 static int set_client(client *cl, char *kname,
                      char *name, char *inst, char *realm);
 
+#ifdef HAVE_KRB4
 typedef struct _replay_cache {
   KTEXT_ST auth;
   time_t expires;
@@ -35,6 +36,7 @@ typedef struct _replay_cache {
 } replay_cache;
 
 replay_cache *rcache = NULL;
+#endif
 
 /*
  * Handle a MOIRA_AUTH RPC request.
@@ -46,6 +48,7 @@ replay_cache *rcache = NULL;
 
 void do_auth(client *cl)
 {
+#ifdef HAVE_KRB4
   KTEXT_ST auth;
   AUTH_DAT ad;
   int status;
@@ -123,11 +126,14 @@ void do_auth(client *cl)
     client_reply(cl, status);
   else
     client_reply(cl, MR_USER_AUTH);
+#else
+  client_reply(cl, MR_NO_KRB4);
+#endif
 }
 
 void do_proxy(client *cl)
 {
-  char name[ANAME_SZ], inst[INST_SZ], realm[REALM_SZ];
+  char name[ANAME_SZ] = "\0", inst[INST_SZ] = "\0", realm[REALM_SZ] = "\0";
   char kname[MAX_K_NAME_SZ];
 
   if (cl->proxy_id)
@@ -137,7 +143,7 @@ void do_proxy(client *cl)
       return;
     }
 
-  if (kname_parse(name, inst, realm, cl->req.mr_argv[0]) != KSUCCESS)
+  if (mr_kname_parse(name, inst, realm, cl->req.mr_argv[0]) != 0)
     {
       com_err(whoami, KE_KNAME_FMT, "while parsing proxy name %s",
              cl->req.mr_argv);
@@ -246,8 +252,6 @@ void do_krb5_auth(client *cl)
   strncpy(cl->entity, cl->req.mr_argv[1], sizeof(cl->entity) - 1);
   cl->entity[sizeof(cl->entity) - 1] = 0;
 
-  memset(&ticket, 0, sizeof(ticket));  /* Clean up session key, etc. */
-
   com_err(whoami, 0, "krb5 auth to %s using %s, uid %d cid %d",
          cl->clname, cl->entity, cl->users_id, cl->client_id);
 
This page took 0.02967 seconds and 4 git commands to generate.