4331f4c7d4679762cd3d68ba6262745d9b122674
Drafts 0 through 10 of the Kerberos anonymity internet draft, https://tools.ietf.org/html/draft-ietf-krb-wg-anon, specified the TicketFlags.anonymous flag as bit 14 and the KDCOptions.anonymous flag as bit 14. These were changed to bit 16 by MIT after it was discovered that Microsoft used KDCOptions bit 14 for S4U2Proxy cname-in-addl-tkt. (Feb 2007) Heimdal added constrained delegation support prior to 1.0 but named the KDCOptions flag constrained_delegation instead of cname-in-addl-tkt as per MS-SFU. It also assigned bit 16 instead of bit 14. Perhaps this was done in the hope that the conflict with Microsoft would be resolved in favor of the IETF internet draft instead of the proprietary protocol extension.adf9121822("Add PA-ClientCanonicalized and friends.") introduced the KDCOptions.constrained_delegation flag as bit 16. (June 2007) In order to make Heimdal's constrained delegation work with Microsoft's implementation Heimdal began to set both KDCOptions bits 14 and 16 when requesting constrained delegation.d5bb7a7c56("(krb5_get_creds): if KRB5_GC_CONSTRAINED_DELEGATION is set, set both") set both the anonymous and constrained_delegation TicketFlags when issuing a S4U2Proxy request. (June 2010) MIT reassigned the KDCOption.anonymous and TicketFlags.anonymous flags to bit 16. draft-ietf-krb-anon-11 was published with this change. (July 2014) After the release of Heimdal 1.5.0 and prior to 1.5.1 it was noticed that Heimdal's anonymous TGT support did not interoperate with MIT.86554f5a7f("Use correct value for anonymous flags") swapped the bit assignments for request_anonymous and constrained_delegation but failed to remove the setting of KDCOptions bit 16 ("anonymous") when requesting constrained delegation. (May 2019) Prior to the 7.6 release many corrections to Heimdal's anonymity support were introduced to bring it into compliance with RFC8062. This included support for requesting anonymous tickets via the TGS service. Because not all KDC can satisfy anonymous requests the client must verify if the response was anonymized. This check wasn't added until after 7.6 was released.014e318d6b("krb5: check KDC supports anonymous if requested"). The combination of setting KDCOption.anonymous when requesting constrained delegation and the anonymized ticket validation broke S4U2Proxy requests to Windows KDCs. Windows KDCs ignore the KDCOption.anonymous flag when processing a TGS request with KDCOption.cname-in-addl-tkt set.ea7615ade3("Do not set anonymous flag in S4U2Proxy request") removed the behavior of setting the KDCOption.anonymous flag that should have been removed in July 2014. (June 2019) The Heimdal KDC includes fallback logic to handle Heimdal clients from 1.0 to 1.5.0, inclusive, that set the KDCOptions.anonymous flag as bit 14. Prior to the 7.7 release this logic only handled AS request but failed to handle the constrained delegation request case where both bits 14 and 16 were set in the TGS request.cdd0b70d37("kdc: don't misidentify constrained delegation requests as anonymous") added the TGS request validation to distinguish anonymous requests from constrained delegation requests. This change documents the history in the commit message and updates some in-tree comments. Change-Id: I625cd012e2e6c263c71948c6021cc2fad4d2e53a
Heimdal
Heimdal is a Kerberos 5 implementation.
For information how to install see here.
There are man pages for most of the commands.
Bug reports and bugs are appreciated. Use GitHub issues or send e-mail to heimdal-bugs@h5l.org.
For more information see the project homepage https://www.h5l.org/ or the mailing lists:
- heimdal-announce@sics.se low-volume announcement
- heimdal-discuss@sics.se high-volume discussion
Send e-mail to heimdal-announce-request@sics.se and heimdal-discuss-request@sics.se respectively to subscribe.
Build Status
Description
Languages
C
92.1%
Roff
2.8%
Shell
2.3%
Makefile
0.7%
M4
0.5%
Other
1.4%