linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Andrew W Elble <aweits@rit.edu>
Cc: linux-nfs@vger.kernel.org, dros@primarydata.com
Subject: Re: [PATCH v2 3/3] nfsd: implement machine credential support for some operations
Date: Fri, 22 Jan 2016 10:24:29 -0500	[thread overview]
Message-ID: <20160122152429.GA9082@fieldses.org> (raw)
In-Reply-To: <m2si1qmqhw.fsf@discipline.rit.edu>

On Thu, Jan 21, 2016 at 07:01:31PM -0500, Andrew W Elble wrote:
> 
> > Ugh.  So the client actually needs to allow random other ops in any
> > compound containing an spo_must_allow'd operation?  That doesn't seem
> > right to me.
> 
> Well, that's most certainly my fault. Seems like I should
> submit a patch to have the client ask for GETATTR if it's going to send
> it as a tag-along to DELEGRETURN. Is WRONGSEC really the correct way
> to enforce appropriate use of spo_must_allow here?
> 
> For instance, the client could ask for just DELEGRETURN:
> 
> PUTFH
> GETATTR
> DELEGRETURN
> 
> ...would be successful as long as the export was done with krb5i/krb5p.

I don't know what the right thing to do is here.

I wonder what the GETATTR's for?  I guess if any changes are flushed
before sending this compound then this is a good chance to get a
changeattr for a known state.  For that you need the GETATTR to be
sequenced before the DELEGRETURN, so that it happens before any other
clients start writing, and the only other way to do that is to send the
GETATTR separately and wait for the response.  Which would be annoying.

You could add GETATTR to must_allow.  But then the GETATTR could in
theory be denied.  I think that would only happen in the case of servers
that enforce ACE4_READ_ATTRIBUTES.  I seem to recall seeing such at
testing events, but maybe they're rare.  I guess you could handle that
rare case by resending the DELEGRETURN without the GETATTR.  Also kind
of annoying.

--b.

  reply	other threads:[~2016-01-22 15:24 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-18 20:08 [PATCH v2 0/3] Deal with lost delegations and EKEYEXPIRED Andrew Elble
2016-01-18 20:08 ` [PATCH v2 1/3] nfs/nfsd: Move useful bitfield ops to a commonly accessible place Andrew Elble
2016-01-18 20:08 ` [PATCH v2 2/3] nfsd: allow mach_creds_match to be used more broadly Andrew Elble
2016-01-18 20:08 ` [PATCH v2 3/3] nfsd: implement machine credential support for some operations Andrew Elble
2016-01-20 22:53   ` J. Bruce Fields
2016-01-21 16:07     ` J. Bruce Fields
2016-01-21 19:01   ` J. Bruce Fields
2016-01-21 19:30     ` Andrew W Elble
2016-01-21 19:50       ` J. Bruce Fields
2016-01-22  0:01         ` Andrew W Elble
2016-01-22 15:24           ` J. Bruce Fields [this message]
2016-01-22 16:06             ` Trond Myklebust
2016-01-22 15:40   ` J. Bruce Fields
2016-01-22 16:09     ` Andrew W Elble
2016-01-22 16:36       ` J. Bruce Fields
2016-01-20 22:34 ` [PATCH v2 0/3] Deal with lost delegations and EKEYEXPIRED J. Bruce Fields
  -- strict thread matches above, loose matches on Subject: below --
2016-01-05 18:55 Andrew Elble
2016-01-05 18:55 ` [PATCH v2 3/3] nfsd: implement machine credential support for some operations Andrew Elble

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=20160122152429.GA9082@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=aweits@rit.edu \
    --cc=dros@primarydata.com \
    --cc=linux-nfs@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).