Lines Matching refs:nd

1374 nfsrv_wcc(struct nfsrv_descript *nd, int before_ret,  in nfsrv_wcc()  argument
1391 nfsrv_postopattr(nd, after_ret, after_nvap); in nfsrv_wcc()
1395 nfsrv_postopattr(struct nfsrv_descript *nd, int after_ret, in nfsrv_postopattr() argument
1405 nfsrv_fillattr(nd, after_nvap); in nfsrv_postopattr()
1414 nfsrv_fillattr(struct nfsrv_descript *nd, struct nfsvattr *nvap) in nfsrv_fillattr() argument
1422 if (nd->nd_flag & ND_NFSV3) in nfsrv_fillattr()
1434 if (nd->nd_flag & ND_NFSV3) { in nfsrv_fillattr()
1473 nfsrv_mtofh(struct nfsrv_descript *nd, struct nfsrvfh *fhp) in nfsrv_mtofh() argument
1479 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { in nfsrv_mtofh()
1482 if (len == 0 && nfs_pubfhset && (nd->nd_flag & ND_NFSV3) && in nfsrv_mtofh()
1483 nd->nd_procnum == NFSPROC_LOOKUP) { in nfsrv_mtofh()
1484 nd->nd_flag |= ND_PUBLOOKUP; in nfsrv_mtofh()
1490 if (len == NFSX_V4PNFSFH && (nd->nd_flag & ND_NFSV41) != 0) { in nfsrv_mtofh()
1493 nd->nd_flag |= ND_DSSERVER; in nfsrv_mtofh()
1500 if (nd->nd_flag & ND_NFSV4) { in nfsrv_mtofh()
1502 error = nfsm_advance(nd, NFSM_RNDUP(len), -1); in nfsrv_mtofh()
1505 nd->nd_repstat = NFSERR_BADHANDLE; in nfsrv_mtofh()
1526 if ((nd->nd_flag & ND_NFSV2) && nfs_pubfhset && in nfsrv_mtofh()
1527 nd->nd_procnum == NFSPROC_LOOKUP && in nfsrv_mtofh()
1529 nd->nd_flag |= ND_PUBLOOKUP; in nfsrv_mtofh()
1538 NFSEXITCODE2(error, nd); in nfsrv_mtofh()
1551 nfsd_errmap(struct nfsrv_descript *nd) in nfsd_errmap() argument
1555 if (!nd->nd_repstat) in nfsd_errmap()
1557 if ((nd->nd_repstat & NFSERR_AUTHERR) != 0) in nfsd_errmap()
1559 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { in nfsd_errmap()
1560 if (nd->nd_procnum == NFSPROC_NOOP) in nfsd_errmap()
1561 return (txdr_unsigned(nd->nd_repstat & 0xffff)); in nfsd_errmap()
1562 if (nd->nd_flag & ND_NFSV3) in nfsd_errmap()
1563 errp = defaulterrp = nfsrv_v3errmap[nd->nd_procnum]; in nfsd_errmap()
1564 else if (nd->nd_repstat == EBADRPC) in nfsd_errmap()
1566 else if (nd->nd_repstat == NFSERR_MINORVERMISMATCH || in nfsd_errmap()
1567 nd->nd_repstat == NFSERR_OPILLEGAL) in nfsd_errmap()
1568 return (txdr_unsigned(nd->nd_repstat)); in nfsd_errmap()
1569 else if (nd->nd_repstat == NFSERR_REPLYFROMCACHE) in nfsd_errmap()
1571 else if ((nd->nd_flag & ND_NFSV41) != 0) { in nfsd_errmap()
1572 if (nd->nd_repstat == EOPNOTSUPP) in nfsd_errmap()
1573 nd->nd_repstat = NFSERR_NOTSUPP; in nfsd_errmap()
1574 nd->nd_repstat = nfsrv_isannfserr(nd->nd_repstat); in nfsd_errmap()
1575 return (txdr_unsigned(nd->nd_repstat)); in nfsd_errmap()
1577 errp = defaulterrp = nfsrv_v4errmap[nd->nd_procnum]; in nfsd_errmap()
1579 if (*errp == nd->nd_repstat) in nfsd_errmap()
1580 return (txdr_unsigned(nd->nd_repstat)); in nfsd_errmap()
1583 if (nd->nd_repstat <= NFSERR_REMOTE) in nfsd_errmap()
1584 return (txdr_unsigned(nfsrv_v2errmap[nd->nd_repstat - 1])); in nfsd_errmap()
1611 nfsrv_checkuidgid(struct nfsrv_descript *nd, struct nfsvattr *nvap) in nfsrv_checkuidgid() argument
1629 if (nd->nd_cred->cr_uid == 0) in nfsrv_checkuidgid()
1631 if ((NFSVNO_ISSETUID(nvap) && nvap->na_uid != nd->nd_cred->cr_uid) || in nfsrv_checkuidgid()
1633 !groupmember(nvap->na_gid, nd->nd_cred))) in nfsrv_checkuidgid()
1637 NFSEXITCODE2(error, nd); in nfsrv_checkuidgid()
1646 nfsrv_fixattr(struct nfsrv_descript *nd, vnode_t vp, in nfsrv_fixattr() argument
1661 if ((nd->nd_flag & ND_NFSV4) == 0) in nfsrv_fixattr()
1665 tuid = nd->nd_cred->cr_uid; in nfsrv_fixattr()
1668 nvap->na_uid != nd->nd_cred->cr_uid) { in nfsrv_fixattr()
1669 if (nd->nd_cred->cr_uid == 0) { in nfsrv_fixattr()
1691 if (groupmember(nvap->na_gid, nd->nd_cred)) { in nfsrv_fixattr()
1692 nd->nd_cred->cr_uid = 0; in nfsrv_fixattr()
1701 error = nfsvno_setattr(vp, &nva, nd->nd_cred, p, exp); in nfsrv_fixattr()
1714 error = nfsrv_setacl(vp, aclp, nd->nd_cred, p); in nfsrv_fixattr()
1722 nd->nd_cred->cr_uid = tuid; in nfsrv_fixattr()
1725 NFSEXITCODE2(0, nd); in nfsrv_fixattr()
1771 nfsrv_putreferralattr(struct nfsrv_descript *nd, nfsattrbit_t *retbitp, in nfsrv_putreferralattr() argument
1812 prefixnum = nfsrv_putattrbit(nd, &tmpbits); in nfsrv_putreferralattr()
1844 retnum += nfsm_strtom(nd, "/", 1); in nfsrv_putreferralattr()
1858 retnum += nfsm_strtom(nd, cp, len); in nfsrv_putreferralattr()
1866 retnum += nfsm_strtom(nd, cp, len); in nfsrv_putreferralattr()
1889 nfsrv_parsename(struct nfsrv_descript *nd, char *bufp, u_long *hashp, in nfsrv_parsename() argument
1907 if ((nd->nd_flag & ND_NFSV4) && (nd->nd_procnum == NFSV4OP_LOOKUPP || in nfsrv_parsename()
1908 nd->nd_procnum == NFSV4OP_SECINFONONAME)) { in nfsrv_parsename()
1921 nd->nd_repstat = NFSERR_NAMETOL; in nfsrv_parsename()
1925 nd->nd_repstat = NFSERR_INVAL; in nfsrv_parsename()
1933 fromcp = nd->nd_dpos; in nfsrv_parsename()
1934 md = nd->nd_md; in nfsrv_parsename()
1947 nd->nd_repstat = EACCES; in nfsrv_parsename()
1956 if (nd->nd_flag & ND_PUBLOOKUP) { in nfsrv_parsename()
1984 nd->nd_repstat = EACCES; in nfsrv_parsename()
1998 nd->nd_repstat = EACCES; in nfsrv_parsename()
2018 nd->nd_repstat = EACCES; in nfsrv_parsename()
2034 if (nd->nd_flag & ND_NFSV4) in nfsrv_parsename()
2035 nd->nd_repstat = NFSERR_BADNAME; in nfsrv_parsename()
2037 nd->nd_repstat = EACCES; in nfsrv_parsename()
2048 nd->nd_md = md; in nfsrv_parsename()
2049 nd->nd_dpos = fromcp; in nfsrv_parsename()
2053 nd->nd_dpos += i; in nfsrv_parsename()
2055 error = nfsm_advance(nd, i, rem); in nfsrv_parsename()
2065 if (nd->nd_flag & ND_NFSV4) { in nfsrv_parsename()
2069 nd->nd_repstat = NFSERR_BADNAME; in nfsrv_parsename()
2075 nd->nd_repstat = NFSERR_INVAL; in nfsrv_parsename()
2086 NFSEXITCODE2(error, nd); in nfsrv_parsename()
2127 nfsd_checkrootexp(struct nfsrv_descript *nd) in nfsd_checkrootexp() argument
2138 if ((nd->nd_flag & ND_NFSV41) != 0) in nfsd_checkrootexp()
2140 if ((nd->nd_flag & (ND_GSS | ND_EXAUTHSYS)) == ND_EXAUTHSYS) in nfsd_checkrootexp()
2142 if ((nd->nd_flag & (ND_GSSINTEGRITY | ND_EXGSSINTEGRITY)) == in nfsd_checkrootexp()
2145 if ((nd->nd_flag & (ND_GSSPRIVACY | ND_EXGSSPRIVACY)) == in nfsd_checkrootexp()
2148 if ((nd->nd_flag & (ND_GSS | ND_GSSINTEGRITY | ND_GSSPRIVACY | in nfsd_checkrootexp()
2153 if ((nd->nd_flag & ND_EXTLS) == 0) in nfsd_checkrootexp()
2155 if ((nd->nd_flag & (ND_TLSCERTUSER | ND_EXTLSCERTUSER)) == in nfsd_checkrootexp()
2158 if ((nd->nd_flag & (ND_TLSCERT | ND_EXTLSCERT | ND_EXTLSCERTUSER)) == in nfsd_checkrootexp()
2161 if ((nd->nd_flag & (ND_TLS | ND_EXTLSCERTUSER | ND_EXTLSCERT)) == in nfsd_checkrootexp()
2166 if ((nd->nd_flag & ND_TLS) == 0) in nfsd_checkrootexp()
2178 nfsd_getminorvers(struct nfsrv_descript *nd, u_char *tag, u_char **tagstrp, in nfsd_getminorvers() argument
2195 error = nfsrv_mtostr(nd, tagstr, taglen); in nfsd_getminorvers()
2202 nd->nd_flag |= ND_NFSV41; in nfsd_getminorvers()
2204 nd->nd_flag |= (ND_NFSV41 | ND_NFSV42); in nfsd_getminorvers()