]> andersk Git - moira.git/blobdiff - server/mr_glue.c
use new com_err library; update Kerberos com_err usage
[moira.git] / server / mr_glue.c
index 67b1d2fe6653475f8332ab67114dd7c305725013..aa851d3163c05f49cc9f74ea2f419a9fabf65a50 100644 (file)
@@ -4,34 +4,20 @@
  *     $Header$
  *
  *     Copyright (C) 1987 by the Massachusetts Institute of Technology
+ *     For copying and distribution information, please see the file
+ *     <mit-copyright.h>.
  *
  *     Glue routines to allow the database stuff to be linked in to
  *     a program expecting a library level interface.
- * 
- *     $Log$
- *     Revision 1.5  1988-06-30 14:39:30  mar
- *     argument to sms_auth; trim args before returning them, fix trigger_dcm
- *
- * Revision 1.4  87/09/21  15:17:09  wesommer
- * Also need to initialize pseudo_client.clname.
- * 
- * Revision 1.3  87/08/22  17:31:56  wesommer
- * Fix a "fall-through".
- * 
- * Revision 1.2  87/07/29  16:03:58  wesommer
- * Initialize krb_realm.
- * 
- * Revision 1.1  87/07/14  00:41:18  wesommer
- * Initial revision
- * 
  */
 
 #ifndef lint
 static char *rcsid_sms_glue_c = "$Header$";
 #endif lint
 
+#include <mit-copyright.h>
 #include "sms_server.h"
-#include <krb.h>               /* XXX for error codes */
+#include <krb_et.h>
 #include <pwd.h>
 #include "query.h"
 
@@ -40,19 +26,23 @@ static int already_connected = 0;
 #define CHECK_CONNECTED { if (!already_connected) return SMS_NOT_CONNECTED; }
 
 static client pseudo_client;
-extern int krb_err_base, errno;
+extern int errno;
 extern char *malloc(), *whoami;
+extern time_t now;
 
-sms_connect()
+sms_connect(server)
+char *server;
 {
     register int status;
+    extern int query_timeout;
 
     if (already_connected) return SMS_ALREADY_CONNECTED;
 
-    init_sms_err_tbl();
-    init_krb_err_tbl();
+    initialize_sms_error_table();
+    initialize_krb_error_table();
     bzero((char *)&pseudo_client, sizeof(pseudo_client)); /* XXX */
 
+    query_timeout = 0;
     status =  sms_open_database();
     if (!status) already_connected = 1;
     return status;
@@ -83,7 +73,7 @@ char *prog;
     
     CHECK_CONNECTED;
     pw = getpwuid(getuid());
-    if (!pw) return (KDC_PR_UNKNOWN + krb_err_base); /* XXX hack (we 
+    if (!pw) return (KDC_PR_UNKNOWN + ERROR_TABLE_BASE_krb); /* XXX hack (we 
                                                    * need an extended 
                                                    * error code table)
                                                    */
@@ -98,6 +88,8 @@ char *prog;
     strcpy(pseudo_client.clname, buf);
     pseudo_client.users_id = get_users_id(pseudo_client.kname.name);
     pseudo_client.entity = strsave(prog);
+    pseudo_client.args = (sms_params *) malloc(sizeof(sms_params));
+    pseudo_client.args->sms_version_no = SMS_VERSION_2;
     return 0;
 }
 
@@ -127,6 +119,7 @@ int sms_query(name, argc, argv, callproc, callarg)
 {
     struct hint hints;
 
+    time(&now);
     hints.proc = callproc;
     hints.hint = callarg;
     return sms_process_query(&pseudo_client, name, argc, argv,
@@ -138,6 +131,7 @@ int sms_access(name, argc, argv)
     int argc;                  /* Arg count */
     char **argv;               /* Args */
 {
+    time(&now);
     return sms_check_access(&pseudo_client, name, argc, argv);
 }
 
@@ -149,6 +143,7 @@ int sms_query_internal(argc, argv, callproc, callarg)
 {
     struct hint hints;
 
+    time(&now);
     hints.proc = callproc;
     hints.hint = callarg;
     return sms_process_query(&pseudo_client, argv[0], argc-1, argv+1,
@@ -159,6 +154,7 @@ int sms_access_internal(argc, argv)
     int argc;
     char **argv;
 {
+    time(&now);
     return sms_check_access(&pseudo_client, argv[0], argc-1, argv+1);
 }
 
@@ -200,15 +196,3 @@ trigger_dcm(dummy0, dummy1, cl)
                return(SMS_SUCCESS);
        }
 }
-
-
-/*
- * Local Variables:
- * mode: c
- * c-indent-level: 4
- * c-continued-statement-offset: 4
- * c-brace-offset: -4
- * c-argdecl-indent: 4
- * c-label-offset: -4
- * End:
- */
This page took 0.039841 seconds and 4 git commands to generate.