[16537] in Kerberos-V5-bugs
[krbdev.mit.edu #8782] [Comment] gss_accept_sec_context()
daemon@ATHENA.MIT.EDU (Greg Hudson via RT)
Fri May 8 18:36:13 2020
From: "Greg Hudson via RT" <rt-comment@krbdev.mit.edu>
In-Reply-To:
Message-ID: <rt-4.4.4-105898-1588969012-507.8782-8-0@mit.edu>
To: "AdminCc of krbdev.mit.edu Ticket #8782":;
Date: Fri, 08 May 2020 16:16:53 -0400
MIME-Version: 1.0
Reply-To: rt-comment@krbdev.mit.edu
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: krb5-bugs-bounces@mit.edu
https://krbdev.mit.edu/rt/Ticket/Display.html?id=8782
This is a comment. It is not sent to the Requestor(s):
Ticket 8901 removes one of the complications for extending the
accept_sec_context contract to apply to src_name. A second complication is
gss_inquire_context(), which is an alternate way to retrieve src_name from an
acceptor context. If gss_accept_sec_context() returned an unwrapped src_name
and gss_inquire_context() returned a wrapped src_name (it currently always
wraps), that would be an unfortunate inconsistency.
Heimdal has a more comprehensive approach to this issue: a mech can declare via
flags that it uses mechglue creds or mechglue names for all purposes. SPNEGO
does both; as a consequence, gss_set_neg_mechs() has to be implemented at the
mechglue layer rather than the SPNEGO layer. There are some interesting and
arguably beneficial side-effects: (1) a non-SPNEGO cred can be used as a SPNEGO
claimant or acceptor cred handle, and (2) SPNEGO does not have to implement
pass-through credential or name methods. However, the mechglue code to
implement these flags is not trivial, and there is a lot of potential for
memory errors if it is done incorrectly.
_______________________________________________
krb5-bugs mailing list
krb5-bugs@mit.edu
https://mailman.mit.edu/mailman/listinfo/krb5-bugs