heimdal: import heimdal's trunk svn rev 23697 + lorikeet-heimdal patches
[kai/samba.git] / source4 / heimdal / lib / krb5 / context.c
index 9f17b8c205ad2d7e5b4924996502804b2a8603e9..358ab20349d8e6e124610aa333c952b79c3094ab 100644 (file)
@@ -34,7 +34,7 @@
 #include "krb5_locl.h"
 #include <com_err.h>
 
-RCSID("$Id: context.c 23420 2008-07-26 18:37:48Z lha $");
+RCSID("$Id$");
 
 #define INIT_FIELD(C, T, E, D, F)                                      \
     (C)->E = krb5_config_get_ ## T ## _default ((C), NULL, (D),        \
@@ -192,6 +192,19 @@ init_context_from_config_file(krb5_context context)
     INIT_FLAG(context, flags, KRB5_CTX_F_CHECK_PAC, TRUE, "check_pac");
     context->default_cc_name = NULL;
     context->default_cc_name_set = 0;
+
+    ret = krb5_config_get_bool_default(context, NULL, FALSE, 
+                                      "libdefaults",
+                                      "allow_weak_crypto", NULL);
+    if (ret) {
+       krb5_enctype_enable(context, ETYPE_DES_CBC_CRC);
+       krb5_enctype_enable(context, ETYPE_DES_CBC_MD4);
+       krb5_enctype_enable(context, ETYPE_DES_CBC_MD5);
+       krb5_enctype_enable(context, ETYPE_DES_CBC_NONE);
+       krb5_enctype_enable(context, ETYPE_DES_CFB64_NONE);
+       krb5_enctype_enable(context, ETYPE_DES_PCBC_NONE);
+    }
+
     return 0;
 }