[27787] in CVS-changelog-for-Kerberos-V5
krb5 commit: Properly handle use_master in k5_init_creds_get
daemon@ATHENA.MIT.EDU (Greg Hudson)
Fri May 31 11:05:44 2013
Date: Fri, 31 May 2013 11:05:38 -0400
From: Greg Hudson <ghudson@mit.edu>
Message-Id: <201305311505.r4VF5c0G029757@drugstore.mit.edu>
To: cvs-krb5@mit.edu
Reply-To: krbdev@mit.edu
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cvs-krb5-bounces@mit.edu
https://github.com/krb5/krb5/commit/a12a5ddb9b932061bad7b83df058c7c6e2e4b044
commit a12a5ddb9b932061bad7b83df058c7c6e2e4b044
Author: Greg Hudson <ghudson@mit.edu>
Date: Thu May 30 11:39:54 2013 -0400
Properly handle use_master in k5_init_creds_get
If we make multiple requests in an initial creds exchange, the
krb5_sendto_kdc call in k5_init_creds_get may flip the use_master
value from 0 to 1 if it detects that the response was from a master
KDC. Don't turn this into a requirement for future requests during
the same exchange, or we may have trouble following AS referrals.
Reported by Sumit Bose.
ticket: 7650
src/lib/krb5/krb/get_in_tkt.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/lib/krb5/krb/get_in_tkt.c b/src/lib/krb5/krb/get_in_tkt.c
index 20bc689..ff455d3 100644
--- a/src/lib/krb5/krb/get_in_tkt.c
+++ b/src/lib/krb5/krb/get_in_tkt.c
@@ -521,7 +521,7 @@ k5_init_creds_get(krb5_context context, krb5_init_creds_context ctx,
krb5_data reply;
krb5_data realm;
unsigned int flags = 0;
- int tcp_only = 0;
+ int tcp_only = 0, master = *use_master;
request.length = 0;
request.data = NULL;
@@ -545,8 +545,9 @@ k5_init_creds_get(krb5_context context, krb5_init_creds_context ctx,
krb5_free_data_contents(context, &reply);
+ master = *use_master;
code = krb5_sendto_kdc(context, &request, &realm,
- &reply, use_master, tcp_only);
+ &reply, &master, tcp_only);
if (code != 0)
break;
@@ -558,6 +559,7 @@ k5_init_creds_get(krb5_context context, krb5_init_creds_context ctx,
krb5_free_data_contents(context, &reply);
krb5_free_data_contents(context, &realm);
+ *use_master = master;
return code;
}
_______________________________________________
cvs-krb5 mailing list
cvs-krb5@mit.edu
https://mailman.mit.edu/mailman/listinfo/cvs-krb5