Re: [PATCH 0/4] Add support for new RPCSEC_GSS upcall mechanism for nfsd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 13, 2012 at 11:43:02AM -0400, J. Bruce Fields wrote:
> On Thu, Jul 12, 2012 at 06:10:58PM -0400, J. Bruce Fields wrote:
> > On Wed, Jul 11, 2012 at 05:49:09PM +0000, Myklebust, Trond wrote:
> > > On Wed, 2012-07-11 at 13:27 -0400, J. Bruce Fields wrote:
> > > > So, if the issue is: you want to be able to choose, in individual
> > > > containers, which mechanism to use: whatever, we can probably make that
> > > > work.
> > > 
> > > Please do then.
> > > 
> > > > If you're instead saying: it's not acceptable to use the gssproxy
> > > > mechanism to authenticate v4.0 callbacks, the client must only ever use
> > > > the existing mechanism: then I'd rather drop this entirely.  I don't
> > > > want to merge an rpc server authentication upcall that's not acceptable
> > > > for one of the rpc servers.
> > > 
> > > If it goes in, I want it to be optional so that it doesn't break working
> > > setups. I also want upgrades/downgrades to be as painless as possible. 
> > > 
> > > See for instance the idmapper changes in 3.5 which are totally
> > > transparent to the user: if the admin sets up /etc/request-key.conf to
> > > use the new id_resolver, then that works, otherwise we just fall back to
> > > using the old rpc.idmapd method. There are no module parameters etc
> > > involved.
> > 
> > There's a module parameter here, but it's meant to be set by gssproxy to
> > indicate it's listening for the new upcall.  In theory that should make
> > the transition transparent.
> > 
> > However, if we need to make the choice per-namespace then we need to
> > find some other mechanism (assuming there's no way to make module
> > parameters per-namespace.)
> 
> So, perhaps something like: if the cache "channel" file for the
> namespace associated with the current request isn't opened, then try the
> new upcall.

Looking at that a little longer: the channel file could be temporarily
without any opens.  (For example, svcgssd could be restarted--not
normal, but it's always been possible before.)  We probably could
temporarily switch to the new upcall and then back without losing
anything, but it all sounds complicated.

The module parameter won't work any more, and obviously module init
isn't the right time to set everything up.

So my current thought is to give gssproxy some other way it can signal
its presence using a write to a special file.  (Maybe a new file under
nfsd/, or maybe a write of a special value to one of the existing cache
files.)

However, one hangup: figuring out how to switch on gssproxy
per-container isn't very interesting until gssproxy can actually work
per-container.  I'd *really* like to get the unix socket stuff worked
out first.

--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux