aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/nfs
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2009-12-03 18:03:42 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2009-12-03 18:03:42 +0000
commit74991298d9934786eaafd05a37ef80fd8e0776a0 (patch)
treeca32c6a81857a7578be9e5c5260b6c31b0b18b3e /sys/fs/nfs
parent4c0191c569ccc3ba9099087d5c29699aae2011b0 (diff)
downloadsrc-74991298d9934786eaafd05a37ef80fd8e0776a0.tar.gz
src-74991298d9934786eaafd05a37ef80fd8e0776a0.zip
Remove unneeded ifdefs.
Reviewed by: rmacklem
Notes
Notes: svn path=/head/; revision=200069
Diffstat (limited to 'sys/fs/nfs')
-rw-r--r--sys/fs/nfs/nfs_commonacl.c185
-rw-r--r--sys/fs/nfs/nfs_commonport.c2
-rw-r--r--sys/fs/nfs/nfs_commonsubs.c37
-rw-r--r--sys/fs/nfs/nfs_var.h2
-rw-r--r--sys/fs/nfs/nfsport.h4
5 files changed, 5 insertions, 225 deletions
diff --git a/sys/fs/nfs/nfs_commonacl.c b/sys/fs/nfs/nfs_commonacl.c
index 0ac1590e258f..d639cfcff0ac 100644
--- a/sys/fs/nfs/nfs_commonacl.c
+++ b/sys/fs/nfs/nfs_commonacl.c
@@ -37,7 +37,6 @@ extern int nfsrv_useacl;
static int nfsrv_acemasktoperm(u_int32_t acetype, u_int32_t mask, int owner,
enum vtype type, acl_perm_t *permp);
-#if defined(NFS4_ACL_EXTATTR_NAME)
/*
* Handle xdr for an ace.
*/
@@ -263,189 +262,7 @@ nfsrv_acemasktoperm(u_int32_t acetype, u_int32_t mask, int owner,
*permp = perm;
return (0);
}
-#else
-/*
- * Handle xdr for an ace.
- */
-APPLESTATIC int
-nfsrv_dissectace(struct nfsrv_descript *nd, struct acl_entry *acep,
- int *aceerrp, int *acesizep, NFSPROC_T *p)
-{
- u_int32_t *tl;
- int len, gotid = 0, owner = 0, error = 0, aceerr = 0;
- u_char *name, namestr[NFSV4_SMALLSTR + 1];
- u_int32_t flag, mask, acetype;
- gid_t gid;
- uid_t uid;
-
- *aceerrp = 0;
- NFSM_DISSECT(tl, u_int32_t *, 4 * NFSX_UNSIGNED);
- acetype = fxdr_unsigned(u_int32_t, *tl++);
- flag = fxdr_unsigned(u_int32_t, *tl++);
- mask = fxdr_unsigned(u_int32_t, *tl++);
- len = fxdr_unsigned(int, *tl);
- if (len < 0) {
- return (NFSERR_BADXDR);
- } else if (len == 0) {
- /* Netapp filers return a 0 length who for nil users */
- acep->ae_tag = ACL_UNDEFINED_TAG;
- acep->ae_id = ACL_UNDEFINED_ID;
- acep->ae_perm = (acl_perm_t)0;
- if (acesizep)
- *acesizep = 4 * NFSX_UNSIGNED;
- return (0);
- }
- if (len > NFSV4_SMALLSTR)
- name = malloc(len + 1, M_NFSSTRING, M_WAITOK);
- else
- name = namestr;
- error = nfsrv_mtostr(nd, name, len);
- if (error) {
- if (len > NFSV4_SMALLSTR)
- free(name, M_NFSSTRING);
- return (error);
- }
- if (len == 6) {
- if (!NFSBCMP(name, "OWNER@", 6)) {
- acep->ae_tag = ACL_USER_OBJ;
- acep->ae_id = ACL_UNDEFINED_ID;
- owner = 1;
- gotid = 1;
- } else if (!NFSBCMP(name, "GROUP@", 6)) {
- acep->ae_tag = ACL_GROUP_OBJ;
- acep->ae_id = ACL_UNDEFINED_ID;
- gotid = 1;
- flag &= ~NFSV4ACE_IDENTIFIERGROUP;
- }
- } else if (len == 9 && !NFSBCMP(name, "EVERYONE@", 9)) {
- acep->ae_tag = ACL_OTHER;
- acep->ae_id = ACL_UNDEFINED_ID;
- gotid = 1;
- }
- if (!gotid) {
- if (flag & NFSV4ACE_IDENTIFIERGROUP) {
- flag &= ~NFSV4ACE_IDENTIFIERGROUP;
- acep->ae_tag = ACL_GROUP;
- aceerr = nfsv4_strtogid(name, len, &gid, p);
- if (!aceerr)
- acep->ae_id = (uid_t)gid;
- } else {
- acep->ae_tag = ACL_USER;
- aceerr = nfsv4_strtouid(name, len, &uid, p);
- if (!aceerr)
- acep->ae_id = uid;
- }
- }
- if (len > NFSV4_SMALLSTR)
- free(name, M_NFSSTRING);
-
- /*
- * Now, check for unsupported types or flag bits.
- */
- if (!aceerr && ((acetype != NFSV4ACE_ALLOWEDTYPE &&
- acetype != NFSV4ACE_AUDITTYPE && acetype != NFSV4ACE_ALARMTYPE
- && acetype != NFSV4ACE_DENIEDTYPE) || flag))
- aceerr = NFSERR_ATTRNOTSUPP;
-
- /*
- * And turn the mask into perm bits.
- */
- if (!aceerr)
- aceerr = nfsrv_acemasktoperm(acetype, mask, owner, VREG,
- &acep->ae_perm);
- *aceerrp = aceerr;
- if (acesizep)
- *acesizep = NFSM_RNDUP(len) + (4 * NFSX_UNSIGNED);
- return (0);
-nfsmout:
- return (error);
-}
-
-/*
- * Turn an NFSv4 ace mask into R/W/X flag bits.
- */
-static int
-nfsrv_acemasktoperm(u_int32_t acetype, u_int32_t mask, int owner,
- enum vtype type, acl_perm_t *permp)
-{
- acl_perm_t perm = 0x0;
-
- if (acetype != NFSV4ACE_ALLOWEDTYPE && acetype != NFSV4ACE_DENIEDTYPE){
- if (mask & ~NFSV4ACE_AUDITMASK)
- return (NFSERR_ATTRNOTSUPP);
- }
- if (mask & NFSV4ACE_DELETE) {
- return (NFSERR_ATTRNOTSUPP);
- }
- if (acetype == NFSV4ACE_DENIEDTYPE) {
- if (mask & NFSV4ACE_ALLFILESMASK) {
- return (NFSERR_ATTRNOTSUPP);
- }
- if (owner) {
- if (mask & NFSV4ACE_OWNERMASK) {
- return (NFSERR_ATTRNOTSUPP);
- }
- } else {
- if ((mask & NFSV4ACE_OWNERMASK) != NFSV4ACE_OWNERMASK) {
- return (NFSERR_ATTRNOTSUPP);
- }
- mask &= ~NFSV4ACE_OWNERMASK;
- }
- } else if (acetype == NFSV4ACE_ALLOWEDTYPE) {
- if ((mask & NFSV4ACE_ALLFILESMASK) != NFSV4ACE_ALLFILESMASK) {
- return (NFSERR_ATTRNOTSUPP);
- }
- mask &= ~NFSV4ACE_ALLFILESMASK;
- if (owner) {
- if ((mask & NFSV4ACE_OWNERMASK) != NFSV4ACE_OWNERMASK) {
- return (NFSERR_ATTRNOTSUPP);
- }
- mask &= ~NFSV4ACE_OWNERMASK;
- } else if (mask & NFSV4ACE_OWNERMASK) {
- return (NFSERR_ATTRNOTSUPP);
- }
- }
- if (type == VDIR) {
- if ((mask & NFSV4ACE_DIRREADMASK) == NFSV4ACE_DIRREADMASK) {
- perm |= ACL_READ;
- mask &= ~NFSV4ACE_DIRREADMASK;
- }
- if ((mask & NFSV4ACE_DIRWRITEMASK) == NFSV4ACE_DIRWRITEMASK) {
- perm |= ACL_WRITE;
- mask &= ~NFSV4ACE_DIRWRITEMASK;
- }
- if ((mask & NFSV4ACE_DIREXECUTEMASK)==NFSV4ACE_DIREXECUTEMASK){
- perm |= ACL_EXECUTE;
- mask &= ~NFSV4ACE_DIREXECUTEMASK;
- }
- } else {
- if (acetype == NFSV4ACE_DENIEDTYPE &&
- (mask & NFSV4ACE_SYNCHRONIZE)) {
- return (NFSERR_ATTRNOTSUPP);
- }
- mask &= ~(NFSV4ACE_SYNCHRONIZE | NFSV4ACE_DELETECHILD);
- if ((mask & NFSV4ACE_READMASK) == NFSV4ACE_READMASK) {
- perm |= ACL_READ;
- mask &= ~NFSV4ACE_READMASK;
- }
- if ((mask & NFSV4ACE_WRITEMASK) == NFSV4ACE_WRITEMASK) {
- perm |= ACL_WRITE;
- mask &= ~NFSV4ACE_WRITEMASK;
- }
- if ((mask & NFSV4ACE_EXECUTEMASK) == NFSV4ACE_EXECUTEMASK) {
- perm |= ACL_EXECUTE;
- mask &= ~NFSV4ACE_EXECUTEMASK;
- }
- }
- if (mask) {
- return (NFSERR_ATTRNOTSUPP);
- }
- *permp = perm;
- return (0);
-}
-#endif /* !NFS4_ACL_EXTATTR_NAME */
-#ifdef NFS4_ACL_EXTATTR_NAME
/* local functions */
static int nfsrv_buildace(struct nfsrv_descript *, u_char *, int,
enum vtype, int, int, struct acl_entry *);
@@ -742,5 +559,3 @@ nfsrv_compareacl(NFSACL_T *aclp1, NFSACL_T *aclp2)
}
return (0);
}
-
-#endif /* NFS4_ACL_EXTATTR_NAME */
diff --git a/sys/fs/nfs/nfs_commonport.c b/sys/fs/nfs/nfs_commonport.c
index bf982aa0c0e1..7f27494bb8b7 100644
--- a/sys/fs/nfs/nfs_commonport.c
+++ b/sys/fs/nfs/nfs_commonport.c
@@ -421,7 +421,6 @@ newnfs_portinit(void)
mtx_init(&nfs_state_mutex, "nfs_state_mutex", NULL, MTX_DEF);
}
-#ifdef NFS4_ACL_EXTATTR_NAME
/*
* Determine if the file system supports NFSv4 ACLs.
* Return 1 if it does, 0 otherwise.
@@ -441,7 +440,6 @@ nfs_supportsnfsv4acls(struct mount *mp)
}
return (0);
}
-#endif /* NFS4_ACL_EXTATTR_NAME */
extern int (*nfsd_call_nfscommon)(struct thread *, struct nfssvc_args *);
diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c
index b1a7051359b4..8e53ae6a3696 100644
--- a/sys/fs/nfs/nfs_commonsubs.c
+++ b/sys/fs/nfs/nfs_commonsubs.c
@@ -650,10 +650,8 @@ nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, int *aclerrp,
int acecnt, error = 0, aceerr = 0, acesize;
*aclerrp = 0;
-#ifdef NFS4_ACL_EXTATTR_NAME
if (aclp)
aclp->acl_cnt = 0;
-#endif
/*
* Parse out the ace entries and expect them to conform to
* what can be supported by R/W/X bits.
@@ -661,28 +659,22 @@ nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, int *aclerrp,
NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED);
aclsize = NFSX_UNSIGNED;
acecnt = fxdr_unsigned(int, *tl);
-#ifdef NFS4_ACL_EXTATTR_NAME
if (acecnt > ACL_MAX_ENTRIES)
aceerr = 1;
-#endif
if (nfsrv_useacl == 0)
aceerr = 1;
for (i = 0; i < acecnt; i++) {
-#ifdef NFS4_ACL_EXTATTR_NAME
if (aclp && !aceerr)
error = nfsrv_dissectace(nd, &aclp->acl_entry[i],
&aceerr, &acesize, p);
else
-#endif
error = nfsrv_skipace(nd, &acesize);
if (error)
return (error);
aclsize += acesize;
}
-#ifdef NFS4_ACL_EXTATTR_NAME
if (aclp && !aceerr)
aclp->acl_cnt = acecnt;
-#endif
if (aceerr)
*aclerrp = aceerr;
if (aclsizep)
@@ -1014,7 +1006,6 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp,
case NFSATTRBIT_ACL:
if (compare) {
if (!(*retcmpp)) {
-#ifdef NFS4_ACL_EXTATTR_NAME
if (nfsrv_useacl) {
NFSACL_T *naclp;
@@ -1028,9 +1019,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp,
if (aceerr || nfsrv_compareacl(aclp, naclp))
*retcmpp = NFSERR_NOTSAME;
acl_free(naclp);
- } else
-#endif
- {
+ } else {
error = nfsrv_dissectacl(nd, NULL, &aceerr,
&cnt, p);
*retcmpp = NFSERR_ATTRNOTSUPP;
@@ -1932,9 +1921,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
aclp = saclp;
} else {
NFSCLRNOTFILLABLE_ATTRBIT(retbitp);
-#ifdef NFS4_ACL_EXTATTR_NAME
naclp = acl_alloc(M_WAITOK);
-#endif
aclp = naclp;
}
nfsvno_getfs(&fsinf, isdgram);
@@ -1957,21 +1944,15 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
/*
* And the NFSv4 ACL...
*/
- if (NFSISSET_ATTRBIT(retbitp, NFSATTRBIT_ACLSUPPORT)
-#ifdef NFS4_ACL_EXTATTR_NAME
- && (nfsrv_useacl == 0 || ((cred != NULL || p != NULL) &&
- !NFSHASNFS4ACL(vnode_mount(vp))))
-#endif
- ) {
+ if (NFSISSET_ATTRBIT(retbitp, NFSATTRBIT_ACLSUPPORT) &&
+ (nfsrv_useacl == 0 || ((cred != NULL || p != NULL) &&
+ !NFSHASNFS4ACL(vnode_mount(vp))))) {
NFSCLRBIT_ATTRBIT(retbitp, NFSATTRBIT_ACLSUPPORT);
}
if (NFSISSET_ATTRBIT(retbitp, NFSATTRBIT_ACL)) {
-#ifdef NFS4_ACL_EXTATTR_NAME
if (nfsrv_useacl == 0 || ((cred != NULL || p != NULL) &&
!NFSHASNFS4ACL(vnode_mount(vp)))) {
-#endif
NFSCLRBIT_ATTRBIT(retbitp, NFSATTRBIT_ACL);
-#ifdef NFS4_ACL_EXTATTR_NAME
} else if (naclp != NULL) {
NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY, p);
error = VOP_ACCESS(vp, VREAD_ACL, cred, p);
@@ -1987,7 +1968,6 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
NFSCLRBIT_ATTRBIT(retbitp, NFSATTRBIT_ACL);
}
}
-#endif
}
/*
* Put out the attribute bitmap for the ones being filled in
@@ -2005,11 +1985,8 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
switch (bitpos) {
case NFSATTRBIT_SUPPORTEDATTRS:
NFSSETSUPP_ATTRBIT(&attrbits);
-#ifdef NFS4_ACL_EXTATTR_NAME
if (nfsrv_useacl == 0 || ((cred != NULL || p != NULL)
- && !NFSHASNFS4ACL(vnode_mount(vp))))
-#endif
- {
+ && !NFSHASNFS4ACL(vnode_mount(vp)))) {
NFSCLRBIT_ATTRBIT(&attrbits,NFSATTRBIT_ACLSUPPORT);
NFSCLRBIT_ATTRBIT(&attrbits,NFSATTRBIT_ACL);
}
@@ -2082,7 +2059,6 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
/*
* Recommended Attributes. (Only the supported ones.)
*/
-#ifdef NFS4_ACL_EXTATTR_NAME
case NFSATTRBIT_ACL:
retnum += nfsrv_buildacl(nd, aclp, vnode_vtype(vp), p);
break;
@@ -2091,7 +2067,6 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
*tl = txdr_unsigned(NFSV4ACE_SUPTYPES);
retnum += NFSX_UNSIGNED;
break;
-#endif
case NFSATTRBIT_CANSETTIME:
NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED);
if (fsinf.fs_properties & NFSV3FSINFO_CANSETTIME)
@@ -2397,10 +2372,8 @@ nfsv4_fillattr(struct nfsrv_descript *nd, vnode_t vp, NFSACL_T *saclp,
};
}
}
-#ifdef NFS4_ACL_EXTATTR_NAME
if (naclp != NULL)
acl_free(naclp);
-#endif
*retnump = txdr_unsigned(retnum);
return (retnum + prefixnum);
}
diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h
index 72e65c7a4d95..386fb04f08d0 100644
--- a/sys/fs/nfs/nfs_var.h
+++ b/sys/fs/nfs/nfs_var.h
@@ -329,7 +329,6 @@ void newnfs_timer(void *);
/* nfs_commonacl.c */
int nfsrv_dissectace(struct nfsrv_descript *, struct acl_entry *,
int *, int *, NFSPROC_T *);
-#ifdef NFS4_ACL_EXTATTR_NAME
int nfsrv_buildacl(struct nfsrv_descript *, NFSACL_T *, enum vtype,
NFSPROC_T *);
int nfsrv_aclaccess(vnode_t, accmode_t, u_int32_t, struct ucred *,
@@ -337,7 +336,6 @@ int nfsrv_aclaccess(vnode_t, accmode_t, u_int32_t, struct ucred *,
int nfsrv_setacl(vnode_t, NFSACL_T *, struct ucred *,
NFSPROC_T *);
int nfsrv_compareacl(NFSACL_T *, NFSACL_T *);
-#endif
/* nfs_clrpcops.c */
int nfsrpc_null(vnode_t, struct ucred *, NFSPROC_T *);
diff --git a/sys/fs/nfs/nfsport.h b/sys/fs/nfs/nfsport.h
index f320316be7db..c7ef67c51b0b 100644
--- a/sys/fs/nfs/nfsport.h
+++ b/sys/fs/nfs/nfsport.h
@@ -125,11 +125,7 @@
#define NFSPROC_T struct thread
#define NFSDEV_T dev_t
#define NFSSVCARGS nfssvc_args
-#ifdef NFS4_ACL_EXTATTR_NAME
#define NFSACL_T struct acl
-#else
-#define NFSACL_T void
-#endif
/*
* These should be defined as the types used for the corresponding VOP's