Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIT Interop - Heimdal Kerberos does not work with the MIT KEYRING type of credentials cache #166

Closed
quanah opened this issue Mar 29, 2016 · 22 comments

Comments

@quanah
Copy link
Collaborator

quanah commented Mar 29, 2016

Heimdal linked cyrus-sasl GSSAPI modules fail to work with many RHEL based MIT Kerberos systems due to the fact that RHEL defaults to using the KEYRING type credential cache (More at http://web.mit.edu/kerberos/krb5-1.12/doc/basic/ccache_def.html). This is a Linux specific method. The lack of ability to interoperate is of course rather frustrating to admins. It would be extremely useful for the next release of Heimdal to include support for KEYRING credential caches.

@nicowilliams
Copy link
Contributor

Sure, we should interop with the MIT KEYRING ccache type. Does anyone have patches for this?

@quanah
Copy link
Collaborator Author

quanah commented Jul 28, 2016

I don't. :/ I just recently encountered this when trying to get a client compiled against MIT Krb (ldapsearch) to work with a server compiled with Heimdal Krb (OpenLDAP's slapd linked to cyrus-sasl that was linked to heimdal).

@quanah
Copy link
Collaborator Author

quanah commented Nov 18, 2016

Note: breaks interop with default RHEL configs

@jaltman
Copy link
Member

jaltman commented Nov 18, 2016

@quanah sure. but someone needs to write the necessary code. If there is an organization that wants this functionality, they can provide code or money.

@quanah
Copy link
Collaborator Author

quanah commented Nov 18, 2016

Yeah, I was just mainly trying to update the title of the bug so that people could find it easily if they hit the issue, but that change seems to have gotten lost. :/

@quanah quanah changed the title Heimdal Kerberos does not work with the MIT KEYRING type of credentials cache RHEL Interop - Heimdal Kerberos does not work with the MIT KEYRING type of credentials cache Nov 18, 2016
@quanah
Copy link
Collaborator Author

quanah commented Nov 18, 2016

There, fixed that now. ;)

@prmarino1
Copy link

FYI
there may be a workaround for this with MIT Kerberos 1.13 or higher.
the is from the release for MIT Kerberos 1.13 released in October of 2014
"Add client support for the Kerberos Cache Manager protocol. If the host is running a Heimdal kcm daemon, caches served by the daemon can be accessed with the KCM: cache type."
while it does not solve the issue it is a viable work around.

@jaltman
Copy link
Member

jaltman commented Feb 7, 2017

FYI: Fedora is planning to implement a KCM server as part of sssd and then make KCM the default credential cache type
https://fedorahosted.org/sssd/wiki/DesignDocs/KCM
https://fedoraproject.org/wiki/Changes/KerberosKCMCache

@quanah quanah changed the title RHEL Interop - Heimdal Kerberos does not work with the MIT KEYRING type of credentials cache MIT Interop - Heimdal Kerberos does not work with the MIT KEYRING type of credentials cache Dec 13, 2017
@nicowilliams
Copy link
Contributor

I happen to be working on an extension to the FILE ccache that stores a large hash table in a ccconfig entry. The hash table is O(1) and lock-less for both, reading and writing. The thought occurs that when I'm done with this, we can use that for the KEYRING ccache type...

@quanah
Copy link
Collaborator Author

quanah commented Dec 15, 2017

@nicowilliams that's awesome!

@vdukhovni vdukhovni added this to the Heimdal 9 milestone Dec 14, 2018
@jaltman
Copy link
Member

jaltman commented Dec 14, 2018

@lhoward is implementing KEYRING ccache support for Heimdal work that would interest you?

@lhoward
Copy link
Member

lhoward commented Dec 17, 2018

Sure, is it something there is a demand for or has KCM/sssd subsumed this?

@nicowilliams
Copy link
Contributor

That's a question for the RedHat crowd. I'm asking on the #krbdev IRC room (on freenode).

@nicowilliams
Copy link
Contributor

I'm told that yes, the KEYRING ccache is widely in use.

@quanah
Copy link
Collaborator Author

quanah commented Dec 18, 2018

@nicowilliams As I noted back when I filed this issue, KEYRING is literally the default cache mechanism in RHEL7. Not sure about other linux distributions. So it's not a surprise to me it's widely in use. ;)

@lhoward
Copy link
Member

lhoward commented Dec 19, 2018

MIT keyring ccache code looks pretty hairy, it would take some time to reverse-engineer a spec from it. I suppose we want a new implementation right, rather than porting the MIT code?

@nicowilliams
Copy link
Contributor

Porting the MIT implementation is fine, IMO.

@lhoward
Copy link
Member

lhoward commented Dec 19, 2018

That would be the quickest. I can certainly clean it up a bit whilst doing so, of course. The only other MIT copyright I can is in kafs FWIW, though. And I know @jaltman does like diversity of implementation where possible (given he is paying for it, I'll wait for his advice, although porting the MIT implementation is certainly likely to be less work!).

@nicowilliams
Copy link
Contributor

@jaltman
Copy link
Member

jaltman commented Dec 19, 2018

I'm fine with pulling in the MIT implementation tweaked for Heimdal. Its a platform specific implementation of a credential cache without a well defined standard.

@lhoward
Copy link
Member

lhoward commented Dec 20, 2018

Integration progress:

% ../../kuser/heimtools list
Credentials cache: KEYRING:legacy::tkt
        Principal: lukeh@LUKKTONE.COM

  Issued                Expires               Principal
Dec 19 23:32:47 2018  Dec 20 23:32:45 2018  krbtgt/LUKKTONE.COM@LUKKTONE.COM

lhoward added a commit to PADL/heimdal that referenced this issue Dec 22, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 22, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 22, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 22, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 23, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 23, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 23, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 24, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 24, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 24, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 24, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 24, 2018
lhoward added a commit to PADL/heimdal that referenced this issue Dec 24, 2018
@lhoward
Copy link
Member

lhoward commented Dec 26, 2018

Integrated in fb81598

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants