All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Neil Brown <neilb@cse.unsw.edu.au>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>, nfs@lists.sourceforge.net
Subject: Re: [PATCH 3 of 6] svcrpc: move export table checks to a per-program pg_add_client method
Date: Tue, 28 Sep 2004 18:00:55 -0400	[thread overview]
Message-ID: <20040928220055.GI5554@fieldses.org> (raw)
In-Reply-To: <16723.40128.804230.618580@cse.unsw.edu.au>

On Fri, Sep 24, 2004 at 02:04:16PM +1000, Neil Brown wrote:
> On Thursday September 23, bfields@fieldses.org wrote:
> > On Wed, Sep 22, 2004 at 04:54:12PM +1000, Neil Brown wrote:
> > > Alternately, the code which causes a call-back to be meaningful
> > > (e.g. nlmclnt_lock in lockd (??)) could insert the relevant
> > > information into the auth cache in advance.
> > 
> > There's not really a reliable way to do that with the current code since
> > userspace can flush the auth_domain cache at whim.
> 
> 
> Hmm... yes. Thanks.
> 
> I'm thinking that you really need to either involve user-space in
> authenticating callbacks (issues like multi-homed servers mean that
> the kernel cannot cope by itself at all)

I can't find anything definitive on this in any rfc, but I don't believe
that clients are required to be able to deal with callbacks from a
different IP address (or that a server should allow such a thing to
happen).  Can anyone find evidence to the contrary?

> or not require RPC authentication at all (the way 2.4 works).

I believe the ip-address checking done by the nfsv4 callback service and
by lockd are correct.

Over rpcsec_gss, nfsv4 callbacks also have to be authenticated (by
checking that the principal making the callback is the server's).

> Does anyone have objections to the following patch, which presumes the 
> svcauth_unix_set_client patch from Bruce.  With it, locking starts
> working again.

This patch would suffice if we're content to postpone authentication
until the dispatch or procedure-specific code.  If we do that, then we
end up returning an NFS or NLM error instead of having the call rejected
at the rpc layer.

So, do we require the ability to e.g return an rpc auth error on
authentication failure?

If not, then the cleaner solution would be to do the same thing for
nfsd--don't do any upcalls at accept() time, and move that stuff into,
say, nfsd_dispatch(), instead.

If we *do* need to allow programs to reject rpc calls at the rpc layer,
then we need something like the program-specific hook I propose (with
some modifications to make it flavor-independent, so it works for gss as
well).

--b.


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

  parent reply	other threads:[~2004-09-28 22:01 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20040916230555.GA13415@fieldses.org>
2004-09-16 23:07 ` 6 svcauth_unix patches to make export table lookups optional J. Bruce Fields
2004-09-16 23:16   ` [PATCH 1 of 6] svcrpc: auth_null fixes J. Bruce Fields
2004-09-16 23:16     ` [PATCH 2 of 6] svcrpc: share code duplicated between auth_unix and auth_null J. Bruce Fields
2004-09-16 23:16       ` [PATCH 3 of 6] svcrpc: move export table checks to a per-program pg_add_client method J. Bruce Fields
2004-09-16 23:16         ` [PATCH 4 of 6] nfs4: use new pg_set_client method to simplify nfs4 callback authentication J. Bruce Fields
2004-09-16 23:16           ` [PATCH 5 of 6] lockd: don't try to match callback requests against export table J. Bruce Fields
2004-09-16 23:16             ` [PATCH 6 of 6] nfsd: remove pg_authenticate field J. Bruce Fields
2004-09-16 23:34             ` [PATCH 5 of 6] lockd: don't try to match callback requests against export table Trond Myklebust
2004-09-24  3:55               ` Neil Brown
2004-09-16 23:38         ` [PATCH 3 of 6] svcrpc: move export table checks to a per-program pg_add_client method Trond Myklebust
2004-09-17  1:11           ` J. Bruce Fields
2004-09-17  1:18         ` Trond Myklebust
2004-09-17  2:20           ` J. Bruce Fields
2004-09-22  6:54             ` Neil Brown
2004-09-22 10:10               ` Olaf Kirch
2004-09-23 21:46               ` J. Bruce Fields
2004-09-24  4:04                 ` Neil Brown
2004-09-24  7:42                   ` Olaf Kirch
2004-09-24 20:58                     ` J. Bruce Fields
2004-09-28 22:00                   ` J. Bruce Fields [this message]
2004-09-28 22:11                     ` Trond Myklebust
2004-09-28 22:37                       ` Trond Myklebust
2004-12-09 22:28 [PATCH 2 of 6] svcrpc: rename pg_authenticate J. Bruce Fields
2004-12-09 22:28 ` [PATCH 3 of 6] svcrpc: move export table checks to a per-program pg_add_client method J. Bruce Fields
  -- strict thread matches above, loose matches on Subject: below --
2005-01-18 18:06 [PATCH 2 of 6] svcrpc: rename pg_authenticate J. Bruce Fields
2005-01-18 18:06 ` [PATCH 3 of 6] svcrpc: move export table checks to a per-program pg_add_client method J. Bruce Fields

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040928220055.GI5554@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=neilb@cse.unsw.edu.au \
    --cc=nfs@lists.sourceforge.net \
    --cc=trond.myklebust@fys.uio.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.