* adm.h: Added principal flag keywords KRB5_ADM_KW_SETFLAGS and
authorChris Provenzano <proven@mit.edu>
Tue, 12 Dec 1995 06:09:05 +0000 (06:09 +0000)
committerChris Provenzano <proven@mit.edu>
Tue, 12 Dec 1995 06:09:05 +0000 (06:09 +0000)
KRB5_ADM_KW_UNSETFLAGS because relative flag modification
is just a good idea.
* kdb.h: typedef kdb5_dispatch_table so prototypes that need it
compile even if KDB5_DISPATCH isn't defined.
* kdb_dbc.h: The start of the database context, which should be
removed from the krb5_context.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7199 dc483132-0cff-0310-8789-dd5450dbe970

src/include/krb5/ChangeLog
src/include/krb5/adm.h
src/include/krb5/kdb.h
src/include/krb5/kdb_dbc.h [new file with mode: 0644]

index 7e62a3850af0292bba64d60b6ce1cf823fa490de..fcd82d764f3c9365beb61157cab52f896bfb3abe 100644 (file)
@@ -1,3 +1,14 @@
+
+Tue Dec 12 00:59:17 1995  Chris Provenzano (proven@mit.edu)
+
+       * adm.h: Added principal flag keywords KRB5_ADM_KW_SETFLAGS and
+               KRB5_ADM_KW_UNSETFLAGS because relative flag modification 
+               is just a good idea.
+       * kdb.h: typedef kdb5_dispatch_table so prototypes that need it
+               compile even if KDB5_DISPATCH isn't defined.
+       * kdb_dbc.h: The start of the database context, which should be
+               removed from the krb5_context.
+
 Sun Dec 10 11:02:35 1995  Ezra Peisach  <epeisach@kangaroo.mit.edu>
 
        * adm_proto.h: Add prototype for krb5_input_flag_to_string.
index b79ab4dd97cd239c044fda17f8c3a02d5a9535fe..85e0bea5b2f59dfc7ab3f86ce17d71d4c8a26152 100644 (file)
@@ -82,6 +82,8 @@
 #define        KRB5_ADM_KW_APASSWORD           "APASSWORD"
 #define        KRB5_ADM_KW_RANDOMKEY           "RANDOMKEY"
 #define        KRB5_ADM_KW_ARANDOMKEY          "ARANDOMKEY"
+#define        KRB5_ADM_KW_SETFLAGS            "SETFLAGS"
+#define        KRB5_ADM_KW_UNSETFLAGS          "UNSETFLAGS"
 /* Settable and retrievable */
 #define        KRB5_ADM_KW_MAXLIFE             "MAXLIFE"
 #define        KRB5_ADM_KW_MAXRENEWLIFE        "MAXRENEWLIFE"
index 30b874156583a6a0191be2105019924f621198f8..85c1e2abfd89f022f9f4f2b1feaf75adeaca232d 100644 (file)
@@ -422,6 +422,8 @@ typedef struct _kdb5_dispatch_table {
 
 krb5_error_code kdb5_db_set_dbops KRB5_PROTOTYPE((krb5_context,
                                                  kdb5_dispatch_table *));
+#else
+typedef        struct _kdb5_dispatch_table kdb5_dispatch_table;
 #endif /* KDB5_DISPATCH */
 #endif /* !defined(_MACINTOSH) && !defined(_MSDOS) */
 #endif /* KRB5_KDB5__ */
diff --git a/src/include/krb5/kdb_dbc.h b/src/include/krb5/kdb_dbc.h
new file mode 100644 (file)
index 0000000..4fcb6af
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * include/krb5/kdb_dbc.h
+ *
+ * Copyright 1995 by the Massachusetts Institute of Technology.
+ * All Rights Reserved.
+ *
+ * Export of this software from the United States of America may
+ *   require a specific license from the United States Government.
+ *   It is the responsibility of any person or organization contemplating
+ *   export to obtain such a license before exporting.
+ * 
+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ * distribute this software and its documentation for any purpose and
+ * without fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright notice and
+ * this permission notice appear in supporting documentation, and that
+ * the name of M.I.T. not be used in advertising or publicity pertaining
+ * to distribution of the software without specific, written prior
+ * permission.  M.I.T. makes no representations about the suitability of
+ * this software for any purpose.  It is provided "as is" without express
+ * or implied warranty.
+ * 
+ *
+ * KDC Database context definitions.
+ */
+
+
+#ifndef KRB5_KDB5_DBC__
+#define KRB5_KDB5_DBC__
+
+#if !defined(_MACINTOSH) && !defined(_MSDOS)
+
+#include "kdb.h"
+       
+/* Per-database context. */
+typedef struct __krb5_db_context {
+    krb5_boolean        db_inited;      /* Context initialized          */
+    char *              db_name;        /* Name of database             */
+    DBM *               db_dbm_ctx;     /* DBM context for database     */
+    char *              db_lf_name;     /* Name of lock file            */
+    int                 db_lf_file;     /* File descriptor of lock file */
+    time_t              db_lf_time;     /* Time last updated            */
+    int                 db_locks_held;  /* Number of times locked       */
+    int                 db_lock_mode;   /* Last lock mode, e.g. greatest*/
+    krb5_boolean        db_nb_locks;    /* [Non]Blocking lock modes     */
+    krb5_encrypt_block *db_master_key;  /* Master key of database       */
+    kdb5_dispatch_table *db_dispatch;   /* Dispatch table               */
+} krb5_db_context;
+
+krb5_error_code krb5_ktkdb_resolve
+        KRB5_PROTOTYPE((krb5_context, krb5_db_context *, krb5_keytab *));
+
+krb5_error_code krb5_dbm_db_set_mkey
+        KRB5_PROTOTYPE((krb5_context,krb5_db_context *,krb5_encrypt_block *));
+
+krb5_error_code krb5_dbm_db_get_mkey
+        KRB5_PROTOTYPE((krb5_context,krb5_db_context *,krb5_encrypt_block **));
+
+#endif /* !defined(_MACINTOSH) && !defined(_MSDOS) */
+#endif /* KRB5_KDB5_DBM__ */