[29050] in CVS-changelog-for-Kerberos-V5
krb5 commit: Fix KDC client referrals
daemon@ATHENA.MIT.EDU (Greg Hudson)
Mon Sep 14 19:43:51 2015
Date: Mon, 14 Sep 2015 19:43:47 -0400
From: Greg Hudson <ghudson@mit.edu>
Message-Id: <201509142343.t8ENhlAO013945@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/4e036ef4127a9b09d1a567472da1df24c55cdb89
commit 4e036ef4127a9b09d1a567472da1df24c55cdb89
Author: Greg Hudson <ghudson@mit.edu>
Date: Thu Sep 3 12:38:44 2015 -0400
Fix KDC client referrals
Although our built-in KDB modules do not support client referrals for
AS requests, the KDC is supposed to return one if a third-party module
returns a DB entry containing a principal in a foreign realm.
Unfortunately, this code has never worked; in prepare_error_as(), we
erroneously compare the protocol code errcode against the com_err code
KRB5KDC_ERR_WRONG_REALM; as a result, we never supply the canonical
client principal. Fix this by comparing errcode against the protocol
code KDC_ERR_WRONG_REALM instead.
Discovered by Alexander Bokovoy and Simo Sorce.
ticket: 8241 (new)
target_version: 1.13.3
tags: pullup
src/kdc/do_as_req.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/kdc/do_as_req.c b/src/kdc/do_as_req.c
index 3a3ce8b..5440949 100644
--- a/src/kdc/do_as_req.c
+++ b/src/kdc/do_as_req.c
@@ -862,7 +862,7 @@ prepare_error_as(struct kdc_request_state *rstate, krb5_kdc_req *request,
return retval;
errpkt.error = error;
errpkt.server = request->server;
- errpkt.client = (error == KRB5KDC_ERR_WRONG_REALM) ? canon_client :
+ errpkt.client = (error == KDC_ERR_WRONG_REALM) ? canon_client :
request->client;
errpkt.text = string2data((char *)status);
_______________________________________________
cvs-krb5 mailing list
cvs-krb5@mit.edu
https://mailman.mit.edu/mailman/listinfo/cvs-krb5