Lines Matching refs:nd

156 static int nfsrv_skipace(struct nfsrv_descript *nd, int *acesizep);
172 nfsm_mbufuio(struct nfsrv_descript *nd, struct uio *uiop, int siz) in nfsm_mbufuio() argument
180 mp = nd->nd_md; in nfsm_mbufuio()
181 mbufcp = nd->nd_dpos; in nfsm_mbufuio()
235 nd->nd_dpos = mbufcp; in nfsm_mbufuio()
236 nd->nd_md = mp; in nfsm_mbufuio()
239 error = nfsm_advance(nd, rem, len); in nfsm_mbufuio()
241 nd->nd_dpos += rem; in nfsm_mbufuio()
245 NFSEXITCODE2(error, nd); in nfsm_mbufuio()
257 nfsm_dissct(struct nfsrv_descript *nd, int siz, int how) in nfsm_dissct() argument
266 left = NFSMTOD(nd->nd_md, caddr_t) + mbuf_len(nd->nd_md) - nd->nd_dpos; in nfsm_dissct()
268 nd->nd_md = mbuf_next(nd->nd_md); in nfsm_dissct()
269 if (nd->nd_md == NULL) in nfsm_dissct()
271 left = mbuf_len(nd->nd_md); in nfsm_dissct()
272 nd->nd_dpos = NFSMTOD(nd->nd_md, caddr_t); in nfsm_dissct()
275 retp = nd->nd_dpos; in nfsm_dissct()
276 nd->nd_dpos += siz; in nfsm_dissct()
277 } else if (mbuf_next(nd->nd_md) == NULL) { in nfsm_dissct()
285 mbuf_setnext(mp2, mbuf_next(nd->nd_md)); in nfsm_dissct()
286 mbuf_setnext(nd->nd_md, mp2); in nfsm_dissct()
287 mbuf_setlen(nd->nd_md, mbuf_len(nd->nd_md) - left); in nfsm_dissct()
288 nd->nd_md = mp2; in nfsm_dissct()
290 NFSBCOPY(nd->nd_dpos, p, left); /* Copy what was left */ in nfsm_dissct()
309 mbuf_setlen(nd->nd_md, siz); in nfsm_dissct()
310 nd->nd_md = mp2; in nfsm_dissct()
311 nd->nd_dpos = NFSMTOD(mp2, caddr_t); in nfsm_dissct()
323 nfsm_advance(struct nfsrv_descript *nd, int offs, int left) in nfsm_advance() argument
339 left = NFSMTOD(nd->nd_md, caddr_t) + mbuf_len(nd->nd_md) - in nfsm_advance()
340 nd->nd_dpos; in nfsm_advance()
347 nd->nd_md = mbuf_next(nd->nd_md); in nfsm_advance()
348 if (nd->nd_md == NULL) { in nfsm_advance()
352 left = mbuf_len(nd->nd_md); in nfsm_advance()
353 nd->nd_dpos = NFSMTOD(nd->nd_md, caddr_t); in nfsm_advance()
355 nd->nd_dpos += offs; in nfsm_advance()
367 nfsm_strtom(struct nfsrv_descript *nd, const char *cp, int siz) in nfsm_strtom() argument
380 m2 = nd->nd_mb; in nfsm_strtom()
381 cp2 = nd->nd_bpos; in nfsm_strtom()
415 nd->nd_mb = m2; in nfsm_strtom()
416 nd->nd_bpos = NFSMTOD(m2, caddr_t) + mbuf_len(m2); in nfsm_strtom()
454 nfsm_fhtom(struct nfsrv_descript *nd, u_int8_t *fhp, int size, int set_true) in nfsm_fhtom() argument
462 switch (nd->nd_flag & (ND_NFSV2 | ND_NFSV3 | ND_NFSV4)) { in nfsm_fhtom()
483 (void) nfsm_strtom(nd, fhp, size); in nfsm_fhtom()
568 newnfs_trimleading(nd) in newnfs_trimleading() argument
569 struct nfsrv_descript *nd; in newnfs_trimleading()
577 if (nd->nd_mrep != nd->nd_md) {
578 m = nd->nd_mrep;
579 while (mbuf_next(m) != nd->nd_md) {
585 mbuf_freem(nd->nd_mrep);
587 m = nd->nd_md;
592 offs = nd->nd_dpos - NFSMTOD(m, caddr_t);
605 nd->nd_mrep = m;
606 nd->nd_md = m;
607 nd->nd_dpos = NFSMTOD(m, caddr_t);
614 newnfs_trimtrailing(nd, mb, bpos) in newnfs_trimtrailing() argument
615 struct nfsrv_descript *nd; in newnfs_trimtrailing()
625 nd->nd_mb = mb;
626 nd->nd_bpos = bpos;
633 nfsm_getfh(struct nfsrv_descript *nd, struct nfsfh **nfhpp) in nfsm_getfh() argument
640 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { in nfsm_getfh()
651 error = nfsrv_mtostr(nd, nfhp->nfh_fh, len); in nfsm_getfh()
659 NFSEXITCODE2(error, nd); in nfsm_getfh()
668 nfsrv_dissectacl(struct nfsrv_descript *nd, NFSACL_T *aclp, int *aclerrp, in nfsrv_dissectacl() argument
691 error = nfsrv_dissectace(nd, &aclp->acl_entry[i], in nfsrv_dissectacl()
694 error = nfsrv_skipace(nd, &acesize); in nfsrv_dissectacl()
706 NFSEXITCODE2(error, nd); in nfsrv_dissectacl()
714 nfsrv_skipace(struct nfsrv_descript *nd, int *acesizep) in nfsrv_skipace() argument
721 error = nfsm_advance(nd, NFSM_RNDUP(len), -1); in nfsrv_skipace()
724 NFSEXITCODE2(error, nd); in nfsrv_skipace()
734 nfsrv_getattrbits(struct nfsrv_descript *nd, nfsattrbit_t *attrbitp, int *cntp, in nfsrv_getattrbits() argument
765 NFSEXITCODE2(error, nd); in nfsrv_getattrbits()
780 nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, in nfsv4_loadattr() argument
808 error = nfsrv_getattrbits(nd, &attrbits, NULL, &retnotsup); in nfsv4_loadattr()
810 error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); in nfsv4_loadattr()
878 error = nfsrv_getattrbits(nd, &retattrbits, in nfsv4_loadattr()
881 error = nfsrv_getattrbits(nd, &nap->na_suppattr, in nfsv4_loadattr()
1041 error = nfsrv_dissectacl(nd, naclp, &aceerr, in nfsv4_loadattr()
1052 error = nfsrv_dissectacl(nd, NULL, &aceerr, in nfsv4_loadattr()
1059 error = nfsrv_dissectacl(nd, aclp, &aceerr, in nfsv4_loadattr()
1062 error = nfsrv_dissectacl(nd, NULL, &aceerr, in nfsv4_loadattr()
1148 error = nfsm_getfh(nd, &tnfhp); in nfsv4_loadattr()
1214 error = nfsrv_getrefstr(nd, &cp, &cp2, &l, &m); in nfsv4_loadattr()
1346 error = nfsm_advance(nd, NFSM_RNDUP(i), -1); in nfsv4_loadattr()
1401 error = nfsrv_mtostr(nd, cp, j); in nfsv4_loadattr()
1409 if (nfsv4_strtouid(nd, cp, j, &uid, p) || in nfsv4_loadattr()
1414 if (nfsv4_strtouid(nd, cp, j, &uid, p)) in nfsv4_loadattr()
1434 error = nfsrv_mtostr(nd, cp, j); in nfsv4_loadattr()
1442 if (nfsv4_strtogid(nd, cp, j, &gid, p) || in nfsv4_loadattr()
1447 if (nfsv4_strtogid(nd, cp, j, &gid, p)) in nfsv4_loadattr()
1741 error = nfsm_advance(nd, attrsize - attrsum, -1); in nfsv4_loadattr()
1744 NFSEXITCODE2(error, nd); in nfsv4_loadattr()
1920 nfsrv_mtostr(struct nfsrv_descript *nd, char *str, int siz) in nfsrv_mtostr() argument
1927 mp = nd->nd_md; in nfsrv_mtostr()
1928 cp = nd->nd_dpos; in nfsrv_mtostr()
1953 nd->nd_dpos = cp; in nfsrv_mtostr()
1954 nd->nd_md = mp; in nfsrv_mtostr()
1957 error = nfsm_advance(nd, rem, len); in nfsrv_mtostr()
1959 nd->nd_dpos += rem; in nfsrv_mtostr()
1963 NFSEXITCODE2(error, nd); in nfsrv_mtostr()
1971 nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, in nfsv4_fillattr() argument
2020 nd->nd_repstat = NFSERR_ACCES; in nfsv4_fillattr()
2051 nd->nd_repstat = NFSERR_ACCES; in nfsv4_fillattr()
2062 prefixnum = nfsrv_putattrbit(nd, retbitp); in nfsv4_fillattr()
2079 retnum += nfsrv_putattrbit(nd, &attrbits); in nfsv4_fillattr()
2149 retnum += nfsrv_buildacl(nd, aclp, vnode_vtype(vp), p); in nfsv4_fillattr()
2180 retnum += nfsm_fhtom(nd, (u_int8_t *)fhp, 0, 0); in nfsv4_fillattr()
2284 retnum += nfsm_strtom(nd, cp, siz); in nfsv4_fillattr()
2291 retnum += nfsm_strtom(nd, cp, siz); in nfsv4_fillattr()
2470 nfsrv_putattrbit(struct nfsrv_descript *nd, nfsattrbit_t *attrbitp) in nfsrv_putattrbit() argument
2609 nfsv4_strtouid(struct nfsrv_descript *nd, u_char *str, int len, uid_t *uidp, in nfsv4_strtouid() argument
2628 if ((nd->nd_flag & ND_KERBV) == 0 && in nfsv4_strtouid()
2629 ((nd->nd_flag & ND_NFSCL) != 0 || in nfsv4_strtouid()
2819 nfsv4_strtogid(struct nfsrv_descript *nd, u_char *str, int len, gid_t *gidp, in nfsv4_strtogid() argument
2838 if ((nd->nd_flag & ND_KERBV) == 0 && in nfsv4_strtogid()
2839 ((nd->nd_flag & ND_NFSCL) != 0 || in nfsv4_strtogid()
3006 struct nfsrv_descript *nd; in nfsrv_getuser() local
3019 nd = &nfsd; in nfsrv_getuser()
3021 nd->nd_flag = ND_GSSINITREPLY; in nfsrv_getuser()
3022 nfsrvd_rephead(nd); in nfsrv_getuser()
3024 nd->nd_procnum = procnum; in nfsrv_getuser()
3033 (void) nfsm_strtom(nd, name, len); in nfsrv_getuser()
3035 error = newnfs_request(nd, NULL, NULL, &nfsrv_nfsuserdsock, NULL, NULL, in nfsrv_getuser()
3039 mbuf_freem(nd->nd_mrep); in nfsrv_getuser()
3040 error = nd->nd_repstat; in nfsrv_getuser()
3289 nfsrv_getrefstr(struct nfsrv_descript *nd, u_char **fsrootp, u_char **srvp, in nfsrv_getrefstr() argument
3328 error = nfsrv_mtostr(nd, cp, len); in nfsrv_getrefstr()
3368 error = nfsrv_mtostr(nd, cp3, len); in nfsrv_getrefstr()
3387 error = nfsrv_mtostr(nd, lsp->host, len); in nfsrv_getrefstr()
3405 error = nfsrv_mtostr(nd, cp3, len); in nfsrv_getrefstr()
3430 NFSEXITCODE2(0, nd); in nfsrv_getrefstr()
3437 NFSEXITCODE2(error, nd); in nfsrv_getrefstr()
3466 nfsrvd_rephead(struct nfsrv_descript *nd) in nfsrvd_rephead() argument
3473 if ((nd->nd_flag & ND_GSSINITREPLY) == 0 && in nfsrvd_rephead()
3474 nfs_bigreply[nd->nd_procnum]) { in nfsrvd_rephead()
3476 nd->nd_mreq = mreq; in nfsrvd_rephead()
3477 nd->nd_mb = mreq; in nfsrvd_rephead()
3480 nd->nd_mreq = mreq; in nfsrvd_rephead()
3481 nd->nd_mb = mreq; in nfsrvd_rephead()
3483 nd->nd_bpos = NFSMTOD(mreq, caddr_t); in nfsrvd_rephead()
3486 if ((nd->nd_flag & ND_GSSINITREPLY) == 0) in nfsrvd_rephead()
3487 NFSM_BUILD(nd->nd_errp, int *, NFSX_UNSIGNED); in nfsrvd_rephead()