svn rev #23516: branches/anonymous/src/kdc/

hartmans@MIT.EDU hartmans at MIT.EDU
Wed Dec 23 16:11:12 EST 2009


http://src.mit.edu/fisheye/changelog/krb5/?cs=23516
Commit By: hartmans
Log Message:
Always supply a padata item to the return callback in a preauth plugin so that callback can determine what type of padata it is requested to return.  If there is no item in the request, synthesize an empty one.


Changed Files:
U   branches/anonymous/src/kdc/kdc_preauth.c
Modified: branches/anonymous/src/kdc/kdc_preauth.c
===================================================================
--- branches/anonymous/src/kdc/kdc_preauth.c	2009-12-23 21:11:09 UTC (rev 23515)
+++ branches/anonymous/src/kdc/kdc_preauth.c	2009-12-23 21:11:12 UTC (rev 23516)
@@ -1275,6 +1275,7 @@
     krb5_pa_data **             send_pa_list;
     krb5_pa_data **             send_pa;
     krb5_pa_data *              pa = 0;
+    krb5_pa_data null_item;
     krb5_preauth_systems *      ap;
     int *                       pa_order;
     int *                       pa_type;
@@ -1308,7 +1309,8 @@
         return retval;
     }
     key_modified = FALSE;
-
+    null_item.contents = NULL;
+    null_item.length = NULL;
     send_pa = send_pa_list;
     *send_pa = 0;
 
@@ -1330,7 +1332,8 @@
             continue;
         if (find_pa_context(ap, *padata_context, &pa_context))
             continue;
-        pa = 0;
+        pa = &null_item;
+        null_item.pa_type = ap->type;
         if (request->padata) {
             for (padata = request->padata; *padata; padata++) {
                 if ((*padata)->pa_type == ap->type) {
@@ -1900,7 +1903,7 @@
     krb5_sam_response           *sr = 0;
     krb5_predicted_sam_response *psr = 0;
 
-    if (in_padata == 0)
+    if (in_padata->contents == 0)
         return 0;
 
     /*




More information about the cvs-krb5 mailing list