Re: [nfsv4] Fwd: New Version Notification for draft-dnoveck-nfsv4-security-04.txt

Rick Macklem <rmacklem@uoguelph.ca> Sun, 09 January 2022 23:15 UTC

Return-Path: <rmacklem@uoguelph.ca>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D168C3A13C2; Sun, 9 Jan 2022 15:15:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=uoguelph.ca
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Riwbg8szyTiB; Sun, 9 Jan 2022 15:15:40 -0800 (PST)
Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-to1can01on060f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5d::60f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 19B6E3A13C1; Sun, 9 Jan 2022 15:15:39 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kPXPBO32JdY03bt/ai8ia6wsGnYCYitLHr/LM2koecQyt7lU0sUcuTP1uSS/HbtPbN8iwPy1bIvNHTDj95WqrOyxBP2ab23dIi0hH5/FD5VOLpz1f6vd+SabUpp243M/w31ABBFLaQW3pX3MqbJfSAaxm5J1NtM3ZhwNFMecwgFbAAx4uDte+oaeMqroLB3nKdB8EJWsavB6qDU2GktbIEmg9x0588LK+i4VNiPbRQddNRv4Y18i6rGyXYzBzmQqoZeIkmkUw/+YTF90nj98mO+WIkAbuWUFB7rEa9/END6sCbnWUttPLCPIANlVYe9LYoddntRby3EljJV6fPd0/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GSnhhUiyIdwLSYPGvZcIARJlMfVyu7u0sQI6LhPkDEY=; b=ItJINu0zWXpSb6DQKavRv81LWteZ6/VSpaX21mxSNyEmb/qeZh1TiDUQx6OSp7XnXQD4Gsr3Dy7v0t66WzT8P7cE2vkLfHoAO1a0VLbkwK6NzUBjenbbmVl/Q9BntBSUQYtKYCDuDlFQgUWfS/aT7NLuv7i9c9QEKSh3i+LXgJtZFabywE5GPWBE0tyen9RB018vlJk0P5ggP2QmdZWfmKiTLUoyxQITczyzk3UkW/E4PolilRjFTe0QMl4LuR6/Jtmv/K8+Z3oXP31hzXpRZthVL5Jadf0J5/iV+y4if2hFlurMco3Iacz3agavGpIggX9kZp0Y58xlNUs5scjT1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GSnhhUiyIdwLSYPGvZcIARJlMfVyu7u0sQI6LhPkDEY=; b=nVYAhTJPu05Hp91CkNBuBTl9V1EN9X6bBYUYO/8atvaZZUq1q3IRZhBE9m5piaKIOg32cRiMKcGuxltAHWGmKVRPj55J1t6sPwm7HANCNyvuxA1ok30VnWTPV8uxqu/BZkCz+wao11A9HtGs4EB4pyrit+b2QZoDZjE4H3qzTyQ2M8hOB9jg7hpllTZivexbHzP/7YYjFWklD/6sTBGpIGYvJ0dOg5XAmGTZTxRVitRfUvk10IUAoCfId71ccFlI6PayKrtMg8+WHvUhQ8zeFkVjYObB/aAzzlUan5VyTu+Z2TU74XLHjnq+rKdGmtb2NFffNu1LCEGwhi9PP2+nPQ==
Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:19::29) by YQBPR0101MB6650.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:42::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Sun, 9 Jan 2022 23:15:35 +0000
Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM ([fe80::c9d2:bf41:eeca:90aa]) by YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM ([fe80::c9d2:bf41:eeca:90aa%4]) with mapi id 15.20.4867.011; Sun, 9 Jan 2022 23:15:34 +0000
From: Rick Macklem <rmacklem@uoguelph.ca>
To: David Noveck <davenoveck@gmail.com>
CC: NFSv4 <nfsv4@ietf.org>, nfsv4-chairs <nfsv4-chairs@ietf.org>, "nfsv4-ads@ietf.org" <nfsv4-ads@ietf.org>
Thread-Topic: [nfsv4] Fwd: New Version Notification for draft-dnoveck-nfsv4-security-04.txt
Thread-Index: AQHX+M0Zr/DOM25hTke40cIHszU7L6xJvgjZgA5u7QCAAywyyw==
Date: Sun, 09 Jan 2022 23:15:34 +0000
Message-ID: <YQXPR0101MB09686A72FA4279392797EA36DD4F9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
References: <164035267965.25968.10921853654415505678@ietfa.amsl.com> <CADaq8jcXitpCCA+y3u6dYxGM95rfX6UtuZTm27g=Ht6=8x3+Qw@mail.gmail.com> <YQXPR0101MB0968955CCDDFC660EE9180D1DD449@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> <CADaq8jeitOwexgH2tq5azmCj9937SBw6e18+qrAYAFC==LhsRA@mail.gmail.com>
In-Reply-To: <CADaq8jeitOwexgH2tq5azmCj9937SBw6e18+qrAYAFC==LhsRA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: 3adbc095-bce3-71f9-f894-ec19fbec5d42
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=uoguelph.ca;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 7f963257-f998-4fcb-0450-08d9d3c5f0aa
x-ms-traffictypediagnostic: YQBPR0101MB6650:EE_
x-microsoft-antispam-prvs: <YQBPR0101MB665037A1DD2C14F876E051A2DD4F9@YQBPR0101MB6650.CANPRD01.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:7219;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: ceUVcBA3IeKNR85oI/I9K1+1DED64f99E281AlHRIzEc5ydLLwwlj0D5vedsXien4nIrdF/VoOMOTwDXLon4Pcf7nyqOv7aZA/PcSyeJEAFkwHqEfona3uNUwKqC8++y6Mh7YxUb9xNpXWGoGX1OjqOcRuPdPw9uynjMZPYYvOjNkTi6ZiiNGzwSopk3EN4tsZ7TRTWv6qRlyOBg+kH2WdLuIy4XSsG4brsvo0j/kjrx+wmaFxnCi/2wTKfZE8r1+eiSVSbVwShFwXaplt3egl6uzEeRddu2GRDtpMPZtLkyl2VU1oMlvjsGDo5XrKRY0kA5YnUbOD9y4Gn29EFPoBqzC6NNLAU2iLE1P4wBbxellVbD9plNOb4HP0rnxkO++MRaRFlIsFTU0WUwGuoqWc35usWxfvkjiCKnHiIeu1D7NipgEDfbHvuNlk2ikwEa5p32LGItdsVarzC4rvMYKoYC+cWccNApq86hWyEJHJQnnoONwAA9k898geRfTNGy10QhPHJHYdAWfSY7F8ycaWhcKoCgNHiTLDVzavsce+YnMWwxfXuwuUo8lzw57JYv59CBuSgrovgkXCPfPhj6A3JSrpp6NapQunZKFRvxsT3QI7x83TAr1S9i41JGkUcYOOkGx0rVcvT4/KaphUuWNE62RReuoXXw9zG88wQJZyXnkWCQq4j1CYCQvj8jY7RESoRqMQRjV04k4ek4U6hhU4EmBu4kzGpR86JmGK89mv1Q1HWgmklODr4pm48quht7qCkliIkQdW1gFfeavAnfU/wgnZy0znpkwYuYOn9wxg4xVft8WumyGXQ0IhCCZQal
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(4326008)(9686003)(38070700005)(30864003)(186003)(8936002)(66556008)(6506007)(53546011)(86362001)(55016003)(91956017)(33656002)(966005)(786003)(54906003)(6916009)(4001150100001)(316002)(83380400001)(508600001)(45080400002)(8676002)(2906002)(66946007)(66476007)(64756008)(71200400001)(52536014)(66446008)(38100700002)(122000001)(7696005)(15650500001)(76116006)(5660300002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: Wk9KrTtgrBXRQWHqo29Fsi34odQNPqLOu1x+++SKsjznafO2vdUK1m3lloKI98nRJJSZb/+XWhSwrNhKX/SDNbofB5BoJ6EXcBzk3d0ShGLNDu36oO6NKY7sOqlxJl5ZQbm91yIO0EnNU8neuqAHwj6iq7IdHJ+untxCoXGwreLkXfar8ZrDtG5wXraLfLHVTbT8rrFcWjXJXgpnnYu9d/gxF03XGNp0HGXLdDvuJ8oicJI2/ePPIVjROhzFkMqV0IayEsh3+ubvAJ3lJ2sZP47oY0j/LnuHXQzMS3RaF5AU26zYyhdWRFlc/FYTLWlwSftgdb6kb7o6DwQovxKfEMszAX0rl0oDI1gjQsxBYh8SHNd3lISRxkmSYJp+AXoOG9m9YARR8bb8wctDELllQSJI5CrH2rK2Yb8igZf+2WvC3tpydcDQ+kjRNsBGYkOoIrDxVYw+N/oe9MqE2AZlJ5zwDURsFUddnMuSllFl/M5gqNf873z+fGq9vIWQa5g+gS/eB138B11pvObh1Z13BgUEmuvOfWO5rkXvh6r7Eaf5Ufu/wQ0nYvtp1SWIRds1nV3Ve8Hm3BK3IzW0z6vCEsJLnPnzcvYpLRNO56yFq1U2Z+ayRFbzj2Dze3oc/+u4823hxBRSd3NRv1p1Xi4gUdriXbSAvFjflfLs4cJjo/RmGaiNofRb1aleCPrleohbOwRkOavXoiWIXr3TviJphYWSd7aGVHYNCJ0JXlva++fRJ+AktuQsVtY/FgvZYguQ9gI7IRp5cX9mRcjGiKpJ6yZ8oDcFkUgZYQ9PjzEfJigHWNKw6l8wunGpdHV88UbMVeeTDvKz/Qe/m39xHK8BTQ8ijDl57+7MYAW6i6N3vDfG5j14C3s7auw4ap7iyktKKSLUStsIyBuARX7515MUlOCOLRmj/Uad7vk8EgvL6ysjFkUHXi73fkrqTsS2OqxNaedqO87i/WcTFH+k+N9sACp4TXsb/Il/WJV1G171kMUBIVqmeqW7fSCefmVorYW0ut9kwXPYs6CUj1hWH+s7ueJgXrgwfO6v9FOVSyyuEADL3NmQD9r+bRoE3rczb0s2SQEuOPwVmYtw4yOzR6t9U/4RBnGQ2ZqsJR0HZV2ErmKPOyOxPUssd92spR25fGHM2iZOtLjlmLRZ9MJyvSYt89SKbnKMXVylQjDH3V/YgDaLftzFou4V1/0vADohiDgEgZREFCpgTFSFPhWE6jvlCYh0uXbTwc4tbGX1hQnPQK5vUclE7sUipLik84tKLVLFghhcX2I9LJxjg/hPOltg2NoA7wwVgLZAcDkQah+CTeO8Y0V4wQu+RCtP6vL4A7ndJaNxQ6Sv1ArB994gxxHPeVU1uJBlWZG5P21hGKV9Cj5Q/Xlh02fP6ZRUm02dB3aXBZMsdLoqPDHpX0Fs0wZSm80xPoV8gzGDm+KQRCRLmhYjojAJYSxUsQauE0yVtZliKuXIEkviWkqMnc6PR8KcGFxmuFohkWpPHCbd6ckrdg5+OEZbrAAABVeAB6v92AXawqEJlzNIQ13mIne5RquWlv+YHp9jMtiv8ce5iC+l3RQtz14Hua1rY5IxaF5ZU19uOLkJ3pY3VgCOuA5hs8aC+rHKTYZW4azYuyr1fU0gowuFNYkPiRtRR1Z1pHG5jtFBhS4XJeJ/FhcGW80sNyFv6Q==
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: uoguelph.ca
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f963257-f998-4fcb-0450-08d9d3c5f0aa
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jan 2022 23:15:34.8078 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Dml77F8rfXN4Vi08AiN8/cUvWLRsmIAUoImtjpwqjCY6yy3sz45yKc8eaL3dqVt8qeOd8VQ360uAXdGn0iyfzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQBPR0101MB6650
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/fJdNb4X-K2hp5GLyVBwe9xMR2_A>
Subject: Re: [nfsv4] Fwd: New Version Notification for draft-dnoveck-nfsv4-security-04.txt
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 09 Jan 2022 23:15:46 -0000

From: David Noveck wrote:
> Rick Macklem wrote:
> Here are specific comments related to ACE4_APPEND_DATA:
>
> From the draft:
> The action of modifying a file's data, but only starting at
>         EOF.  This allows for the specification of append-only files,
>         by allowing ACE4_APPEND_DATA and denying ACE4_WRITE_DATA to the
>         same user or group.
>
>         [Consensus Needed (Item #8a)]: As there is no way for the
>         server to decide, in processing an OPEN or ACCESS request,
>
> since ACCESS has a separate extend permission bit, it doesn't make sense to mentione ACCESS
> in this paragraph.   Will fix it in -05.
I think you need to be careful. Append and Extend are not the same thing. Append is specifically
a Write with "offset == size (or file)".
I believe Extend refers to any case where file size is increased?

> >         whether subsequent WRITEs will extend the file or not, the
> >         server will treat masks containing only WRITE_DATA, only
> >         APPEND_DATA or both, identically.
> >
> > I believe it would be preferable to say "...the server will ignore
> > APPEND_DATA and will only enforce WRITE_DATA".
>
> I don't think that will work.   As the spec indicates above, the purpose of making
> these separate mask bits is to allow append-only files.  As a result, if the
> client open such a file (acl allows WRITE_DATA and not APPEND_DATA), he has to
> be able to open it.  Then, the server that supports that (provisions need to be
> made for servers that don't), will check at WRITE time whether the WRITE extends the file.
Yes, agreed, unfortunately. I say "unfortunately" since any old Write that happens to have
an offset == size falls into the "append" category.

> > Why?
> > Well, my understanding is that APPEND_DATA does not apply to
> > any old Write that happens to start at EOF, but specifically "append-only"
> >
> The spec says the contrary.  since there are no NFSv4 append-only operations
> it would not make sense to revise it in line with your understanding.
>
> > file operations. (A POSIX write done on a file opened with the O_APPEND
> > flag would be one example.)
> Since "append-only" file operations do not exist in NFSv4 (as you noted).
>
> true but the server is still able to distinguish writes that extend the file from those that don't.
Be careful with that "extend" word.
> > then ignoring APPEND_DATA seems more correct that assuming it to be
> > equivalent to WRITE_DATA.
>
> It doesn't make sense to define this mask bit and then ignore it all the time.
>   When are you supposing it will be looked at?
By *stupid* Windows only. (Sorry, I couldn't resist;-)

> > For example, assume a file with APPEND_DATA allowed, but WRITE_DATA not
> > allowed that is of size == 0. If APPEND_DATA is sufficient to allow an Open with
> > OPEN_SHARE_ACCESS_WRITE, then a client could do the following:
> > - Open the file with OPEN_SHARE_ACCESS_WRITE
> >  - Write data to the file sequentially (the most common write usage).
> > --> Not what APPEND_DATA allowed but WRITE_DATA not allowed means,
> >       from my understanding.
>
> The spec  says that this is allowed.
Yea, I guess you are correct.

> >  *  Servers that do not distinguish between WRITE_DATA and APPEND_DATA
> >      need to make it clear to clients that support for append-only
> >      files is not present.  To do that, requests to set NFSv4 ACLs
> >      where the handling for these two masks are different for any
> >      specified user or group are to be rejected with
> >      NFS4ERR_ATTRNOTSUPP.
> >
> >First, given that there is no OPEN_SHARE_ACCESS_APPEND, this applies to
> > all NFSv4 servers.
>
> No.   It only applies to servers, and they will be common, that do not distinguish WRITE_DATA
> and APPEND_DATA.   Some if the confusion here resUlts from the fact that,
> like our old friend owner-override semantics., this is a case in which the handling
> at OPEN time is different from that at IO time.
>
> > Second, although I can understand that this would "make it clear to clients",
> > there are issues with doing this for systems like FreeBSD, where NFSv4 ACLs
> > are used locally as well as for the NFSv4 server.
> > For example, on FreeBSD:
> > - A setfacl(1) can set any combination of APPEND_DATA, WRITE_DATA or both
> >   APPEND_DATA and WRITE_DATA for allow/deny when done locally on UFS or ZFS
> >   file systems.
> > - A getfacl(1) will show them separately.
> > If FreeBSD were to enforce the above in the NFSv4 server, the getfacl(1) on a FreeBSD
> > NFSv4 client would show any combination as above, but the setfacl(1) would fail
> > for the case where only one of APPEND_DATA/WRITE_DATA is being set.
> > Users would find this a weird, irritating inconsistency. (As such, it won't be the case
> > for FreeBSD NFSv4 servers.)
> >
> > I'd prefer that setting any combination be allowed, but that enforcement of APPEND_DATA
> > not be done for the NFSv4 server and that APPEND_DATA be handled like other non-enforcible
> > bits, such as SYNCHRONIZE.
>
> I see your point but note that there is a significant difference between SYNCHRONIZE which
> is unenforceable since there is no operation to exercise it and APPEND_DATA
> since there is since people extend files all the time.
There's that "extend" word again. (If Append was defined as allowing files to be extended it
would make a lot more sense, but that does not appear to be the case, from the Microsoft
definition I found and the definition in RFC8881.)

There is an inconsistency in the RFC8881 definition, in that it mentions SETATTR of size and
OPEN as operations affected. (I can see an argument that Setattr of size where the new size
is greater than the old one is modifying the data starting at EOF, but OPEN is completely
irrelevant, I think?)

>   As such, APPEND_DATA
> is enforceable although the server might not enforce the distinction between
> APPEND_DATA and WRITE_DATA.
>
> If I understand correctly, you are intending to accept an acl that APPEND_DATA and not
> WRITE_DATA  and then not let the user open the file for write.   I don't know about your
> users but I would certainly feel that was a "weird, irritating inconsistency".
Yes, but it is consistent with local behaviour on FreeBSD.
A file with APPEND_DATA, but not WRITE_DATA cannot be open'd with a POSIX
  open("foo", O_APPEND | O_WRONLY, 0)
either locally nor over NFS.
(O_APPEND is a modifier and cannot be specified by itself.)

You could argue with the FreeBSD ACL guys that this is not correct behaviour,
but it what they chose to do and is what is currently wired into both UFS and ZFS.

> It seems to me that ace masks were specified including APPEND_DATA to support
> windows applications with insufficient thought as to how this might  map to the
> world of UNIX.   Still, we are where we are and have to deal with this.
Definitely agree.

> How would you feel about the following revision of the paragraph for -05?
>
>  *  Servers that do not distinguish between WRITE_DATA and APPEND_DATA
>      may need to make it clear to clients that support for append-only
>      files is not present.  One way to do that is for requests to set NFSv4 ACLs
>      where the handling for these two masks are different for any
>      specified user or group to be rejected with     NFS4ERR_ATTRNOTSUPP.

Hmm. I cannot think of any other way that an NFS server can make it clear
to clients whether or not it supports APPEND_WRITE separately from WRITE_DATA
and, like many statements you've referred to related to ACLs, the above seems
"wishy washy" to me. If you want "wishy washy", just leave it as is, imho.

I could add another optional attribute to my draft that reports which access mask
bits in an ACE are enforced vs stored but not enforced.
However, it is not obvious to me how a client (at least the FreeBSD one) would
actually use the attribute?

I think that, if the consensus is that "the server must make it clear to the client...",
then you require the NFS4ERR_ATTRNOTSUPP reply when only one of APPEND_DATA,
WRITE_DATA are specified.
The FreeBSD server will be non-conformant, but who knows, maybe after it is an RFC,
the "FreeBSD collective" can be swayed to not allow only one of APPEND_DATA/WRITE_DATA
to be set?

rick





rick

________________________________________
From: nfsv4 <nfsv4-bounces@ietf.org<mailto:nfsv4-bounces@ietf.org>> on behalf of David Noveck <davenoveck@gmail.com<mailto:davenoveck@gmail.com>>
Sent: Friday, December 24, 2021 8:49 AM
To: NFSv4; nfsv4-chairs; nfsv4-ads@ietf.org<mailto:nfsv4-ads@ietf.org>
Subject: [nfsv4] Fwd: New Version Notification for draft-dnoveck-nfsv4-security-04.txt

CAUTION: This email originated from outside of the University of Guelph. Do not click links or open attachments unless you recognize the sender and know the content is safe. If in doubt, forward suspicious emails to IThelp@uoguelph.ca<mailto:IThelp@uoguelph.ca>


I've just posted security-04.   Thanks to Rick Macklem and Chuck Lever who made important suggestions that I hope are correctly addressed in this version.  An rfcdiff with -03 is not small but it is helpful to see what has changed.

As previously discussed, I am proposing that the working group adopt this draft as a working group document.   I expect Brian and Zahed to set the timeline for that discussion.

Please let me know about your suggestions for -05.

---------- Forwarded message ---------
From: <internet-drafts@ietf.org<mailto:internet-drafts@ietf.org><mailto:internet-drafts@ietf.org<mailto:internet-drafts@ietf.org>>>
Date: Fri, Dec 24, 2021 at 8:31 AM
Subject: New Version Notification for draft-dnoveck-nfsv4-security-04.txt
To: David Noveck <davenoveck@gmail.com<mailto:davenoveck@gmail.com><mailto:davenoveck@gmail.com<mailto:davenoveck@gmail.com>>>



A new version of I-D, draft-dnoveck-nfsv4-security-04.txt
has been successfully submitted by David Noveck and posted to the
IETF repository.

Name:           draft-dnoveck-nfsv4-security
Revision:       04
Title:          Security for the NFSv4 Protocols
Document date:  2021-12-24
Group:          Individual Submission
Pages:          129
URL:            https://www.ietf.org/archive/id/draft-dnoveck-nfsv4-security-04.txt
Status:         https://datatracker.ietf.org/doc/draft-dnoveck-nfsv4-security/
Html:           https://www.ietf.org/archive/id/draft-dnoveck-nfsv4-security-04.html
Htmlized:       https://datatracker.ietf.org/doc/html/draft-dnoveck-nfsv4-security
Diff:           https://www.ietf.org/rfcdiff?url2=draft-dnoveck-nfsv4-security-04

Abstract:
   This document describes the core security features of the NFSv4
   family of protocols, applying to all minor versions.  The discussion
   includes the use of security features provided by RPC on a per-
   connection basis.

   This preliminary version of the document, is intended, in large part,
   to result in working group discussion regarding existing NFSv4
   security issues and to provide a framework for addressing these
   issues and obtaining working group consensus regarding necessary
   changes.

   When a successor document is eventually published as an RFC, it will
   supersede the description of security appearing in existing minor
   version specification documents such as RFC 7530 and RFC 8881.




The IETF Secretariat