Lines Matching refs:xucred
39 check_xucred(const struct xucred *xucred, socklen_t len) in check_xucred() argument
43 if (len != sizeof(*xucred)) { in check_xucred()
45 (size_t)len, sizeof(*xucred)); in check_xucred()
49 uc_dbgmsg("xucred.cr_version %u", xucred->cr_version); in check_xucred()
50 uc_dbgmsg("xucred.cr_uid %lu", (u_long)xucred->cr_uid); in check_xucred()
51 uc_dbgmsg("xucred.cr_ngroups %d", xucred->cr_ngroups); in check_xucred()
55 if (xucred->cr_version != XUCRED_VERSION) { in check_xucred()
57 xucred->cr_version, XUCRED_VERSION); in check_xucred()
60 if (xucred->cr_uid != uc_cfg.proc_cred.euid) { in check_xucred()
62 (u_long)xucred->cr_uid, (u_long)uc_cfg.proc_cred.euid); in check_xucred()
65 if (xucred->cr_ngroups == 0) { in check_xucred()
69 if (xucred->cr_ngroups < 0) { in check_xucred()
73 if (xucred->cr_ngroups > XU_NGROUPS) { in check_xucred()
75 xucred->cr_ngroups, XU_NGROUPS); in check_xucred()
78 if (xucred->cr_groups[0] != uc_cfg.proc_cred.egid) { in check_xucred()
80 (u_long)xucred->cr_groups[0], (u_long)uc_cfg.proc_cred.egid); in check_xucred()
83 if (uc_check_groups("xucred.cr_groups", xucred->cr_groups, in check_xucred()
84 "xucred.cr_ngroups", xucred->cr_ngroups, false) < 0) in check_xucred()
92 struct xucred xucred; in t_peercred_client() local
101 len = sizeof(xucred); in t_peercred_client()
102 if (getsockopt(fd, 0, LOCAL_PEERCRED, &xucred, &len) < 0) { in t_peercred_client()
107 if (check_xucred(&xucred, len) < 0) in t_peercred_client()
116 struct xucred xucred; in t_peercred_server() local
127 len = sizeof(xucred); in t_peercred_server()
128 if (getsockopt(fd2, 0, LOCAL_PEERCRED, &xucred, &len) < 0) { in t_peercred_server()
134 if (check_xucred(&xucred, len) < 0) { in t_peercred_server()