Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
5b4aa62f
Commit
5b4aa62f
authored
Sep 22, 2007
by
Mikołaj Zalewski
Committed by
Alexandre Julliard
Sep 24, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
advapi32: Add some more rights constants for ConvertStringSecurityDescriptorToSecurityDescriptor.
parent
316095c7
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
68 additions
and
3 deletions
+68
-3
security.c
dlls/advapi32/security.c
+44
-0
security.c
dlls/advapi32/tests/security.c
+0
-3
iads.idl
include/iads.idl
+24
-0
No files found.
dlls/advapi32/security.c
View file @
5b4aa62f
...
...
@@ -35,6 +35,8 @@
#include "sddl.h"
#include "winsvc.h"
#include "aclapi.h"
#include "objbase.h"
#include "iads.h"
#include "advapi32_misc.h"
#include "wine/debug.h"
...
...
@@ -246,6 +248,27 @@ static const WCHAR SDDL_READ_CONTROL[] = {'R','C',0};
static
const
WCHAR
SDDL_WRITE_DAC
[]
=
{
'W'
,
'D'
,
0
};
static
const
WCHAR
SDDL_WRITE_OWNER
[]
=
{
'W'
,
'O'
,
0
};
static
const
WCHAR
SDDL_STANDARD_DELETE
[]
=
{
'S'
,
'D'
,
0
};
static
const
WCHAR
SDDL_READ_PROPERTY
[]
=
{
'R'
,
'P'
,
0
};
static
const
WCHAR
SDDL_WRITE_PROPERTY
[]
=
{
'W'
,
'P'
,
0
};
static
const
WCHAR
SDDL_CREATE_CHILD
[]
=
{
'C'
,
'C'
,
0
};
static
const
WCHAR
SDDL_DELETE_CHILD
[]
=
{
'D'
,
'C'
,
0
};
static
const
WCHAR
SDDL_LIST_CHILDREN
[]
=
{
'L'
,
'C'
,
0
};
static
const
WCHAR
SDDL_SELF_WRITE
[]
=
{
'S'
,
'W'
,
0
};
static
const
WCHAR
SDDL_LIST_OBJECT
[]
=
{
'L'
,
'O'
,
0
};
static
const
WCHAR
SDDL_DELETE_TREE
[]
=
{
'D'
,
'T'
,
0
};
static
const
WCHAR
SDDL_CONTROL_ACCESS
[]
=
{
'C'
,
'R'
,
0
};
static
const
WCHAR
SDDL_FILE_ALL
[]
=
{
'F'
,
'A'
,
0
};
static
const
WCHAR
SDDL_FILE_READ
[]
=
{
'F'
,
'R'
,
0
};
static
const
WCHAR
SDDL_FILE_WRITE
[]
=
{
'F'
,
'W'
,
0
};
static
const
WCHAR
SDDL_FILE_EXECUTE
[]
=
{
'F'
,
'X'
,
0
};
static
const
WCHAR
SDDL_KEY_ALL
[]
=
{
'K'
,
'A'
,
0
};
static
const
WCHAR
SDDL_KEY_READ
[]
=
{
'K'
,
'R'
,
0
};
static
const
WCHAR
SDDL_KEY_WRITE
[]
=
{
'K'
,
'W'
,
0
};
static
const
WCHAR
SDDL_KEY_EXECUTE
[]
=
{
'K'
,
'X'
,
0
};
static
const
WCHAR
SDDL_GENERIC_ALL
[]
=
{
'G'
,
'A'
,
0
};
static
const
WCHAR
SDDL_GENERIC_READ
[]
=
{
'G'
,
'R'
,
0
};
static
const
WCHAR
SDDL_GENERIC_WRITE
[]
=
{
'G'
,
'W'
,
0
};
...
...
@@ -3107,10 +3130,31 @@ static const ACEFLAG AceRights[] =
{
SDDL_GENERIC_READ
,
GENERIC_READ
},
{
SDDL_GENERIC_WRITE
,
GENERIC_WRITE
},
{
SDDL_GENERIC_EXECUTE
,
GENERIC_EXECUTE
},
{
SDDL_READ_CONTROL
,
READ_CONTROL
},
{
SDDL_STANDARD_DELETE
,
DELETE
},
{
SDDL_WRITE_DAC
,
WRITE_DAC
},
{
SDDL_WRITE_OWNER
,
WRITE_OWNER
},
{
SDDL_READ_PROPERTY
,
ADS_RIGHT_DS_READ_PROP
},
{
SDDL_WRITE_PROPERTY
,
ADS_RIGHT_DS_WRITE_PROP
},
{
SDDL_CREATE_CHILD
,
ADS_RIGHT_DS_CREATE_CHILD
},
{
SDDL_DELETE_CHILD
,
ADS_RIGHT_DS_DELETE_CHILD
},
{
SDDL_LIST_CHILDREN
,
ADS_RIGHT_ACTRL_DS_LIST
},
{
SDDL_SELF_WRITE
,
ADS_RIGHT_DS_SELF
},
{
SDDL_LIST_OBJECT
,
ADS_RIGHT_DS_LIST_OBJECT
},
{
SDDL_DELETE_TREE
,
ADS_RIGHT_DS_DELETE_TREE
},
{
SDDL_CONTROL_ACCESS
,
ADS_RIGHT_DS_CONTROL_ACCESS
},
{
SDDL_FILE_ALL
,
FILE_ALL_ACCESS
},
{
SDDL_FILE_READ
,
FILE_GENERIC_READ
},
{
SDDL_FILE_WRITE
,
FILE_GENERIC_WRITE
},
{
SDDL_FILE_EXECUTE
,
FILE_GENERIC_EXECUTE
},
{
SDDL_KEY_ALL
,
KEY_ALL_ACCESS
},
{
SDDL_KEY_READ
,
KEY_READ
},
{
SDDL_KEY_WRITE
,
KEY_WRITE
},
{
SDDL_KEY_EXECUTE
,
KEY_EXECUTE
},
{
NULL
,
0
},
};
...
...
dlls/advapi32/tests/security.c
View file @
5b4aa62f
...
...
@@ -1848,19 +1848,16 @@ static void test_ConvertStringSecurityDescriptor(void)
SetLastError
(
0xdeadbeef
);
ret
=
pConvertStringSecurityDescriptorToSecurityDescriptorA
(
"D:(A;;RPWPCCDCLCSWLODTCR;;;WD)"
,
SDDL_REVISION_1
,
&
pSD
,
NULL
);
todo_wine
ok
(
ret
,
"ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d
\n
"
,
GetLastError
());
LocalFree
(
pSD
);
SetLastError
(
0xdeadbeef
);
ret
=
pConvertStringSecurityDescriptorToSecurityDescriptorA
(
"D:(A;;FAFRFWFX;;;WD)"
,
SDDL_REVISION_1
,
&
pSD
,
NULL
);
todo_wine
ok
(
ret
,
"ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d
\n
"
,
GetLastError
());
LocalFree
(
pSD
);
SetLastError
(
0xdeadbeef
);
ret
=
pConvertStringSecurityDescriptorToSecurityDescriptorA
(
"D:(A;;KAKRKWKX;;;WD)"
,
SDDL_REVISION_1
,
&
pSD
,
NULL
);
todo_wine
ok
(
ret
,
"ConvertStringSecurityDescriptorToSecurityDescriptor failed with error %d
\n
"
,
GetLastError
());
LocalFree
(
pSD
);
SetLastError
(
0xdeadbeef
);
...
...
include/iads.idl
View file @
5b4aa62f
...
...
@@ -18,6 +18,30 @@
import
"oaidl.idl"
;
typedef
enum
{
ADS_RIGHT_DS_CREATE_CHILD
=
0
x00000001
,
ADS_RIGHT_DS_DELETE_CHILD
=
0
x00000002
,
ADS_RIGHT_ACTRL_DS_LIST
=
0
x00000004
,
ADS_RIGHT_DS_SELF
=
0
x00000008
,
ADS_RIGHT_DS_READ_PROP
=
0
x00000010
,
ADS_RIGHT_DS_WRITE_PROP
=
0
x00000020
,
ADS_RIGHT_DS_DELETE_TREE
=
0
x00000040
,
ADS_RIGHT_DS_LIST_OBJECT
=
0
x00000080
,
ADS_RIGHT_DS_CONTROL_ACCESS
=
0
x00000100
,
ADS_RIGHT_DELETE
=
0
x00010000
,
ADS_RIGHT_READ_CONTROL
=
0
x00020000
,
ADS_RIGHT_WRITE_DAC
=
0
x00040000
,
ADS_RIGHT_WRITE_OWNER
=
0
x00080000
,
ADS_RIGHT_SYNCHRONIZE
=
0
x00100000
,
ADS_RIGHT_ACCESS_SYSTEM_SECURITY
=
0
x00200000
,
ADS_RIGHT_GENERIC_ALL
=
0
x10000000
,
ADS_RIGHT_GENERIC_EXECUTE
=
0
x20000000
,
ADS_RIGHT_GENERIC_WRITE
=
0
x40000000
,
ADS_RIGHT_GENERIC_READ
=
0
x80000000
}
ADS_RIGHTS_ENUM
;
/*****************************************************************************
*
IADsContainer
interface
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment