]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
On the iakerb branch, use krb5_auth_con_set_checksum_func for DES/DES3
authorGreg Hudson <ghudson@mit.edu>
Mon, 26 Apr 2010 18:55:10 +0000 (18:55 +0000)
committerGreg Hudson <ghudson@mit.edu>
Mon, 26 Apr 2010 18:55:10 +0000 (18:55 +0000)
enctypes as well as the modern ones.  It works fine and it makes the
subkey available for the IAKERB checksum.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/iakerb@23943 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/gssapi/krb5/init_sec_context.c

index 89e3c61b592056636a0df2db5785375d169e6843..484eedfd7b195f12bbe85bbdd7c58b9c80a383d9 100644 (file)
@@ -414,7 +414,6 @@ make_ap_req_v1(context, ctx, cred, k_cred, ad_context,
     struct gss_checksum_data cksum_struct;
     krb5_checksum md5;
     krb5_data ap_req;
-    krb5_data *checksum_data = NULL;
     unsigned char *ptr;
     unsigned char *t;
     unsigned int tlen;
@@ -434,22 +433,8 @@ make_ap_req_v1(context, ctx, cred, k_cred, ad_context,
     cksum_struct.cred = cred;
     cksum_struct.checksum_data.data = NULL;
     cksum_struct.exts = exts;
-    switch (k_cred->keyblock.enctype) {
-    case ENCTYPE_DES_CBC_CRC:
-    case ENCTYPE_DES_CBC_MD4:
-    case ENCTYPE_DES_CBC_MD5:
-    case ENCTYPE_DES3_CBC_SHA1:
-        code = make_gss_checksum(context, ctx->auth_context, &cksum_struct,
-                                 &checksum_data);
-        if (code)
-            goto cleanup;
-        break;
-    default:
-        krb5_auth_con_set_checksum_func(context, ctx->auth_context,
-                                        make_gss_checksum, &cksum_struct);
-        break;
-    }
-
+    krb5_auth_con_set_checksum_func(context, ctx->auth_context,
+                                    make_gss_checksum, &cksum_struct);
 
     /* call mk_req.  subkey and ap_req need to be used or destroyed */
 
@@ -460,7 +445,7 @@ make_ap_req_v1(context, ctx, cred, k_cred, ad_context,
 
     krb5_auth_con_set_authdata_context(context, ctx->auth_context, ad_context);
     code = krb5_mk_req_extended(context, &ctx->auth_context, mk_req_flags,
-                                checksum_data, k_cred, &ap_req);
+                                NULL, k_cred, &ap_req);
     krb5_auth_con_set_authdata_context(context, ctx->auth_context, NULL);
     krb5_free_data_contents(context, &cksum_struct.checksum_data);
     if (code)
@@ -506,8 +491,6 @@ make_ap_req_v1(context, ctx, cred, k_cred, ad_context,
     code = 0;
 
 cleanup:
-    if (checksum_data && checksum_data->data)
-        krb5_free_data_contents(context, checksum_data);
     if (ap_req.data)
         krb5_free_data_contents(context, &ap_req);