[AFS3-std] Re: Revised PTS authentication name mapping draft, call for review

Jeffrey Hutzelman jhutz@cmu.edu
Tue, 24 Aug 2010 15:33:12 -0400


--On Tuesday, August 24, 2010 02:10:34 PM -0400 Jeffrey Altman 
<jaltman@your-file-system.com> wrote:

> I support this change.  It is after all the PTS servers responsibility
> to understand whether two names refer to the same PTS ID.  If the PTS
> server wants to treat all existing Kerberos v4 names as automatically
> having synonyms that are Kerberos v5 and GSS-KRB5 name forms, that is an
> implementation detail.

The thing I want to avoid is having multiple, independently-managed 
representations of Kerberos V5 principal names (or those of any other 
underlying authentication mechanism), which would allow them to get out of 
sync.  Of course, it is possible to achieve this by requiring the ptserver 
to pick a canonical internal representation and map both forms onto it and 
back.  However, this will be confusing to users -- since in practice 
Kerberos V5 is the _only_ mechanism currently supported, we will forever be 
answering bug reports of the form "I deleted one alias and they all went 
away" when in fact there only ever was one alias which was reported in two 
forms, or else bug reports of the form "I tried to add alias X and alias Y 
appeared instead" or "I tried to add alias X and it said it already exists".

In addition, one of the goals I had in mind during previous discussions on 
this functionality was that the ptserver would _not_ need to understand the 
semantics of every (any) name type.  I don't want people to have to upgrade 
their ptserver to understand a new name type before they can deploy an 
experimental fileserver that supports that name type.  The only things that 
should need to understand the semantics of authentication names are the 
authentication mechanism itself and the tools used by administrators to 
manipulate aliases.  Server code outside the mechanism, including the 
ptserver, should not need to understand aliases.

As it stands, the onus to convert is on implementations of authentication 
mechanisms using GSS-krb5.  Would it make people happier if we were to 
eliminate the Kerberos V5 name type and require Kerberos V5 names to always 
be represented as GSS export tokens?  That would place the onus of 
conversion on things (rxkad, not mech-independent server code) that accept 
raw Kerberos V5 authentication.

-- Jeff