svn commit: lorikeet r459 - in trunk/heimdal/lib/krb5: .

lha at samba.org lha at samba.org
Thu Sep 8 10:51:15 GMT 2005


Author: lha
Date: 2005-09-08 10:51:14 +0000 (Thu, 08 Sep 2005)
New Revision: 459

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=lorikeet&rev=459

Log:
Minimize diff to Heimdal in krb5_rd_req.

Modified:
   trunk/heimdal/lib/krb5/rd_req.c


Changeset:
Modified: trunk/heimdal/lib/krb5/rd_req.c
===================================================================
--- trunk/heimdal/lib/krb5/rd_req.c	2005-09-07 22:11:10 UTC (rev 458)
+++ trunk/heimdal/lib/krb5/rd_req.c	2005-09-08 10:51:14 UTC (rev 459)
@@ -560,13 +560,15 @@
 			    krb5_keytab keytab,
 			    krb5_flags *ap_req_options,
 			    krb5_ticket **ticket, 
-			    krb5_keyblock **keyblock)
+			    krb5_keyblock **return_keyblock)
 {
     krb5_error_code ret;
     krb5_ap_req ap_req;
+    krb5_keyblock *keyblock = NULL;
     krb5_principal service = NULL;
-    krb5_keyblock *local_keyblock;
 
+    *return_keyblock = NULL;
+
     if (*auth_context == NULL) {
 	ret = krb5_auth_con_init(context, auth_context);
 	if (ret)
@@ -597,13 +599,13 @@
 				  &ap_req,
 				  server,
 				  keytab,
-				  &local_keyblock);
+				  &keyblock);
 	if(ret)
 	    goto out;
     } else {
 	ret = krb5_copy_keyblock(context,
 				 (*auth_context)->keyblock,
-				 &local_keyblock);
+				 &keyblock);
 	if (ret)
 	    goto out;
     }
@@ -612,21 +614,20 @@
 			     auth_context,
 			     &ap_req,
 			     server,
-			     local_keyblock,
+			     keyblock,
 			     0,
 			     ap_req_options,
 			     ticket);
-    if (ret) {
-        krb5_free_keyblock(context, local_keyblock);
-    } else {
-	*keyblock = local_keyblock;
-    }
 
+    if (ret == 0 && return_keyblock)
+	*return_keyblock = keyblock;
+    else
+        krb5_free_keyblock(context, keyblock);
+
 out:
     free_AP_REQ(&ap_req);
     if(service)
 	krb5_free_principal(context, service);
-	    
     return ret;
 }
 
@@ -639,19 +640,14 @@
 	    krb5_flags *ap_req_options,
 	    krb5_ticket **ticket)
 {
-    krb5_error_code ret;
-    krb5_keyblock *keyblock;
+    return krb5_rd_req_return_keyblock(context,
+				       auth_context,
+				       inbuf,
+				       server,
+				       keytab,
+				       ap_req_options,
+				       ticket,
+				       NULL);
 
-    ret = krb5_rd_req_return_keyblock(context,
-				      auth_context,
-				      inbuf,
-				      server,
-				      keytab,
-				      ap_req_options,
-				      ticket,
-				      &keyblock);
-
-    krb5_free_keyblock(context, keyblock);
-    return ret;
 }
 



More information about the samba-cvs mailing list