Lines Matching refs:sd
59 smb_sd_init(smb_sd_t *sd, uint8_t revision) in smb_sd_init() argument
61 bzero(sd, sizeof (smb_sd_t)); in smb_sd_init()
62 sd->sd_revision = revision; in smb_sd_init()
72 smb_sd_term(smb_sd_t *sd) in smb_sd_term() argument
74 assert(sd); in smb_sd_term()
75 assert((sd->sd_control & SE_SELF_RELATIVE) == 0); in smb_sd_term()
77 smb_sid_free(sd->sd_owner); in smb_sd_term()
78 smb_sid_free(sd->sd_group); in smb_sd_term()
79 smb_acl_free(sd->sd_dacl); in smb_sd_term()
80 smb_acl_free(sd->sd_sacl); in smb_sd_term()
82 bzero(sd, sizeof (smb_sd_t)); in smb_sd_term()
86 smb_sd_len(smb_sd_t *sd, uint32_t secinfo) in smb_sd_len() argument
91 length += smb_sid_len(sd->sd_owner); in smb_sd_len()
94 length += smb_sid_len(sd->sd_group); in smb_sd_len()
97 length += smb_acl_len(sd->sd_dacl); in smb_sd_len()
100 length += smb_acl_len(sd->sd_sacl); in smb_sd_len()
112 smb_sd_get_secinfo(smb_sd_t *sd) in smb_sd_get_secinfo() argument
116 if (sd == NULL) in smb_sd_get_secinfo()
119 if (sd->sd_owner) in smb_sd_get_secinfo()
122 if (sd->sd_group) in smb_sd_get_secinfo()
125 if (sd->sd_dacl) in smb_sd_get_secinfo()
128 if (sd->sd_sacl) in smb_sd_get_secinfo()
195 smb_sd_read(char *path, smb_sd_t *sd, uint32_t secinfo) in smb_sd_read() argument
211 status = smb_sd_fromfs(&fs_sd, sd); in smb_sd_read()
251 smb_sd_write(char *path, smb_sd_t *sd, uint32_t secinfo) in smb_sd_write() argument
261 error = smb_sd_tofs(sd, &fs_sd); in smb_sd_write()
280 smb_sd_tofs(smb_sd_t *sd, smb_fssd_t *fs_sd) in smb_sd_tofs() argument
289 sd_control = sd->sd_control; in smb_sd_tofs()
307 sid = sd->sd_owner; in smb_sd_tofs()
320 sid = sd->sd_group; in smb_sd_tofs()
333 if (sd->sd_control & SE_DACL_PRESENT) { in smb_sd_tofs()
334 status = smb_acl_to_zfs(sd->sd_dacl, flags, in smb_sd_tofs()
345 if (sd->sd_control & SE_SACL_PRESENT) { in smb_sd_tofs()
346 status = smb_acl_to_zfs(sd->sd_sacl, flags, in smb_sd_tofs()
369 smb_sd_fromfs(smb_fssd_t *fs_sd, smb_sd_t *sd) in smb_sd_fromfs() argument
377 assert(sd); in smb_sd_fromfs()
379 smb_sd_init(sd, SECURITY_DESCRIPTOR_REVISION); in smb_sd_fromfs()
387 smb_sd_term(sd); in smb_sd_fromfs()
391 sd->sd_owner = sid; in smb_sd_fromfs()
400 smb_sd_term(sd); in smb_sd_fromfs()
404 sd->sd_group = sid; in smb_sd_fromfs()
412 smb_sd_term(sd); in smb_sd_fromfs()
422 smb_sd_set_dacl(sd, acl, B_TRUE, in smb_sd_fromfs()
425 smb_sd_set_dacl(sd, NULL, B_FALSE, 0); in smb_sd_fromfs()
434 smb_sd_term(sd); in smb_sd_fromfs()
438 smb_sd_set_sacl(sd, acl, B_TRUE, in smb_sd_fromfs()
441 smb_sd_set_sacl(sd, NULL, B_FALSE, 0); in smb_sd_fromfs()
449 smb_sd_set_dacl(smb_sd_t *sd, smb_acl_t *acl, boolean_t present, int flags) in smb_sd_set_dacl() argument
451 assert((sd->sd_control & SE_SELF_RELATIVE) == 0); in smb_sd_set_dacl()
453 sd->sd_dacl = acl; in smb_sd_set_dacl()
456 sd->sd_control |= SE_DACL_DEFAULTED; in smb_sd_set_dacl()
458 sd->sd_control |= SE_DACL_AUTO_INHERITED; in smb_sd_set_dacl()
460 sd->sd_control |= SE_DACL_PROTECTED; in smb_sd_set_dacl()
463 sd->sd_control |= SE_DACL_PRESENT; in smb_sd_set_dacl()
467 smb_sd_set_sacl(smb_sd_t *sd, smb_acl_t *acl, boolean_t present, int flags) in smb_sd_set_sacl() argument
469 assert((sd->sd_control & SE_SELF_RELATIVE) == 0); in smb_sd_set_sacl()
471 sd->sd_sacl = acl; in smb_sd_set_sacl()
474 sd->sd_control |= SE_SACL_DEFAULTED; in smb_sd_set_sacl()
476 sd->sd_control |= SE_SACL_AUTO_INHERITED; in smb_sd_set_sacl()
478 sd->sd_control |= SE_SACL_PROTECTED; in smb_sd_set_sacl()
481 sd->sd_control |= SE_SACL_PRESENT; in smb_sd_set_sacl()