diff options
-rw-r--r-- | lib/krb5_wrap/krb5_samba.c | 21 | ||||
-rw-r--r-- | lib/krb5_wrap/krb5_samba.h | 2 | ||||
-rw-r--r-- | source4/kdc/db-glue.c | 20 |
3 files changed, 23 insertions, 20 deletions
diff --git a/lib/krb5_wrap/krb5_samba.c b/lib/krb5_wrap/krb5_samba.c index 54cde89706..171908aecc 100644 --- a/lib/krb5_wrap/krb5_samba.c +++ b/lib/krb5_wrap/krb5_samba.c @@ -23,6 +23,7 @@ #include "includes.h" #include "krb5_samba.h" #include "lib/util/asn1.h" +#include "librpc/gen_ndr/netlogon.h" #ifndef KRB5_AUTHDATA_WIN2K_PAC #define KRB5_AUTHDATA_WIN2K_PAC 128 @@ -2346,6 +2347,26 @@ const krb5_enctype *samba_all_enctypes(void) return enctypes; }; +/* Translate between the IETF encryption type values and the Microsoft + * msDS-SupportedEncryptionTypes values */ +uint32_t kerberos_enctype_to_bitmap(krb5_enctype enc_type_enum) +{ + switch (enc_type_enum) { + case ENCTYPE_DES_CBC_CRC: + return ENC_CRC32; + case ENCTYPE_DES_CBC_MD5: + return ENC_RSA_MD5; + case ENCTYPE_ARCFOUR_HMAC_MD5: + return ENC_RC4_HMAC_MD5; + case ENCTYPE_AES128_CTS_HMAC_SHA1_96: + return ENC_HMAC_SHA1_96_AES128; + case ENCTYPE_AES256_CTS_HMAC_SHA1_96: + return ENC_HMAC_SHA1_96_AES256; + default: + return 0; + } +} + #else /* HAVE_KRB5 */ /* this saves a few linking headaches */ int cli_krb5_get_ticket(TALLOC_CTX *mem_ctx, diff --git a/lib/krb5_wrap/krb5_samba.h b/lib/krb5_wrap/krb5_samba.h index 42e19b5789..87990e1ae8 100644 --- a/lib/krb5_wrap/krb5_samba.h +++ b/lib/krb5_wrap/krb5_samba.h @@ -295,6 +295,8 @@ krb5_boolean smb_krb5_kt_compare(krb5_context context, const krb5_enctype *samba_all_enctypes(void); +uint32_t kerberos_enctype_to_bitmap(krb5_enctype enc_type_enum); + #endif /* HAVE_KRB5 */ int cli_krb5_get_ticket(TALLOC_CTX *mem_ctx, diff --git a/source4/kdc/db-glue.c b/source4/kdc/db-glue.c index 7bb2db2fb0..ab606e8e23 100644 --- a/source4/kdc/db-glue.c +++ b/source4/kdc/db-glue.c @@ -67,26 +67,6 @@ static const char *trust_attrs[] = { }; -/* Translate between the IETF encryption type values and the Microsoft - * msDS-SupportedEncryptionTypes values */ -static uint32_t kerberos_enctype_to_bitmap(krb5_enctype enc_type_enum) -{ - switch (enc_type_enum) { - case ENCTYPE_DES_CBC_CRC: - return ENC_CRC32; - case ENCTYPE_DES_CBC_MD5: - return ENC_RSA_MD5; - case ENCTYPE_ARCFOUR_HMAC_MD5: - return ENC_RC4_HMAC_MD5; - case ENCTYPE_AES128_CTS_HMAC_SHA1_96: - return ENC_HMAC_SHA1_96_AES128; - case ENCTYPE_AES256_CTS_HMAC_SHA1_96: - return ENC_HMAC_SHA1_96_AES256; - default: - return 0; - } -} - static KerberosTime ldb_msg_find_krb5time_ldap_time(struct ldb_message *msg, const char *attr, KerberosTime default_val) { const char *tmp; |