Re: aname_to_locaname vs gssapi svc/host.domain.org@REALM

Jeffrey Hutzelman <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.heimdal.general
Message-ID <[email protected]>
On Tue, 2011-10-25 at 14:29 -0500, Harry Coin wrote:
> I'm starting to understand that the tension I create here is that some 
> think I'm suggesting what I'm doing is somehow normative or ought to 
> be. 

No, not at all.
But a significant source of tension is that you have

1) adopted certain conventions:
   a) making the name of the user a service runs as be the same as
      the service name used for accepting Kerberos authentication
   b) making the client principal name a user uses to authenticate to
      NFS be the same as the service principal name used by services
      running as that user to accept Kerberos authentication
   c) adopting a convention of using names like "foo/box.fqdn"
      for a client principal used by user foo on system box.

2) Accepted those conventions as constraints on your environment.

3) Asserted that these constraints are imposed by GSS-API or SASL
   or NFS or some other component of the system, when in fact they
   are constraints you have chosen to adopt, or been forced to adopt
   by other factors in your organization or environment, or some
   combination.

Nico's comments notwithstanding, all of the conventions listed in (1)
are reasonable things to adopt, but they are all of your own invention.
However, if you're going to adopt (1c), you do need to be very careful,
because sooner or later you're going to have a collision between some
existing user and some new service you haven't thought of.  That's fine
right up until you discover that some service simply _must_ have a
particular host-based principal name for interoperability, but you've
already used the corresponding username for something else and will have
a hard time changing.  Then, well, good luck.

It's also entirely reasonable to place whatever constraints you want on
solutions you come up with.  But, it is not reasonable to complain that
you _have_ to do things a certain way because Kerberos/SASL/GSS/whatever
"insists", when the constraint actually came from you.  And, you have to
expect that your proposals will get some pushback when you present them
this way.

If you'd said "we want to..." instead of "GSS-API forces us to...", your
suggestions and patches would likely have been much better received.


In the meantime, what Nico and, to a lesser extent, I have been trying
to do is twofold:

1) Disabuse you of the notion that some of the conventions you've
   adopted are somehow required by GSS-API or common in the rest of the
   world.  Some of those things are making your life harder than we
   think it needs to be, and often people's lives get a lot easier once
   they realize that something they thought was a requirement really is
   just a convention, or something they misinterpreted, or something
   that some one piece of software does strangely, like Sun's root/host
   thing.

   I would note that if you'd started with "we want to..." instead of
   "GSS-API forces us to...", there'd have been a lot less of this.  We
   might still have tried to convince you there's an easier way, but at
   least we wouldn't be arguing about whether you _have_ to do things
   some particular way.


2) Provide feedback on the patches you've submitted.  The features you
   have proposed aren't necessarily bad, but there are problems.  For
   example, your krb5_aname2lname enhancements work only under the
   assumption that a common and reasonable situation will not arise.

   If you're going to submit patches to a software project, you need to
   expect some feedback and that not everything will be accepted right
   away, or even at all.  I've submitted patches to projects where the
   maintainer responded, literally,  "no way in hell".  That was a
   well-formed patch, from someone the maintainer had heard of and who
   already had other code in the project.  And he was right -- I had
   made an assumption that could not be counted upon to be true in all
   of the wide variety of situations in which the code might run.

-- Jeff
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.