]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:kdc: Expose samba_kdc_message2entry_keys()
authorAndrew Bartlett <abartlet@samba.org>
Tue, 8 Mar 2022 09:49:31 +0000 (22:49 +1300)
committerStefan Metzmacher <metze@samba.org>
Thu, 24 Mar 2022 10:17:32 +0000 (10:17 +0000)
This allows the KDC to share the supplementalCredentials parsing code
with other parts of Samba that could use it.

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Thu Mar 24 10:17:32 UTC 2022 on sn-devel-184

source4/kdc/db-glue.c
source4/kdc/db-glue.h

index 16efb8d27fb0b74ecf8938797149ffda5eac1976..dbe9276350c6ed526be66b6046cbb5c51816d7d2 100644 (file)
        ((krb5_kvno)((((uint32_t)kvno) & 0xFFFF) | \
         ((((uint32_t)krbtgt) << 16) & 0xFFFF0000)))
 
-enum samba_kdc_ent_type
-{ SAMBA_KDC_ENT_TYPE_CLIENT, SAMBA_KDC_ENT_TYPE_SERVER,
-  SAMBA_KDC_ENT_TYPE_KRBTGT, SAMBA_KDC_ENT_TYPE_TRUST, SAMBA_KDC_ENT_TYPE_ANY };
-
 enum trust_direction {
        UNKNOWN = 0,
        INBOUND = LSA_TRUST_DIRECTION_INBOUND,
@@ -573,18 +569,18 @@ fail:
        return ret;
 }
 
-static krb5_error_code samba_kdc_message2entry_keys(krb5_context context,
-                                                   TALLOC_CTX *mem_ctx,
-                                                   const struct ldb_message *msg,
-                                                   bool is_krbtgt,
-                                                   bool is_rodc,
-                                                   uint32_t userAccountControl,
-                                                   enum samba_kdc_ent_type ent_type,
-                                                   unsigned flags,
-                                                   krb5_kvno requested_kvno,
-                                                   struct sdb_entry *entry,
-                                                   const uint32_t supported_enctypes_in,
-                                                   uint32_t *supported_enctypes_out)
+krb5_error_code samba_kdc_message2entry_keys(krb5_context context,
+                                            TALLOC_CTX *mem_ctx,
+                                            const struct ldb_message *msg,
+                                            bool is_krbtgt,
+                                            bool is_rodc,
+                                            uint32_t userAccountControl,
+                                            enum samba_kdc_ent_type ent_type,
+                                            unsigned flags,
+                                            krb5_kvno requested_kvno,
+                                            struct sdb_entry *entry,
+                                            const uint32_t supported_enctypes_in,
+                                            uint32_t *supported_enctypes_out)
 {
        krb5_error_code ret = 0;
        enum ndr_err_code ndr_err;
index 6779a87eadf189a8e6665a6cf6713aae9747560f..b8d936ba662bc6e7f3345daaa6aa2e04477d6d70 100644 (file)
 struct sdb_keys;
 struct sdb_entry;
 
+struct samba_kdc_base_context;
+struct samba_kdc_db_context;
+struct samba_kdc_entry;
+
+enum samba_kdc_ent_type {
+       SAMBA_KDC_ENT_TYPE_CLIENT,
+       SAMBA_KDC_ENT_TYPE_SERVER,
+       SAMBA_KDC_ENT_TYPE_KRBTGT,
+       SAMBA_KDC_ENT_TYPE_TRUST,
+       SAMBA_KDC_ENT_TYPE_ANY
+};
+
+/*
+ * This allows DSDB to parse Kerberos keys without duplicating this
+ * difficulty
+ */
+krb5_error_code samba_kdc_message2entry_keys(krb5_context context,
+                                            TALLOC_CTX *mem_ctx,
+                                            const struct ldb_message *msg,
+                                            bool is_krbtgt,
+                                            bool is_rodc,
+                                            uint32_t userAccountControl,
+                                            enum samba_kdc_ent_type ent_type,
+                                            unsigned flags,
+                                            krb5_kvno requested_kvno,
+                                            struct sdb_entry *entry,
+                                            const uint32_t supported_enctypes_in,
+                                            uint32_t *supported_enctypes_out);
 
 int samba_kdc_set_fixed_keys(krb5_context context,
                             const struct ldb_val *secretbuffer,