From 0f7aa3db52ac10177993e8f05569c7d378d66440 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 27 Aug 2012 15:51:52 +1000 Subject: lib/krb5_wrap: Bring list of all enc types into krb5_wrap --- lib/krb5_wrap/krb5_samba.c | 14 ++++++++++++++ lib/krb5_wrap/krb5_samba.h | 2 ++ source4/libnet/libnet_export_keytab.c | 11 +---------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lib/krb5_wrap/krb5_samba.c b/lib/krb5_wrap/krb5_samba.c index 2d237ffa12..54cde89706 100644 --- a/lib/krb5_wrap/krb5_samba.c +++ b/lib/krb5_wrap/krb5_samba.c @@ -2332,6 +2332,20 @@ char *smb_get_krb5_error_message(krb5_context context, return ret; } +const krb5_enctype *samba_all_enctypes(void) +{ + /* TODO: Find a way not to have to use a fixed list */ + static const krb5_enctype enctypes[] = { + KRB5_ENCTYPE_DES_CBC_CRC, + KRB5_ENCTYPE_DES_CBC_MD5, + KRB5_ENCTYPE_AES128_CTS_HMAC_SHA1_96, + KRB5_ENCTYPE_AES256_CTS_HMAC_SHA1_96, + KRB5_ENCTYPE_ARCFOUR_HMAC_MD5, + 0 + }; + return enctypes; +}; + #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 9db43b7535..42e19b5789 100644 --- a/lib/krb5_wrap/krb5_samba.h +++ b/lib/krb5_wrap/krb5_samba.h @@ -293,6 +293,8 @@ krb5_boolean smb_krb5_kt_compare(krb5_context context, krb5_enctype enctype); #endif +const krb5_enctype *samba_all_enctypes(void); + #endif /* HAVE_KRB5 */ int cli_krb5_get_ticket(TALLOC_CTX *mem_ctx, diff --git a/source4/libnet/libnet_export_keytab.c b/source4/libnet/libnet_export_keytab.c index b30bf12faa..9763726e2b 100644 --- a/source4/libnet/libnet_export_keytab.c +++ b/source4/libnet/libnet_export_keytab.c @@ -63,16 +63,7 @@ NTSTATUS libnet_export_keytab(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, s } if (r->in.principal) { - /* TODO: Find a way not to have to use a fixed list */ - krb5_enctype enctypes[] = { - KRB5_ENCTYPE_DES_CBC_CRC, - KRB5_ENCTYPE_DES_CBC_MD5, - KRB5_ENCTYPE_AES128_CTS_HMAC_SHA1_96, - KRB5_ENCTYPE_AES256_CTS_HMAC_SHA1_96, - KRB5_ENCTYPE_ARCFOUR_HMAC_MD5, - 0 - }; - ret = kt_copy_one_principal(smb_krb5_context->krb5_context, from_keytab, r->in.keytab_name, r->in.principal, 0, enctypes); + ret = kt_copy_one_principal(smb_krb5_context->krb5_context, from_keytab, r->in.keytab_name, r->in.principal, 0, samba_all_enctypes); } else { unlink(r->in.keytab_name); ret = kt_copy(smb_krb5_context->krb5_context, from_keytab, r->in.keytab_name); -- cgit