* Copyright (C) 1987 by the Massachusetts Institute of Technology
*
* $Log$
- * Revision 1.4 1987-06-21 16:42:07 wesommer
- * Performance work, rearrangement of include files.
+ * Revision 1.7 1987-07-29 16:03:30 wesommer
+ * Added last_time_used field to client structure.
*
+ * Revision 1.6 87/07/14 00:36:40 wesommer
+ * Added debugging options.
+ *
+ * Revision 1.5 87/06/30 20:05:14 wesommer
+ * Added parsed kerberos principal name.
+ *
+ * Revision 1.4 87/06/21 16:42:07 wesommer
+ * Performance work, rearrangement of include files.
+ *
* Revision 1.3 87/06/03 16:07:59 wesommer
* Fixes for lint.
*
#include <sys/socket.h>
#include <netinet/in.h>
#include "sms_proto.h"
+#include <krb.h>
typedef struct returned_tuples {
struct returned_tuples *next;
OPERATION op;
+ sms_params *retval;
} returned_tuples;
+/*
+ * This should be in the kerberos header file.
+ */
+
+struct krbname {
+ char name[ANAME_SZ];
+ char inst[INST_SZ];
+ char realm[REALM_SZ];
+};
+
+/*
+ * This structure holds all per-client information; one of these is
+ * allocated for each active client.
+ */
+
typedef struct _client {
- OPERATION pending_op;
- CONNECTION con;
- int state;
- int action;
+ OPERATION pending_op; /* Primary pending operation */
+ CONNECTION con; /* Connection to the client */
+ int state; /* XXX this is really superfluous and should */
+ /* be removed */
+ int action; /* what action is pending? */
sms_params *args, reply;
int id; /* Unique id of client */
- struct sockaddr_in haddr;
- char *clname;
+ struct sockaddr_in haddr; /* IP address of client */
+ char *clname; /* Name client authenticated to */
+ struct krbname kname; /* Parsed version of the above */
returned_tuples *first, *last;
+ time_t last_time_used; /* Last time connection used */
} client;
/*
#define CL_RECEIVE 1
#define CL_SEND 2
+extern char *krb_realm;
+
+/*
+ * Debugging options.
+ */
+
+extern int log_flags;
+
+#define LOG_CONNECT 0x0001
+#define LOG_REQUESTS 0x0002
+#define LOG_ARGS 0x0004
+#define LOG_RESP 0x0008
+#define LOG_RES 0x0010
+