]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Add krb5_db_register_keytab()
authorAndreas Schneider <asn@samba.org>
Wed, 7 Sep 2016 16:33:43 +0000 (18:33 +0200)
committerGreg Hudson <ghudson@mit.edu>
Thu, 8 Sep 2016 14:49:41 +0000 (10:49 -0400)
Add a public libkdb5 function to register the KDB keytab type.  This
functionality is needed for out-of-tree KDC servers such as the Samba
kpasswd service.

[ghudson@mit.edu: edited comments, whitespace, commit message]

ticket: 8494 (new)

src/include/kdb.h
src/lib/kdb/keytab.c
src/lib/kdb/libkdb5.exports

index c6dd15f46d86f58ef12889ce5229b44cfd09b9f5..e9d1a84ba1af8b1bd88fb869e12d70be76a00796 100644 (file)
@@ -837,6 +837,13 @@ krb5_dbe_free_strings(krb5_context, krb5_string_attr *, int count);
 void
 krb5_dbe_free_string(krb5_context, char *);
 
+/*
+ * Register the KDB keytab type, allowing "KDB:" to be used as a keytab name.
+ * For this type to work, the context used for keytab operations must have an
+ * associated database handle (via krb5_db_open()).
+ */
+krb5_error_code krb5_db_register_keytab(krb5_context context);
+
 #define KRB5_KDB_DEF_FLAGS      0
 
 #define KDB_MAX_DB_NAME                 128
index b85b67daac7f1e1239a179e4314e79b5f8c4bdfc..c6aa100daf287d24803c7cf593034f113a317110 100644 (file)
@@ -65,6 +65,12 @@ typedef struct krb5_ktkdb_data {
     char * name;
 } krb5_ktkdb_data;
 
+krb5_error_code
+krb5_db_register_keytab(krb5_context context)
+{
+    return krb5_kt_register(context, &krb5_kt_kdb_ops);
+}
+
 krb5_error_code
 krb5_ktkdb_resolve(context, name, id)
     krb5_context          context;
index f7b3061d4a8b9405ec3aaa925aac9dbbade42eac..5df596aa47d2ae7282bc6e85c448ae42b3cd0770 100644 (file)
@@ -87,6 +87,7 @@ krb5_db_delete_policy
 krb5_db_free_policy
 krb5_def_store_mkey_list
 krb5_db_promote
+krb5_db_register_keytab
 ulog_add_update
 ulog_init_header
 ulog_map