Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
SaslProtocol::Negotiate passes the user name directly to the sasl_engine for authentication; the SASL engines require that.
HDFS maps princpals to usernames by stripping off the realm and hostname. We should query the ccache for all available tickets, and find the one that best matches the passed-in username using the HDFS semantics. e.g. if the username is client1, and we have a ticket for client1/machine1.foo.com@FOO.COM, we should use that ticket.
If multiple tickets match, the one that most exactly matches the username (host, realm) should be used.