2 Unix SMB/CIFS implementation.
3 SMB2 torture tester - deny mode scanning functions
4 Copyright (C) Andrew Tridgell 2001
5 Copyright (C) David Mulder 2019
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
22 #include "libcli/smb2/smb2.h"
23 #include "libcli/smb2/smb2_calls.h"
24 #include "torture/util.h"
25 #include "torture/smb2/proto.h"
27 enum deny_result
{A_0
=0, A_X
=1, A_R
=2, A_W
=3, A_RW
=5};
29 static const char *denystr(int denymode
)
35 {NTCREATEX_SHARE_ACCESS_NONE
, "NTCREATEX_SHARE_ACCESS_NONE"},
36 {NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, "NTCREATEX_SHARE_ACCESS_READ|NTCREATEX_SHARE_ACCESS_DELETE"},
37 {NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, "NTCREATEX_SHARE_ACCESS_WRITE|NTCREATEX_SHARE_ACCESS_DELETE"},
38 {NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, "NTCREATEX_SHARE_ACCESS_READ|NTCREATEX_SHARE_ACCESS_WRITE|NTCREATEX_SHARE_ACCESS_DELETE"},
41 for (i
=0;deny_modes
[i
].name
;i
++) {
42 if (deny_modes
[i
].v
== denymode
) return deny_modes
[i
].name
;
47 static const char *openstr(int mode
)
53 {SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, "SEC_FILE_READ_DATA|SEC_FILE_WRITE_DATA"},
54 {SEC_FILE_READ_DATA
, "SEC_FILE_READ_DATA"},
55 {SEC_FILE_WRITE_DATA
, "SEC_FILE_WRITE_DATA"},
58 for (i
=0;open_modes
[i
].name
;i
++) {
59 if (open_modes
[i
].v
== mode
) return open_modes
[i
].name
;
64 static const char *resultstr(enum deny_result res
)
76 for (i
=0;i
<ARRAY_SIZE(results
);i
++) {
77 if (results
[i
].res
== res
) return results
[i
].name
;
86 enum deny_result result
;
88 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
89 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
90 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
91 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
92 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
93 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
94 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
95 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
96 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
97 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
98 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
99 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
100 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
101 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
102 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
103 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
104 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
105 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
106 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
107 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
108 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
109 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
110 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
111 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
112 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
113 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
114 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
115 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
116 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
117 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
118 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
119 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
120 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
121 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
122 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
123 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
124 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
125 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
126 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
127 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
128 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
129 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
130 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
131 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
132 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
133 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
134 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
135 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
136 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
137 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
138 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
139 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
140 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
141 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
142 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
143 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
144 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
145 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
146 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
147 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
148 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
149 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
150 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
151 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
152 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
153 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
154 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
155 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
156 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
157 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
158 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
159 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
160 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
161 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
162 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
163 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
164 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
165 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
166 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
167 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
168 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
169 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
170 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
171 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
172 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
173 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
174 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
175 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
176 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
177 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
178 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
179 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
180 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
181 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
182 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
183 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
184 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
185 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
186 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
187 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
188 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
189 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
190 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
191 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
192 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
193 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
194 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
195 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
196 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
197 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
198 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
199 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
200 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
201 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
202 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
203 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
204 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
205 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_RW
},
206 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
207 {1, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
208 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
209 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
210 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
211 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_RW
},
212 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
213 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
214 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
215 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
216 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
217 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_RW
},
218 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
219 {1, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
220 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
221 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
222 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
223 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
224 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
225 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
226 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_RW
},
227 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
228 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
229 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_RW
},
230 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
231 {1, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
232 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
233 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
234 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
235 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
236 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
237 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
238 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
239 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
240 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
241 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
242 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
243 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
244 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
245 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
246 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
247 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
248 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
249 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
250 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
251 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
252 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
253 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
254 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
255 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
256 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
257 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
258 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
259 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
260 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
261 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
262 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
263 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
264 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
265 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
266 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
267 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
268 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
269 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
270 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
271 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
272 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
273 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
274 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
275 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
276 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
277 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
278 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
279 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
280 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
281 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
282 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
283 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
284 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
285 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
286 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
287 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
288 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
289 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
290 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
291 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
292 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
293 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
294 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
295 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
296 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
297 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
298 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
299 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
300 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
301 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
302 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
303 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
304 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
305 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
306 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
307 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
308 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
309 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
310 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
311 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
312 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
313 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
314 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
315 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
316 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
317 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
318 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
319 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
320 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
321 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
322 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
323 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
324 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
325 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
326 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
327 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
328 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
329 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
330 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
331 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
332 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
333 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
334 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
335 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
336 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
337 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
338 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
339 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
340 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
341 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
342 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
343 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
344 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
345 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
346 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
347 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
348 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
349 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_RW
},
350 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
351 {0, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
352 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
353 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
354 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
355 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_RW
},
356 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
357 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
358 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
359 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
360 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
361 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_RW
},
362 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
363 {0, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
364 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
365 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
366 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_NONE
, A_0
},
367 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
368 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
369 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_DELETE
, A_0
},
370 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_RW
},
371 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
372 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
373 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
|SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_RW
},
374 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_READ_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_R
},
375 {0, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, SEC_FILE_WRITE_DATA
, NTCREATEX_SHARE_ACCESS_READ
|NTCREATEX_SHARE_ACCESS_WRITE
|NTCREATEX_SHARE_ACCESS_DELETE
, A_W
},
379 static void progress_bar(struct torture_context
*tctx
, unsigned int i
, unsigned int total
)
381 if (torture_setting_bool(tctx
, "progress", true)) {
382 torture_comment(tctx
, "%5d/%5d\r", i
, total
);
389 this produces a matrix of deny mode behaviour with 2 connections
391 static bool torture_smb2_denytest2(struct torture_context
*tctx
,
392 struct smb2_tree
*tree1
,
393 struct smb2_tree
*tree2
)
396 struct smb2_handle fnum1
= {{0}}, fnum2
= {{0}};
399 const char *fnames
[2] = {"denytest2.dat", "denytest2.exe"};
400 struct timespec tv
, tv_start
;
403 struct smb2_create io
= {0};
404 smb2_util_unlink(tree1
, fnames
[i
]);
405 io
.in
.fname
= fnames
[i
];
406 io
.in
.desired_access
= SEC_FILE_READ_DATA
| SEC_FILE_WRITE_DATA
;
407 io
.in
.create_disposition
= NTCREATEX_DISP_CREATE
;
408 io
.in
.share_access
= NTCREATEX_SHARE_ACCESS_READ
|
409 NTCREATEX_SHARE_ACCESS_WRITE
|
410 NTCREATEX_SHARE_ACCESS_DELETE
;
411 status
= smb2_create(tree1
, tree1
, &io
);
412 torture_assert_ntstatus_ok_goto(tctx
, status
, correct
, failed
,
413 talloc_asprintf(tctx
, "Open of %s failed (%s)",
414 fnames
[i
], nt_errstr(status
)));
415 fnum1
= io
.out
.file
.handle
;
416 smb2_util_write(tree1
, fnum1
, fnames
[i
], 0, strlen(fnames
[i
]));
417 smb2_util_close(tree1
, fnum1
);
420 clock_gettime_mono(&tv_start
);
422 for (i
=0; i
<ARRAY_SIZE(denytable
); i
++) {
424 struct smb2_create io1
= {0}, io2
= {0};
425 enum deny_result res
;
426 const char *fname
= fnames
[denytable
[i
].isexe
];
428 progress_bar(tctx
, i
, ARRAY_SIZE(denytable
));
430 io1
.in
.fname
= fname
;
431 io1
.in
.desired_access
= denytable
[i
].mode1
;
432 io1
.in
.create_disposition
= NTCREATEX_DISP_OPEN
;
433 io1
.in
.share_access
= denytable
[i
].deny1
;
434 s1
= smb2_create(tree1
, tree1
, &io1
);
435 fnum1
= io1
.out
.file
.handle
;
437 io2
.in
.fname
= fname
;
438 io2
.in
.desired_access
= denytable
[i
].mode2
;
439 io2
.in
.create_disposition
= NTCREATEX_DISP_OPEN
;
440 io2
.in
.share_access
= denytable
[i
].deny2
;
441 s2
= smb2_create(tree2
, tree2
, &io2
);
442 fnum2
= io2
.out
.file
.handle
;
444 if (!NT_STATUS_IS_OK(s1
)) {
446 } else if (!NT_STATUS_IS_OK(s2
)) {
449 struct smb2_read io
= {0};
450 struct smb2_write wio
= {0};
454 io
.in
.file
.handle
= fnum2
;
456 status
= smb2_read(tree2
, tree2
, &io
);
457 if (NT_STATUS_IS_OK(status
) && io
.out
.data
.length
== 1) {
461 wio
.in
.file
.handle
= fnum2
;
462 wio
.in
.data
= data_blob_const(&x
, 1);
463 status
= smb2_write(tree2
, &wio
);
464 if (NT_STATUS_IS_OK(status
) && wio
.out
.nwritten
== 1) {
469 if (torture_setting_bool(tctx
, "showall", false) ||
470 res
!= denytable
[i
].result
) {
472 clock_gettime_mono(&tv
);
473 tdif
= nsec_time_diff(&tv
, &tv_start
);
475 torture_comment(tctx
, "%lld: %s %8s %10s %8s %10s %s (correct=%s)\n",
478 denystr(denytable
[i
].deny1
),
479 openstr(denytable
[i
].mode1
),
480 denystr(denytable
[i
].deny2
),
481 openstr(denytable
[i
].mode2
),
483 resultstr(denytable
[i
].result
));
486 torture_assert_goto(tctx
, res
== denytable
[i
].result
,
488 talloc_asprintf(tctx
,
489 "Result %s did not match deny table %s\n",
491 resultstr(denytable
[i
].result
)));
493 smb2_util_close(tree1
, fnum1
);
494 smb2_util_close(tree2
, fnum2
);
499 smb2_util_unlink(tree1
, fnames
[i
]);
507 this produces a matrix of deny mode behaviour for 1 connection
509 static bool torture_smb2_denytest1(struct torture_context
*tctx
,
510 struct smb2_tree
*tree
)
512 return torture_smb2_denytest2(tctx
, tree
, tree
);
516 struct torture_suite
*torture_smb2_deny_init(TALLOC_CTX
*ctx
)
518 struct torture_suite
*suite
= torture_suite_create(ctx
, "deny");
520 torture_suite_add_1smb2_test(suite
, "deny1", torture_smb2_denytest1
);
521 torture_suite_add_2smb2_test(suite
, "deny2", torture_smb2_denytest2
);
523 suite
->description
= talloc_strdup(suite
, "SMB2 deny tests");