partial implementation of AuthzInitializeContextFromSid(), AuthzGetInformationFromCon...
[reactos.git] / reactos / lib / authz / authz.c
1 /*
2 * ReactOS Authorization Framework
3 * Copyright (C) 2005 ReactOS Team
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */
19 /* $Id: aclui.c 18173 2005-09-30 18:54:48Z weiden $
20 *
21 * PROJECT: ReactOS Authorization Framework
22 * FILE: lib/authz/authz.c
23 * PURPOSE: Authorization Framework
24 * PROGRAMMER: Thomas Weidenmueller <w3seek@reactos.com>
25 *
26 * UPDATE HISTORY:
27 * 09/30/2005 Created
28 */
29 #include <precomp.h>
30
31 HINSTANCE hDllInstance;
32
33
34 /*
35 * @unimplemented
36 */
37 AUTHZAPI
38 BOOL
39 WINAPI
40 AuthzAccessCheck(IN DWORD flags,
41 IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext,
42 IN PAUTHZ_ACCESS_REQUEST pRequest,
43 IN AUTHZ_AUDIT_INFO_HANDLE AuditInfo,
44 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
45 IN PSECURITY_DESCRIPTOR* OptionalSecurityDescriptorArray,
46 IN DWORD OptionalSecurityDescriptorCount OPTIONAL,
47 IN OUT PAUTHZ_ACCESS_REPLY pReply,
48 OUT PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE pAuthzHandle)
49 {
50 UNIMPLEMENTED;
51 return FALSE;
52 }
53
54
55 /*
56 * @unimplemented
57 */
58 AUTHZAPI
59 BOOL
60 WINAPI
61 AuthzAddSidsToContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE OrigClientContext,
62 IN PSID_AND_ATTRIBUTES Sids,
63 IN DWORD SidCount,
64 IN PSID_AND_ATTRIBUTES RestrictedSids,
65 IN DWORD RestrictedSidCount,
66 OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pNewClientContext)
67 {
68 UNIMPLEMENTED;
69 return FALSE;
70 }
71
72
73 /*
74 * @unimplemented
75 */
76 AUTHZAPI
77 BOOL
78 WINAPI
79 AuthzCachedAccessCheck(IN DWORD Flags,
80 IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle,
81 IN PAUTHZ_ACCESS_REQUEST pRequest,
82 IN AUTHZ_AUDIT_EVENT_HANDLE AuditInfo,
83 OUT PAUTHZ_ACCESS_REPLY pReply)
84 {
85 UNIMPLEMENTED;
86 return FALSE;
87 }
88
89
90 /*
91 * @unimplemented
92 */
93 AUTHZAPI
94 BOOL
95 WINAPI
96 AuthzEnumerateSecurityEventSources(IN DWORD dwFlags,
97 OUT PAUTHZ_SOURCE_SCHEMA_REGISTRATION Buffer,
98 OUT PDWORD pdwCount,
99 IN OUT PDWORD pdwLength)
100 {
101 UNIMPLEMENTED;
102 return FALSE;
103 }
104
105
106 /*
107 * @unimplemented
108 */
109 AUTHZAPI
110 BOOL
111 WINAPI
112 AuthzFreeAuditEvent(IN AUTHZ_AUDIT_EVENT_HANDLE pAuditEventInfo)
113 {
114 UNIMPLEMENTED;
115 return FALSE;
116 }
117
118
119 /*
120 * @unimplemented
121 */
122 AUTHZAPI
123 BOOL
124 WINAPI
125 AuthzFreeHandle(IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle)
126 {
127 UNIMPLEMENTED;
128 return FALSE;
129 }
130
131
132 /*
133 * @unimplemented
134 */
135 AUTHZAPI
136 BOOL
137 WINAPI
138 AuthzInitializeContextFromAuthzContext(IN DWORD flags,
139 IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzHandle,
140 IN PLARGE_INTEGER ExpirationTime,
141 IN LUID Identifier,
142 IN PVOID DynamicGroupArgs,
143 OUT PAUTHZ_CLIENT_CONTEXT_HANDLE phNewAuthzHandle)
144 {
145 UNIMPLEMENTED;
146 return FALSE;
147 }
148
149
150 /*
151 * @unimplemented
152 */
153 AUTHZAPI
154 BOOL
155 WINAPI
156 AuthzInitializeContextFromToken(IN DWORD Flags,
157 IN HANDLE TokenHandle,
158 IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
159 IN PLARGE_INTEGER pExpirationTime,
160 IN LUID Identifier,
161 IN PVOID DynamicGroupArgs,
162 OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext)
163 {
164 UNIMPLEMENTED;
165 return FALSE;
166 }
167
168
169 /*
170 * @unimplemented
171 */
172 AUTHZAPI
173 BOOL
174 WINAPI
175 AuthzInitializeObjectAccessAuditEvent(IN DWORD Flags,
176 IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
177 IN PWSTR szOperationType,
178 IN PWSTR szObjectType,
179 IN PWSTR szObjectName,
180 IN PWSTR szAdditionalInfo,
181 OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
182 IN DWORD dwAdditionalParamCount)
183 {
184 UNIMPLEMENTED;
185 return FALSE;
186 }
187
188
189 /*
190 * @unimplemented
191 */
192 AUTHZAPI
193 BOOL
194 WINAPI
195 AuthzInitializeObjectAccessAuditEvent2(IN DWORD Flags,
196 IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
197 IN PWSTR szOperationType,
198 IN PWSTR szObjectType,
199 IN PWSTR szObjectName,
200 IN PWSTR szAdditionalInfo,
201 IN PWSTR szAdditionalInfo2,
202 OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
203 IN DWORD dwAdditionalParameterCount)
204 {
205 UNIMPLEMENTED;
206 return FALSE;
207 }
208
209
210 /*
211 * @unimplemented
212 */
213 AUTHZAPI
214 BOOL
215 WINAPI
216 AuthzInstallSecurityEventSource(IN DWORD dwFlags,
217 IN PAUTHZ_SOURCE_SCHEMA_REGISTRATION pRegistration)
218 {
219 UNIMPLEMENTED;
220 return FALSE;
221 }
222
223
224 /*
225 * @unimplemented
226 */
227 AUTHZAPI
228 BOOL
229 WINAPI
230 AuthzOpenObjectAudit(IN DWORD Flags,
231 IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
232 IN PAUTHZ_ACCESS_REQUEST pRequest,
233 IN AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
234 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
235 IN PSECURITY_DESCRIPTOR* SecurityDescriptorArray,
236 IN DWORD SecurityDescriptorCount,
237 OUT PAUTHZ_ACCESS_REPLY pReply)
238 {
239 UNIMPLEMENTED;
240 return FALSE;
241 }
242
243
244 /*
245 * @unimplemented
246 */
247 AUTHZAPI
248 BOOL
249 WINAPI
250 AuthzRegisterSecurityEventSource(IN DWORD dwFlags,
251 IN PCWSTR szEventSourceName,
252 IN PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider)
253 {
254 UNIMPLEMENTED;
255 return FALSE;
256 }
257
258
259 /*
260 * @unimplemented
261 */
262 AUTHZAPI
263 BOOL
264 WINAPI
265 AuthzReportSecurityEvent(IN DWORD dwFlags,
266 IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
267 IN DWORD dwAuditId,
268 IN PSID pUserSid OPTIONAL,
269 IN DWORD dwCount,
270 ...)
271 {
272 UNIMPLEMENTED;
273 return FALSE;
274 }
275
276
277 /*
278 * @unimplemented
279 */
280 AUTHZAPI
281 BOOL
282 WINAPI
283 AuthzReportSecurityEventFromParams(IN DWORD dwFlags,
284 IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
285 IN DWORD dwAuditId,
286 IN PSID pUserSid OPTIONAL,
287 IN PAUDIT_PARAMS pParams)
288 {
289 UNIMPLEMENTED;
290 return FALSE;
291 }
292
293
294 /*
295 * @unimplemented
296 */
297 AUTHZAPI
298 BOOL
299 WINAPI
300 AuthzUninstallSecurityEventSource(IN DWORD dwFlags,
301 IN PWSTR szEventSourceName)
302 {
303 UNIMPLEMENTED;
304 return FALSE;
305 }
306
307
308 /*
309 * @unimplemented
310 */
311 AUTHZAPI
312 BOOL
313 WINAPI
314 AuthzUnregisterSecurityEventSource(IN DWORD dwFlags,
315 IN OUT PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider)
316 {
317 UNIMPLEMENTED;
318 return FALSE;
319 }
320
321
322 BOOL STDCALL
323 DllMain(IN HINSTANCE hinstDLL,
324 IN DWORD dwReason,
325 IN LPVOID lpvReserved)
326 {
327 switch (dwReason)
328 {
329 case DLL_PROCESS_ATTACH:
330 hDllInstance = hinstDLL;
331 break;
332
333 case DLL_THREAD_ATTACH:
334 case DLL_THREAD_DETACH:
335 case DLL_PROCESS_DETACH:
336 break;
337 }
338 return TRUE;
339 }
340