lib/krb5_wrap: Bring list of all enc types into krb5_wrap
authorAndrew Bartlett <abartlet@samba.org>
Mon, 27 Aug 2012 05:51:52 +0000 (15:51 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 27 Aug 2012 21:57:28 +0000 (07:57 +1000)
lib/krb5_wrap/krb5_samba.c
lib/krb5_wrap/krb5_samba.h
source4/libnet/libnet_export_keytab.c

index 2d237ffa1242094b657f227ddaae798a24389032..54cde89706ca294fd4482d68f7f265ba282e85cc 100644 (file)
@@ -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,
index 9db43b7535db845d9aa38260335d871e38f90003..42e19b57899fd108d073503d43d153a7c15e1e82 100644 (file)
@@ -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,
index b30bf12faa79becf70d58af6af233995cfd71a67..9763726e2b613ab9ac00aae57bf19006f99b0d08 100644 (file)
@@ -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);