diff options
author | Gerald Carter <jerry@samba.org> | 2005-06-28 22:39:18 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2005-06-28 22:39:18 +0000 |
commit | cf6d3937e38d3a34e6ecad715df6abb8c858dbc6 (patch) | |
tree | d1d721553d65ab2731b702d8174de9d4bf163f1e | |
parent | 006e56d55a4ca099e57fb337aa5a963d1bf31955 (diff) | |
download | samba-cf6d3937e38d3a34e6ecad715df6abb8c858dbc6.tar.gz samba-cf6d3937e38d3a34e6ecad715df6abb8c858dbc6.tar.xz samba-cf6d3937e38d3a34e6ecad715df6abb8c858dbc6.zip |
r7987: map generic bits to specific bits in open requests
-rw-r--r-- | source/rpc_server/srv_reg_nt.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/rpc_server/srv_reg_nt.c b/source/rpc_server/srv_reg_nt.c index 4603bb077bd..158888967b3 100644 --- a/source/rpc_server/srv_reg_nt.c +++ b/source/rpc_server/srv_reg_nt.c @@ -41,7 +41,7 @@ /* no idea if this is correct, just use the file access bits for now */ -struct generic_mapping reg_map = { REG_KEY_READ, REG_KEY_WRITE, REG_KEY_EXECUTE, REG_KEY_ALL }; +static struct generic_mapping reg_generic_map = { REG_KEY_READ, REG_KEY_WRITE, REG_KEY_EXECUTE, REG_KEY_ALL }; /******************************************************************** ********************************************************************/ @@ -51,6 +51,7 @@ NTSTATUS registry_access_check( SEC_DESC *sec_desc, NT_USER_TOKEN *token, { NTSTATUS result; + se_map_generic( &access_desired, ®_generic_map ); se_access_check( sec_desc, token, access_desired, access_granted, &result ); return result; @@ -1020,12 +1021,12 @@ static WERROR make_default_reg_sd( TALLOC_CTX *ctx, SEC_DESC **psd ) /* basic access for Everyone */ - init_sec_access(&mask, reg_map.generic_execute | reg_map.generic_read ); + init_sec_access(&mask, reg_generic_map.generic_execute | reg_generic_map.generic_read ); init_sec_ace(&ace[0], &global_sid_World, SEC_ACE_TYPE_ACCESS_ALLOWED, mask, 0); /* add Full Access 'BUILTIN\Administrators' */ - init_sec_access(&mask, reg_map.generic_all); + init_sec_access(&mask, reg_generic_map.generic_all); sid_copy(&adm_sid, &global_sid_Builtin); sid_append_rid(&adm_sid, BUILTIN_ALIAS_RID_ADMINS); init_sec_ace(&ace[1], &adm_sid, SEC_ACE_TYPE_ACCESS_ALLOWED, mask, 0); |