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:
@ -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,
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user