Lines Matching refs:nd

1377 nfsrv_wcc(struct nfsrv_descript *nd, int before_ret,  in nfsrv_wcc()  argument
1394 nfsrv_postopattr(nd, after_ret, after_nvap); in nfsrv_wcc()
1398 nfsrv_postopattr(struct nfsrv_descript *nd, int after_ret, in nfsrv_postopattr() argument
1408 nfsrv_fillattr(nd, after_nvap); in nfsrv_postopattr()
1417 nfsrv_fillattr(struct nfsrv_descript *nd, struct nfsvattr *nvap) in nfsrv_fillattr() argument
1425 if (nd->nd_flag & ND_NFSV3) in nfsrv_fillattr()
1437 if (nd->nd_flag & ND_NFSV3) { in nfsrv_fillattr()
1476 nfsrv_mtofh(struct nfsrv_descript *nd, struct nfsrvfh *fhp) in nfsrv_mtofh() argument
1481 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { in nfsrv_mtofh()
1484 if (len == 0 && nfs_pubfhset && (nd->nd_flag & ND_NFSV3) && in nfsrv_mtofh()
1485 nd->nd_procnum == NFSPROC_LOOKUP) { in nfsrv_mtofh()
1486 nd->nd_flag |= ND_PUBLOOKUP; in nfsrv_mtofh()
1492 if (len == NFSX_V4PNFSFH && (nd->nd_flag & ND_NFSV41) != 0) { in nfsrv_mtofh()
1495 nd->nd_flag |= ND_DSSERVER; in nfsrv_mtofh()
1497 if (nd->nd_flag & ND_NFSV4) { in nfsrv_mtofh()
1499 error = nfsm_advance(nd, NFSM_RNDUP(len), -1); in nfsrv_mtofh()
1502 nd->nd_repstat = NFSERR_BADHANDLE; in nfsrv_mtofh()
1523 if ((nd->nd_flag & ND_NFSV2) && nfs_pubfhset && in nfsrv_mtofh()
1524 nd->nd_procnum == NFSPROC_LOOKUP && in nfsrv_mtofh()
1526 nd->nd_flag |= ND_PUBLOOKUP; in nfsrv_mtofh()
1532 NFSEXITCODE2(error, nd); in nfsrv_mtofh()
1545 nfsd_errmap(struct nfsrv_descript *nd) in nfsd_errmap() argument
1549 if (!nd->nd_repstat) in nfsd_errmap()
1551 if ((nd->nd_repstat & NFSERR_AUTHERR) != 0) in nfsd_errmap()
1553 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { in nfsd_errmap()
1554 if (nd->nd_procnum == NFSPROC_NOOP) in nfsd_errmap()
1555 return (txdr_unsigned(nd->nd_repstat & 0xffff)); in nfsd_errmap()
1556 if (nd->nd_flag & ND_NFSV3) in nfsd_errmap()
1557 errp = defaulterrp = nfsrv_v3errmap[nd->nd_procnum]; in nfsd_errmap()
1558 else if (nd->nd_repstat == EBADRPC) in nfsd_errmap()
1560 else if (nd->nd_repstat == NFSERR_MINORVERMISMATCH || in nfsd_errmap()
1561 nd->nd_repstat == NFSERR_OPILLEGAL) in nfsd_errmap()
1562 return (txdr_unsigned(nd->nd_repstat)); in nfsd_errmap()
1563 else if (nd->nd_repstat == NFSERR_REPLYFROMCACHE) in nfsd_errmap()
1565 else if ((nd->nd_flag & ND_NFSV41) != 0) { in nfsd_errmap()
1566 if (nd->nd_repstat == EOPNOTSUPP) in nfsd_errmap()
1567 nd->nd_repstat = NFSERR_NOTSUPP; in nfsd_errmap()
1568 nd->nd_repstat = nfsrv_isannfserr(nd->nd_repstat); in nfsd_errmap()
1569 return (txdr_unsigned(nd->nd_repstat)); in nfsd_errmap()
1571 errp = defaulterrp = nfsrv_v4errmap[nd->nd_procnum]; in nfsd_errmap()
1573 if (*errp == nd->nd_repstat) in nfsd_errmap()
1574 return (txdr_unsigned(nd->nd_repstat)); in nfsd_errmap()
1577 if (nd->nd_repstat <= NFSERR_REMOTE) in nfsd_errmap()
1578 return (txdr_unsigned(nfsrv_v2errmap[nd->nd_repstat - 1])); in nfsd_errmap()
1605 nfsrv_checkuidgid(struct nfsrv_descript *nd, struct nfsvattr *nvap) in nfsrv_checkuidgid() argument
1623 if (nd->nd_cred->cr_uid == 0) in nfsrv_checkuidgid()
1625 if ((NFSVNO_ISSETUID(nvap) && nvap->na_uid != nd->nd_cred->cr_uid) || in nfsrv_checkuidgid()
1626 (NFSVNO_ISSETGID(nvap) && nvap->na_gid != nd->nd_cred->cr_gid && in nfsrv_checkuidgid()
1627 !groupmember(nvap->na_gid, nd->nd_cred))) in nfsrv_checkuidgid()
1631 NFSEXITCODE2(error, nd); in nfsrv_checkuidgid()
1640 nfsrv_fixattr(struct nfsrv_descript *nd, vnode_t vp, in nfsrv_fixattr() argument
1655 if ((nd->nd_flag & ND_NFSV4) == 0) in nfsrv_fixattr()
1659 tuid = nd->nd_cred->cr_uid; in nfsrv_fixattr()
1662 nvap->na_uid != nd->nd_cred->cr_uid) { in nfsrv_fixattr()
1663 if (nd->nd_cred->cr_uid == 0) { in nfsrv_fixattr()
1685 if (nvap->na_gid == nd->nd_cred->cr_gid || in nfsrv_fixattr()
1686 groupmember(nvap->na_gid, nd->nd_cred)) { in nfsrv_fixattr()
1687 nd->nd_cred->cr_uid = 0; in nfsrv_fixattr()
1696 error = nfsvno_setattr(vp, &nva, nd->nd_cred, p, exp); in nfsrv_fixattr()
1709 error = nfsrv_setacl(vp, aclp, nd->nd_cred, p); in nfsrv_fixattr()
1717 nd->nd_cred->cr_uid = tuid; in nfsrv_fixattr()
1720 NFSEXITCODE2(0, nd); in nfsrv_fixattr()
1766 nfsrv_putreferralattr(struct nfsrv_descript *nd, nfsattrbit_t *retbitp, in nfsrv_putreferralattr() argument
1807 prefixnum = nfsrv_putattrbit(nd, &tmpbits); in nfsrv_putreferralattr()
1839 retnum += nfsm_strtom(nd, "/", 1); in nfsrv_putreferralattr()
1853 retnum += nfsm_strtom(nd, cp, len); in nfsrv_putreferralattr()
1861 retnum += nfsm_strtom(nd, cp, len); in nfsrv_putreferralattr()
1884 nfsrv_parsename(struct nfsrv_descript *nd, char *bufp, u_long *hashp, in nfsrv_parsename() argument
1902 if ((nd->nd_flag & ND_NFSV4) && (nd->nd_procnum == NFSV4OP_LOOKUPP || in nfsrv_parsename()
1903 nd->nd_procnum == NFSV4OP_SECINFONONAME)) { in nfsrv_parsename()
1916 nd->nd_repstat = NFSERR_NAMETOL; in nfsrv_parsename()
1920 nd->nd_repstat = NFSERR_INVAL; in nfsrv_parsename()
1928 fromcp = nd->nd_dpos; in nfsrv_parsename()
1929 md = nd->nd_md; in nfsrv_parsename()
1942 nd->nd_repstat = EACCES; in nfsrv_parsename()
1951 if (nd->nd_flag & ND_PUBLOOKUP) { in nfsrv_parsename()
1979 nd->nd_repstat = EACCES; in nfsrv_parsename()
1993 nd->nd_repstat = EACCES; in nfsrv_parsename()
2013 nd->nd_repstat = EACCES; in nfsrv_parsename()
2029 if (nd->nd_flag & ND_NFSV4) in nfsrv_parsename()
2030 nd->nd_repstat = NFSERR_BADNAME; in nfsrv_parsename()
2032 nd->nd_repstat = EACCES; in nfsrv_parsename()
2043 nd->nd_md = md; in nfsrv_parsename()
2044 nd->nd_dpos = fromcp; in nfsrv_parsename()
2048 nd->nd_dpos += i; in nfsrv_parsename()
2050 error = nfsm_advance(nd, i, rem); in nfsrv_parsename()
2060 if (nd->nd_flag & ND_NFSV4) { in nfsrv_parsename()
2064 nd->nd_repstat = NFSERR_BADNAME; in nfsrv_parsename()
2070 nd->nd_repstat = NFSERR_INVAL; in nfsrv_parsename()
2081 NFSEXITCODE2(error, nd); in nfsrv_parsename()
2122 nfsd_checkrootexp(struct nfsrv_descript *nd) in nfsd_checkrootexp() argument
2133 if ((nd->nd_flag & ND_NFSV41) != 0) in nfsd_checkrootexp()
2135 if ((nd->nd_flag & (ND_GSS | ND_EXAUTHSYS)) == ND_EXAUTHSYS) in nfsd_checkrootexp()
2137 if ((nd->nd_flag & (ND_GSSINTEGRITY | ND_EXGSSINTEGRITY)) == in nfsd_checkrootexp()
2140 if ((nd->nd_flag & (ND_GSSPRIVACY | ND_EXGSSPRIVACY)) == in nfsd_checkrootexp()
2143 if ((nd->nd_flag & (ND_GSS | ND_GSSINTEGRITY | ND_GSSPRIVACY | in nfsd_checkrootexp()
2148 if ((nd->nd_flag & ND_EXTLS) == 0) in nfsd_checkrootexp()
2150 if ((nd->nd_flag & (ND_TLSCERTUSER | ND_EXTLSCERTUSER)) == in nfsd_checkrootexp()
2153 if ((nd->nd_flag & (ND_TLSCERT | ND_EXTLSCERT | ND_EXTLSCERTUSER)) == in nfsd_checkrootexp()
2156 if ((nd->nd_flag & (ND_TLS | ND_EXTLSCERTUSER | ND_EXTLSCERT)) == in nfsd_checkrootexp()
2161 if ((nd->nd_flag & ND_TLS) == 0) in nfsd_checkrootexp()
2173 nfsd_getminorvers(struct nfsrv_descript *nd, u_char *tag, u_char **tagstrp, in nfsd_getminorvers() argument
2190 error = nfsrv_mtostr(nd, tagstr, taglen); in nfsd_getminorvers()
2197 nd->nd_flag |= ND_NFSV41; in nfsd_getminorvers()
2199 nd->nd_flag |= (ND_NFSV41 | ND_NFSV42); in nfsd_getminorvers()