* kdb_kt.h: Move support for "kdb" keytab here
authorTom Yu <tlyu@mit.edu>
Fri, 25 Jul 1997 19:23:47 +0000 (19:23 +0000)
committerTom Yu <tlyu@mit.edu>
Fri, 25 Jul 1997 19:23:47 +0000 (19:23 +0000)
* kdb.h: Add support for modified kdb API; remove extra arguments
for db_set_mkey and db_get_mkey.  Remove all (hopefully) mentions
of any particular backend database implementation.  Add flags
argument for db_create, allowing caller to specify whether btree
or hash methods are to be used in the backend.

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

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

index d3c889ae71233a25001cd59c3c91d72e26a9b5ba..6e1673140dbb5c4fdefffe5894351c035c51e24a 100644 (file)
@@ -1,3 +1,13 @@
+Fri Jul 25 15:18:25 1997  Tom Yu  <tlyu@mit.edu>
+
+       * kdb_kt.h: Move support for "kdb" keytab here.
+
+       * kdb.h: Add support for modified kdb API; remove extra arguments
+       for db_set_mkey and db_get_mkey.  Remove all (hopefully) mentions
+       of any particular backend database implementation.  Add flags
+       argument for db_create, allowing caller to specify whether btree
+       or hash methods are to be used in the backend.
+
 Thu Nov 21 11:55:16 EST 1996    Richard Basch   <basch@lehman.com>
 
         * Makefile.in:
index 88b922c564ffc4d84f277adce9336284165245a6..fbeda8052c161866fea4976715498ca67f101633 100644 (file)
 #define KRB5_KDB_SUPPORT_DESMD5         0x00004000
 #define        KRB5_KDB_NEW_PRINC              0x00008000
 
+/* Creation flags */
+#define KRB5_KDB_CREATE_BTREE          0x00000001
+#define KRB5_KDB_CREATE_HASH           0x00000002
+
 #if !defined(_MACINTOSH) && !defined(_MSDOS) && !defined(_WIN32)
 
 /*
@@ -172,7 +176,8 @@ krb5_error_code krb5_db_get_age
                   time_t * ));
 krb5_error_code krb5_db_create
        KRB5_PROTOTYPE((krb5_context,
-                  char * ));
+                  char *,
+                  krb5_int32 ));
 krb5_error_code krb5_db_rename
        KRB5_PROTOTYPE((krb5_context,
                   char *,
@@ -217,6 +222,15 @@ krb5_error_code krb5_db_setup_mkey_name
                   const char *, 
                   char **, 
                   krb5_principal *));
+
+krb5_error_code krb5_db_set_mkey
+        KRB5_PROTOTYPE((krb5_context, krb5_encrypt_block *));
+
+krb5_error_code krb5_db_get_mkey
+        KRB5_PROTOTYPE((krb5_context, krb5_encrypt_block **));
+krb5_error_code krb5_db_destroy 
+       KRB5_PROTOTYPE((krb5_context,
+                  char * ));
 krb5_error_code krb5_db_lock
        KRB5_PROTOTYPE((krb5_context,
                   int ));
@@ -239,6 +253,11 @@ krb5_error_code    krb5_db_fetch_mkey
                   krb5_data *, 
                   krb5_keyblock * ));
 
+krb5_error_code krb5_db_open_database
+       KRB5_PROTOTYPE((krb5_context));
+krb5_error_code krb5_db_close_database
+       KRB5_PROTOTYPE((krb5_context));
+
 krb5_error_code krb5_dbekd_encrypt_key_data
        KRB5_PROTOTYPE((krb5_context,
                   krb5_encrypt_block *,
@@ -281,23 +300,23 @@ krb5_error_code krb5_dbe_lookup_mod_princ_data
                        krb5_db_entry *,
                        krb5_timestamp *,
                        krb5_principal *));
-int krb5_encode_princ_dbmkey
+int krb5_encode_princ_dbkey
        KRB5_PROTOTYPE((krb5_context,
-                  datum  *,
+                  krb5_data  *,
                   krb5_principal));
-void krb5_free_princ_dbmkey
+void krb5_free_princ_dbkey
        KRB5_PROTOTYPE((krb5_context,
-                  datum  *));
+                  krb5_data *));
 krb5_error_code krb5_encode_princ_contents
        KRB5_PROTOTYPE((krb5_context,
-                  datum  *,
+                  krb5_data  *,
                   krb5_db_entry *));
 void krb5_free_princ_contents
        KRB5_PROTOTYPE((krb5_context,
-                  datum  *));
+                  krb5_data  *));
 krb5_error_code krb5_decode_princ_contents
        KRB5_PROTOTYPE((krb5_context,
-                  datum  *,
+                  krb5_data  *,
                   krb5_db_entry *));
 void krb5_dbe_free_contents
        KRB5_PROTOTYPE((krb5_context,
@@ -399,6 +418,8 @@ typedef struct _krb5_db_entry {
 
 #endif /* OLD_AND_KRUFTY */
 
+/* This is now a structure that is private to the database backend. */
+#ifdef notdef
 #ifdef KDB5_DISPATCH
 /*
  * Database operation dispatch table.  This table determines the procedures
@@ -426,5 +447,6 @@ krb5_error_code kdb5_db_set_dbops KRB5_PROTOTYPE((krb5_context,
 #else
 typedef        struct _kdb5_dispatch_table kdb5_dispatch_table;
 #endif /* KDB5_DISPATCH */
+#endif /* notdef */
 #endif /* !defined(_MACINTOSH) && !defined(_MSDOS) &&!defined(_WIN32) */
 #endif /* KRB5_KDB5__ */
diff --git a/src/include/krb5/kdb_kt.h b/src/include/krb5/kdb_kt.h
new file mode 100644 (file)
index 0000000..08a269b
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * include/krb5/kdb_kt.h
+ *
+ * Copyright 1997 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 keytab definitions.
+ */
+
+
+#ifndef KRB5_KDB5_KT_H
+#define KRB5_KDB5_KT_H
+
+#if !defined(_MACINTOSH) && !defined(_MSDOS)
+
+#include "kdb.h"
+
+krb5_error_code krb5_ktkdb_resolve
+        KRB5_PROTOTYPE((krb5_context, krb5_keytab *));
+
+#endif /* !defined(_MACINTOSH) && !defined(_MSDOS) */
+#endif /* KRB5_KDB5_DBM__ */