Lines Matching refs:fs_sd

121     smb_attr_t *attr, smb_node_t **ret_snode, smb_fssd_t *fs_sd)
133 ASSERT(fs_sd);
142 is_dir = ((fs_sd->sd_flags & SMB_FSSD_FLAGS_DIR) != 0);
145 if (fs_sd->sd_secinfo & SMB_ACL_SECINFO) {
146 dacl = fs_sd->sd_zdacl;
147 sacl = fs_sd->sd_zsacl;
196 if (fs_sd->sd_secinfo & SMB_OWNER_SECINFO) {
197 set_attr.sa_vattr.va_uid = fs_sd->sd_uid;
201 if (fs_sd->sd_secinfo & SMB_GROUP_SECINFO) {
202 set_attr.sa_vattr.va_gid = fs_sd->sd_gid;
246 fs_sd, 1);
441 smb_fssd_t fs_sd;
452 smb_fssd_init(&fs_sd, secinfo, 0);
454 status = smb_sd_tofs(op->sd, &fs_sd);
457 name, attr, ret_snode, &fs_sd);
461 smb_fssd_term(&fs_sd);
468 smb_fssd_init(&fs_sd, SMB_ACL_SECINFO, 0);
469 rc = smb_fsop_sdinherit(sr, dnode, &fs_sd);
472 name, attr, ret_snode, &fs_sd);
475 smb_fssd_term(&fs_sd);
528 smb_fssd_t fs_sd;
586 smb_fssd_init(&fs_sd, secinfo, SMB_FSSD_FLAGS_DIR);
588 status = smb_sd_tofs(op->sd, &fs_sd);
591 name, attr, ret_snode, &fs_sd);
595 smb_fssd_term(&fs_sd);
602 smb_fssd_init(&fs_sd, SMB_ACL_SECINFO, SMB_FSSD_FLAGS_DIR);
603 rc = smb_fsop_sdinherit(sr, dnode, &fs_sd);
606 name, attr, ret_snode, &fs_sd);
609 smb_fssd_term(&fs_sd);
1884 * fs_sd->sd_secinfo, it'll set DACL and SACL pointers in
1885 * fs_sd. Note that requesting a DACL/SACL doesn't mean that
1886 * the corresponding field in fs_sd should be non-NULL upon
1896 smb_fssd_t *fs_sd)
1910 if (fs_sd->sd_secinfo & SMB_DACL_SECINFO)
1913 if (fs_sd->sd_secinfo & SMB_SACL_SECINFO)
1943 smb_node_is_dir(snode), fs_sd->sd_uid, fs_sd->sd_gid);
1946 smb_fsacl_split(acl, &fs_sd->sd_zdacl, &fs_sd->sd_zsacl,
1947 fs_sd->sd_secinfo);
1957 * Stores the filesystem ACL provided in fs_sd->sd_acl.
1961 smb_fssd_t *fs_sd)
1981 if (fs_sd->sd_secinfo & SMB_DACL_SECINFO)
1984 if (fs_sd->sd_secinfo & SMB_SACL_SECINFO)
2015 dacl = fs_sd->sd_zdacl;
2016 sacl = fs_sd->sd_zsacl;
2030 fs_sd->sd_uid, fs_sd->sd_gid);
2055 * The items are specified in fs_sd->sd_secinfo.
2059 smb_fssd_t *fs_sd)
2067 ASSERT(fs_sd);
2078 if (fs_sd->sd_secinfo & (SMB_OWNER_SECINFO | SMB_GROUP_SECINFO)) {
2103 fs_sd->sd_uid = attr.sa_vattr.va_uid;
2104 fs_sd->sd_gid = attr.sa_vattr.va_gid;
2110 if (fs_sd->sd_secinfo & SMB_ACL_SECINFO) {
2111 error = smb_fsop_aclread(sr, cr, snode, fs_sd);
2129 * fs_sd parameter contains DACL and SACL specified by SMB
2136 * is specified in input fs_sd, the function reads audit entries
2137 * of the existing ACL of the file and point fs_sd->sd_zsdacl
2139 * function is called the passed fs_sd would point to the specified
2144 smb_fsop_sdmerge(smb_request_t *sr, smb_node_t *snode, smb_fssd_t *fs_sd)
2153 if ((fs_sd->sd_secinfo & SMB_ACL_SECINFO) != SMB_ACL_SECINFO) {
2154 if (fs_sd->sd_secinfo & SMB_DACL_SECINFO) {
2159 fs_sd->sd_flags);
2163 ASSERT(fs_sd->sd_zsacl == NULL);
2164 fs_sd->sd_zsacl = cur_sd.sd_zsacl;
2165 if (fs_sd->sd_zsacl && fs_sd->sd_zdacl)
2166 fs_sd->sd_zsacl->acl_flags =
2167 fs_sd->sd_zdacl->acl_flags;
2174 fs_sd->sd_flags);
2178 ASSERT(fs_sd->sd_zdacl == NULL);
2179 fs_sd->sd_zdacl = cur_sd.sd_zdacl;
2180 if (fs_sd->sd_zdacl && fs_sd->sd_zsacl)
2181 fs_sd->sd_zdacl->acl_flags =
2182 fs_sd->sd_zsacl->acl_flags;
2197 * Provided items in fs_sd are specified by fs_sd->sd_secinfo.
2217 smb_fssd_t *fs_sd, int overwrite)
2225 ASSERT(fs_sd);
2234 if (fs_sd->sd_secinfo & SMB_OWNER_SECINFO) {
2235 set_attr.sa_vattr.va_uid = fs_sd->sd_uid;
2240 if (fs_sd->sd_secinfo & SMB_GROUP_SECINFO) {
2241 set_attr.sa_vattr.va_gid = fs_sd->sd_gid;
2246 if (fs_sd->sd_secinfo & SMB_DACL_SECINFO)
2249 if (fs_sd->sd_secinfo & SMB_SACL_SECINFO)
2273 if (fs_sd->sd_secinfo & SMB_ACL_SECINFO) {
2275 error = smb_fsop_sdmerge(sr, snode, fs_sd);
2280 error = smb_fsop_aclwrite(sr, cr, snode, fs_sd);
2322 smb_fsop_sdinherit(smb_request_t *sr, smb_node_t *dnode, smb_fssd_t *fs_sd)
2329 ASSERT(fs_sd);
2335 fs_sd->sd_secinfo = 0;
2341 error = smb_fsop_sdread(sr, kcred, dnode, fs_sd);
2346 is_dir = (fs_sd->sd_flags & SMB_FSSD_FLAGS_DIR);
2347 dacl = smb_fsacl_inherit(fs_sd->sd_zdacl, is_dir, SMB_DACL_SECINFO,
2349 sacl = smb_fsacl_inherit(fs_sd->sd_zsacl, is_dir, SMB_SACL_SECINFO,
2353 fs_sd->sd_secinfo &= ~SMB_SACL_SECINFO;
2355 smb_fsacl_free(fs_sd->sd_zdacl);
2356 smb_fsacl_free(fs_sd->sd_zsacl);
2358 fs_sd->sd_zdacl = dacl;
2359 fs_sd->sd_zsacl = sacl;