1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

no longer pass the type to make_sec_desc(), instead the type is

derived from the other arguments
This commit is contained in:
Andrew Tridgell
-
parent cfe4cb5dfa
commit 9ec4b1fa48
3 changed files with 9 additions and 11 deletions

View File

@ -2693,7 +2693,6 @@ uint32 nt_printing_setsec(char *printername, SEC_DESC_BUF *secdesc_ctr)
/* Make a deep copy of the security descriptor */ /* Make a deep copy of the security descriptor */
psd = make_sec_desc(secdesc_ctr->sec->revision, psd = make_sec_desc(secdesc_ctr->sec->revision,
secdesc_ctr->sec->type,
owner_sid, group_sid, owner_sid, group_sid,
sacl, sacl,
dacl, dacl,
@ -2800,8 +2799,6 @@ static SEC_DESC_BUF *construct_default_printer_sdb(void)
if ((psa = make_sec_acl(NT4_ACL_REVISION, 2, ace)) != NULL) { if ((psa = make_sec_acl(NT4_ACL_REVISION, 2, ace)) != NULL) {
psd = make_sec_desc(SEC_DESC_REVISION, psd = make_sec_desc(SEC_DESC_REVISION,
SEC_DESC_SELF_RELATIVE |
SEC_DESC_DACL_PRESENT,
&owner_sid, NULL, &owner_sid, NULL,
NULL, psa, &sd_size); NULL, psa, &sd_size);
free_sec_acl(&psa); free_sec_acl(&psa);
@ -2874,7 +2871,6 @@ BOOL nt_printing_getsec(char *printername, SEC_DESC_BUF **secdesc_ctr)
sid_append_rid(&owner_sid, DOMAIN_USER_RID_ADMIN); sid_append_rid(&owner_sid, DOMAIN_USER_RID_ADMIN);
psd = make_sec_desc((*secdesc_ctr)->sec->revision, psd = make_sec_desc((*secdesc_ctr)->sec->revision,
(*secdesc_ctr)->sec->type,
&owner_sid, &owner_sid,
(*secdesc_ctr)->sec->grp_sid, (*secdesc_ctr)->sec->grp_sid,
(*secdesc_ctr)->sec->sacl, (*secdesc_ctr)->sec->sacl,

View File

@ -708,7 +708,7 @@ BOOL do_reg_create_key(struct cli_state *cli, POLICY_HND *hnd,
DEBUG(4,("REG Create Key: %s %s 0x%08x\n", key_name, key_class, DEBUG(4,("REG Create Key: %s %s 0x%08x\n", key_name, key_class,
sam_access != NULL ? sam_access->mask : 0)); sam_access != NULL ? sam_access->mask : 0));
if((sec = make_sec_desc( 1, SEC_DESC_SELF_RELATIVE, NULL, NULL, NULL, NULL, &sec_len)) == NULL) { if((sec = make_sec_desc( 1, NULL, NULL, NULL, NULL, &sec_len)) == NULL) {
DEBUG(0,("make_sec_desc : malloc fail.\n")); DEBUG(0,("make_sec_desc : malloc fail.\n"));
return False; return False;
} }

View File

@ -419,12 +419,11 @@ SEC_DESC_BUF *sec_desc_merge(SEC_DESC_BUF *new_sdb, SEC_DESC_BUF *old_sdb)
dacl = new_sdb->sec->dacl; dacl = new_sdb->sec->dacl;
} else { } else {
dacl = old_sdb->sec->dacl; dacl = old_sdb->sec->dacl;
secdesc_type |= SEC_DESC_DACL_PRESENT;
} }
/* Create new security descriptor from bits */ /* Create new security descriptor from bits */
psd = make_sec_desc(new_sdb->sec->revision, secdesc_type, psd = make_sec_desc(new_sdb->sec->revision,
owner_sid, group_sid, sacl, dacl, &secdesc_size); owner_sid, group_sid, sacl, dacl, &secdesc_size);
return_sdb = make_sec_desc_buf(secdesc_size, psd); return_sdb = make_sec_desc_buf(secdesc_size, psd);
@ -438,7 +437,7 @@ SEC_DESC_BUF *sec_desc_merge(SEC_DESC_BUF *new_sdb, SEC_DESC_BUF *old_sdb)
Creates a SEC_DESC structure Creates a SEC_DESC structure
********************************************************************/ ********************************************************************/
SEC_DESC *make_sec_desc(uint16 revision, uint16 type, SEC_DESC *make_sec_desc(uint16 revision,
DOM_SID *owner_sid, DOM_SID *grp_sid, DOM_SID *owner_sid, DOM_SID *grp_sid,
SEC_ACL *sacl, SEC_ACL *dacl, size_t *sd_size) SEC_ACL *sacl, SEC_ACL *dacl, size_t *sd_size)
{ {
@ -453,7 +452,10 @@ SEC_DESC *make_sec_desc(uint16 revision, uint16 type,
ZERO_STRUCTP(dst); ZERO_STRUCTP(dst);
dst->revision = revision; dst->revision = revision;
dst->type = type; dst->type = SEC_DESC_SELF_RELATIVE;
if (sacl) dst->type |= SEC_DESC_SACL_PRESENT;
if (dacl) dst->type |= SEC_DESC_DACL_PRESENT;
dst->off_owner_sid = 0; dst->off_owner_sid = 0;
dst->off_grp_sid = 0; dst->off_grp_sid = 0;
@ -535,7 +537,7 @@ SEC_DESC *dup_sec_desc( SEC_DESC *src)
if(src == NULL) if(src == NULL)
return NULL; return NULL;
return make_sec_desc( src->revision, src->type, return make_sec_desc( src->revision,
src->owner_sid, src->grp_sid, src->sacl, src->owner_sid, src->grp_sid, src->sacl,
src->dacl, &dummy); src->dacl, &dummy);
} }
@ -568,7 +570,7 @@ void free_sec_desc(SEC_DESC **ppsd)
SEC_DESC *make_standard_sec_desc(DOM_SID *owner_sid, DOM_SID *grp_sid, SEC_DESC *make_standard_sec_desc(DOM_SID *owner_sid, DOM_SID *grp_sid,
SEC_ACL *dacl, size_t *sd_size) SEC_ACL *dacl, size_t *sd_size)
{ {
return make_sec_desc(SEC_DESC_REVISION, SEC_DESC_SELF_RELATIVE|SEC_DESC_DACL_PRESENT, return make_sec_desc(SEC_DESC_REVISION,
owner_sid, grp_sid, NULL, dacl, sd_size); owner_sid, grp_sid, NULL, dacl, sd_size);
} }