From nobody Tue Jan 11 16:34:32 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 9B0C1193B172; Tue, 11 Jan 2022 16:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JYGVw2bN1z3PHR; Tue, 11 Jan 2022 16:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 389E31CA90; Tue, 11 Jan 2022 16:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 20BGYW5F065247; Tue, 11 Jan 2022 16:34:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 20BGYWtn065246; Tue, 11 Jan 2022 16:34:32 GMT (envelope-from git) Date: Tue, 11 Jan 2022 16:34:32 GMT Message-Id: <202201111634.20BGYWtn065246@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 5da9b3b011fd - main - Revert "nfscommon: Add arguments for support of the dacl attribute" List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5da9b3b011fd74745a6b1d87329144d7d5d234dd Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1641918872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TWELn4Y0qVWcthQeY9RjSl6pRw0heUIhhcsh0Vlg0Ks=; b=sSoWw2l3N+SdkhrjEIeyNtnp2lyjKHIEb6g/WYzLpyAQuxzKujjuQnGdzppZJ2PblI7BN2 AwZXu41crz+pZylEgyDh98Mgy0ILZS1oI/P51if3dQrkaJPZ546DB92vFOygm+7ylnQZxu +NuA2BaGotSxF0PhGBT0i+T9opsxRKfr2dEVwG4kM9NzBtoEWThnSBO/hvT89ywUN/FcDh xbz0nLRp0sQFf+/t2rKigD+4XrrjJoal4IK5zR0hzR4tRthRzAH+mhK7XeXS4EPSzCYpr5 4hu37D79EYV4iyXSwy+K00S3tXr823RC/ODheHJTgiGwLawi6ksVxSp9jUCKZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1641918872; a=rsa-sha256; cv=none; b=tiEcI0aJoMnCf16HyeiCv4YMyFM3UoK0UV3LXOxTOfPWcFIoGvOpX49VeQM+Xi4YWwJ1aD F8Pl23nUyC9aT5shkjzQl3eErD2uWuiGeVdlV5ICAA4pNkEIMzRJbUSx+Mrww///NbnFBZ UgtHc9Cw/c8Olgmi1WuTVZkpFy2TB9/0xPi/0eFnNUwcDtyehngFSGVtwgxsmYwc9eIyWf pIfk37p28v79SAXSCuFTfmV8e3znhyRbGVkhMdpOB3q7xyDiS63ykoeyhTPfJLKOaxgR9l 0+J6tZ2bw//qlpe+P6k5+keO6NqAV55ubMyJbKeJgvS7LVQUtjtCycbN4/dZBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=5da9b3b011fd74745a6b1d87329144d7d5d234dd commit 5da9b3b011fd74745a6b1d87329144d7d5d234dd Author: Rick Macklem AuthorDate: 2022-01-11 16:30:50 +0000 Commit: Rick Macklem CommitDate: 2022-01-11 16:30:50 +0000 Revert "nfscommon: Add arguments for support of the dacl attribute" This reverts commit 0fa074b53e7c22157dcb41aaa25a33abc8118f26. I now see that the implementation of the "dacl" operation requires that the NFSv4 server to "automatic inheritance" and I do not plan on doing this. As such, this patch is harmless, but unneeded. --- sys/fs/nfs/nfs_commonacl.c | 16 +++++----------- sys/fs/nfs/nfs_commonsubs.c | 25 ++++++++++++------------- sys/fs/nfs/nfs_var.h | 6 +++--- sys/fs/nfs/nfsproto.h | 1 - sys/fs/nfsclient/nfs_clrpcops.c | 16 ++++++++-------- sys/fs/nfsserver/nfs_nfsdport.c | 4 ++-- 6 files changed, 30 insertions(+), 38 deletions(-) diff --git a/sys/fs/nfs/nfs_commonacl.c b/sys/fs/nfs/nfs_commonacl.c index e3583b273db8..19492675e731 100644 --- a/sys/fs/nfs/nfs_commonacl.c +++ b/sys/fs/nfs/nfs_commonacl.c @@ -42,7 +42,7 @@ static int nfsrv_acemasktoperm(u_int32_t acetype, u_int32_t mask, int owner, */ int nfsrv_dissectace(struct nfsrv_descript *nd, struct acl_entry *acep, - bool dacl, int *aceerrp, int *acesizep, NFSPROC_T *p) + int *aceerrp, int *acesizep, NFSPROC_T *p) { u_int32_t *tl; int len, gotid = 0, owner = 0, error = 0, aceerr = 0; @@ -147,10 +147,6 @@ nfsrv_dissectace(struct nfsrv_descript *nd, struct acl_entry *acep, flag &= ~NFSV4ACE_FAILEDACCESS; acep->ae_flags |= ACL_ENTRY_FAILED_ACCESS; } - if (dacl && (flag & NFSV4ACE_INHERITED)) { - flag &= ~NFSV4ACE_INHERITED; - acep->ae_flags |= ACL_ENTRY_INHERITED; - } /* * Set ae_entry_type. */ @@ -282,14 +278,14 @@ out: /* local functions */ static int nfsrv_buildace(struct nfsrv_descript *, u_char *, int, - enum vtype, int, int, bool, struct acl_entry *); + enum vtype, int, int, struct acl_entry *); /* * This function builds an NFS ace. */ static int nfsrv_buildace(struct nfsrv_descript *nd, u_char *name, int namelen, - enum vtype type, int group, int owner, bool dacl, struct acl_entry *ace) + enum vtype type, int group, int owner, struct acl_entry *ace) { u_int32_t *tl, aceflag = 0x0, acemask = 0x0, acetype; int full_len; @@ -325,8 +321,6 @@ nfsrv_buildace(struct nfsrv_descript *nd, u_char *name, int namelen, aceflag |= NFSV4ACE_SUCCESSFULACCESS; if (ace->ae_flags & ACL_ENTRY_FAILED_ACCESS) aceflag |= NFSV4ACE_FAILEDACCESS; - if (dacl && (ace->ae_flags & ACL_ENTRY_INHERITED)) - aceflag |= NFSV4ACE_INHERITED; if (group) aceflag |= NFSV4ACE_IDENTIFIERGROUP; *tl++ = txdr_unsigned(aceflag); @@ -400,7 +394,7 @@ nfsrv_buildace(struct nfsrv_descript *nd, u_char *name, int namelen, */ int nfsrv_buildacl(struct nfsrv_descript *nd, NFSACL_T *aclp, enum vtype type, - bool dacl, NFSPROC_T *p) + NFSPROC_T *p) { int i, entrycnt = 0, retlen; u_int32_t *entrycntp; @@ -448,7 +442,7 @@ nfsrv_buildacl(struct nfsrv_descript *nd, NFSACL_T *aclp, enum vtype type, continue; } retlen += nfsrv_buildace(nd, name, namelen, type, isgroup, - isowner, dacl, &aclp->acl_entry[i]); + isowner, &aclp->acl_entry[i]); entrycnt++; if (malloced) free(name, M_NFSSTRING); diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index cdf3f4830e31..8bfe031f01ab 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -1090,8 +1090,8 @@ nfsmout: * If the aclp == NULL or won't fit in an acl, just discard the acl info. */ int -nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, bool dacl, - int *aclerrp, int *aclsizep, __unused NFSPROC_T *p) +nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, int *aclerrp, + int *aclsizep, __unused NFSPROC_T *p) { u_int32_t *tl; int i, aclsize; @@ -1122,7 +1122,7 @@ nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, bool dacl, for (i = 0; i < acecnt; i++) { if (aclp && !aceerr) error = nfsrv_dissectace(nd, &aclp->acl_entry[i], - dacl, &aceerr, &acesize, p); + &aceerr, &acesize, p); else error = nfsrv_skipace(nd, &acesize); if (error) @@ -1487,8 +1487,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *naclp; naclp = acl_alloc(M_WAITOK); - error = nfsrv_dissectacl(nd, naclp, false, - &aceerr, &cnt, p); + error = nfsrv_dissectacl(nd, naclp, &aceerr, + &cnt, p); if (error) { acl_free(naclp); goto nfsmout; @@ -1498,8 +1498,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, *retcmpp = NFSERR_NOTSAME; acl_free(naclp); } else { - error = nfsrv_dissectacl(nd, NULL, false, - &aceerr, &cnt, p); + error = nfsrv_dissectacl(nd, NULL, &aceerr, + &cnt, p); if (error) goto nfsmout; *retcmpp = NFSERR_ATTRNOTSUPP; @@ -1507,11 +1507,11 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, } } else { if (vp != NULL && aclp != NULL) - error = nfsrv_dissectacl(nd, aclp, false, - &aceerr, &cnt, p); + error = nfsrv_dissectacl(nd, aclp, &aceerr, + &cnt, p); else - error = nfsrv_dissectacl(nd, NULL, false, - &aceerr, &cnt, p); + error = nfsrv_dissectacl(nd, NULL, &aceerr, + &cnt, p); if (error) goto nfsmout; } @@ -2690,8 +2690,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, * Recommended Attributes. (Only the supported ones.) */ case NFSATTRBIT_ACL: - retnum += nfsrv_buildacl(nd, aclp, vnode_vtype(vp), - false, p); + retnum += nfsrv_buildacl(nd, aclp, vnode_vtype(vp), p); break; case NFSATTRBIT_ACLSUPPORT: NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index d41c1853cb1f..860b7b7ccfc3 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -331,7 +331,7 @@ int nfsm_advance(struct nfsrv_descript *, int, int); void *nfsm_dissct(struct nfsrv_descript *, int, int); void newnfs_copycred(struct nfscred *, struct ucred *); void newnfs_copyincred(struct ucred *, struct nfscred *); -int nfsrv_dissectacl(struct nfsrv_descript *, NFSACL_T *, bool, int *, +int nfsrv_dissectacl(struct nfsrv_descript *, NFSACL_T *, int *, int *, NFSPROC_T *); int nfsrv_getattrbits(struct nfsrv_descript *, nfsattrbit_t *, int *, int *); @@ -435,9 +435,9 @@ int nfs_supportsnfsv4acls(vnode_t); /* nfs_commonacl.c */ int nfsrv_dissectace(struct nfsrv_descript *, struct acl_entry *, - bool, int *, int *, NFSPROC_T *); + int *, int *, NFSPROC_T *); int nfsrv_buildacl(struct nfsrv_descript *, NFSACL_T *, enum vtype, - bool, NFSPROC_T *); + NFSPROC_T *); int nfsrv_compareacl(NFSACL_T *, NFSACL_T *); /* nfs_clrpcops.c */ diff --git a/sys/fs/nfs/nfsproto.h b/sys/fs/nfs/nfsproto.h index b1b624e824c2..968cc6a41cc3 100644 --- a/sys/fs/nfs/nfsproto.h +++ b/sys/fs/nfs/nfsproto.h @@ -508,7 +508,6 @@ #define NFSV4ACE_SUCCESSFULACCESS 0x00000010 #define NFSV4ACE_FAILEDACCESS 0x00000020 #define NFSV4ACE_IDENTIFIERGROUP 0x00000040 -#define NFSV4ACE_INHERITED 0x00000080 #define NFSV4ACE_READDATA 0x00000001 #define NFSV4ACE_LISTDIRECTORY 0x00000001 diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 8886ccc8429e..e7558b85a46f 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -621,8 +621,8 @@ nfsrpc_openrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, int fhlen, } if (ret) ndp->nfsdl_flags |= NFSCLDL_RECALL; - error = nfsrv_dissectace(nd, &ndp->nfsdl_ace, false, - &ret, &acesize, p); + error = nfsrv_dissectace(nd, &ndp->nfsdl_ace, &ret, + &acesize, p); if (error) goto nfsmout; } else if (deleg != NFSV4OPEN_DELEGATENONE) { @@ -2567,8 +2567,8 @@ nfsrpc_createv4(vnode_t dvp, char *name, int namelen, struct vattr *vap, } if (ret) dp->nfsdl_flags |= NFSCLDL_RECALL; - error = nfsrv_dissectace(nd, &dp->nfsdl_ace, false, - &ret, &acesize, p); + error = nfsrv_dissectace(nd, &dp->nfsdl_ace, &ret, + &acesize, p); if (error) goto nfsmout; } else if (deleg != NFSV4OPEN_DELEGATENONE) { @@ -8005,8 +8005,8 @@ nfsrpc_openlayoutrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, ndp->nfsdl_flags = NFSCLDL_READ; if (ret != 0) ndp->nfsdl_flags |= NFSCLDL_RECALL; - error = nfsrv_dissectace(nd, &ndp->nfsdl_ace, false, - &ret, &acesize, p); + error = nfsrv_dissectace(nd, &ndp->nfsdl_ace, &ret, + &acesize, p); if (error != 0) goto nfsmout; } else if (deleg != NFSV4OPEN_DELEGATENONE) { @@ -8216,8 +8216,8 @@ nfsrpc_createlayout(vnode_t dvp, char *name, int namelen, struct vattr *vap, } if (ret != 0) dp->nfsdl_flags |= NFSCLDL_RECALL; - error = nfsrv_dissectace(nd, &dp->nfsdl_ace, false, - &ret, &acesize, p); + error = nfsrv_dissectace(nd, &dp->nfsdl_ace, &ret, + &acesize, p); if (error != 0) goto nfsmout; } else if (deleg != NFSV4OPEN_DELEGATENONE) { diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index 6f9e1326928e..1a72251530dd 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -2992,8 +2992,8 @@ nfsv4_sattr(struct nfsrv_descript *nd, vnode_t vp, struct nfsvattr *nvap, attrsum += NFSX_HYPER; break; case NFSATTRBIT_ACL: - error = nfsrv_dissectacl(nd, aclp, false, &aceerr, - &aclsize, p); + error = nfsrv_dissectacl(nd, aclp, &aceerr, &aclsize, + p); if (error) goto nfsmout; if (aceerr && !nd->nd_repstat)