044b41b91b93e5d3bb172a5718151df13d8c4ba5
[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 AuthzFreeContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzClientContext)
126 {
127 UNIMPLEMENTED;
128 return FALSE;
129 }
130
131
132 /*
133 * @unimplemented
134 */
135 AUTHZAPI
136 BOOL
137 WINAPI
138 AuthzFreeHandle(IN AUTHZ_ACCESS_CHECK_RESULTS_HANDLE AuthzHandle)
139 {
140 UNIMPLEMENTED;
141 return FALSE;
142 }
143
144
145 /*
146 * @unimplemented
147 */
148 AUTHZAPI
149 BOOL
150 WINAPI
151 AuthzGetInformationFromContext(IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
152 IN AUTHZ_CONTEXT_INFORMATION_CLASS InfoClass,
153 IN DWORD BufferSize,
154 OUT PDWORD pSizeRequired,
155 OUT PVOID Buffer)
156 {
157 UNIMPLEMENTED;
158 return FALSE;
159 }
160
161
162 /*
163 * @unimplemented
164 */
165 AUTHZAPI
166 BOOL
167 WINAPI
168 AuthzInitializeContextFromAuthzContext(IN DWORD flags,
169 IN AUTHZ_CLIENT_CONTEXT_HANDLE AuthzHandle,
170 IN PLARGE_INTEGER ExpirationTime,
171 IN LUID Identifier,
172 IN PVOID DynamicGroupArgs,
173 OUT PAUTHZ_CLIENT_CONTEXT_HANDLE phNewAuthzHandle)
174 {
175 UNIMPLEMENTED;
176 return FALSE;
177 }
178
179
180 /*
181 * @unimplemented
182 */
183 AUTHZAPI
184 BOOL
185 WINAPI
186 AuthzInitializeContextFromSid(IN DWORD Flags,
187 IN PSID UserSid,
188 IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
189 IN PLARGE_INTEGER pExpirationTime,
190 IN LUID Identifier,
191 IN PVOID DynamicGroupArgs,
192 OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext)
193 {
194 UNIMPLEMENTED;
195 return FALSE;
196 }
197
198
199 /*
200 * @unimplemented
201 */
202 AUTHZAPI
203 BOOL
204 WINAPI
205 AuthzInitializeContextFromToken(IN DWORD Flags,
206 IN HANDLE TokenHandle,
207 IN AUTHZ_RESOURCE_MANAGER_HANDLE AuthzResourceManager,
208 IN PLARGE_INTEGER pExpirationTime,
209 IN LUID Identifier,
210 IN PVOID DynamicGroupArgs,
211 OUT PAUTHZ_CLIENT_CONTEXT_HANDLE pAuthzClientContext)
212 {
213 UNIMPLEMENTED;
214 return FALSE;
215 }
216
217
218 /*
219 * @unimplemented
220 */
221 AUTHZAPI
222 BOOL
223 WINAPI
224 AuthzInitializeObjectAccessAuditEvent(IN DWORD Flags,
225 IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
226 IN PWSTR szOperationType,
227 IN PWSTR szObjectType,
228 IN PWSTR szObjectName,
229 IN PWSTR szAdditionalInfo,
230 OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
231 IN DWORD dwAdditionalParamCount)
232 {
233 UNIMPLEMENTED;
234 return FALSE;
235 }
236
237
238 /*
239 * @unimplemented
240 */
241 AUTHZAPI
242 BOOL
243 WINAPI
244 AuthzInitializeObjectAccessAuditEvent2(IN DWORD Flags,
245 IN AUTHZ_AUDIT_EVENT_TYPE_HANDLE hAuditEventType,
246 IN PWSTR szOperationType,
247 IN PWSTR szObjectType,
248 IN PWSTR szObjectName,
249 IN PWSTR szAdditionalInfo,
250 IN PWSTR szAdditionalInfo2,
251 OUT PAUTHZ_AUDIT_EVENT_HANDLE phAuditEvent,
252 IN DWORD dwAdditionalParameterCount)
253 {
254 UNIMPLEMENTED;
255 return FALSE;
256 }
257
258
259 /*
260 * @unimplemented
261 */
262 AUTHZAPI
263 BOOL
264 WINAPI
265 AuthzInstallSecurityEventSource(IN DWORD dwFlags,
266 IN PAUTHZ_SOURCE_SCHEMA_REGISTRATION pRegistration)
267 {
268 UNIMPLEMENTED;
269 return FALSE;
270 }
271
272
273 /*
274 * @unimplemented
275 */
276 AUTHZAPI
277 BOOL
278 WINAPI
279 AuthzOpenObjectAudit(IN DWORD Flags,
280 IN AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
281 IN PAUTHZ_ACCESS_REQUEST pRequest,
282 IN AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
283 IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
284 IN PSECURITY_DESCRIPTOR* SecurityDescriptorArray,
285 IN DWORD SecurityDescriptorCount,
286 OUT PAUTHZ_ACCESS_REPLY pReply)
287 {
288 UNIMPLEMENTED;
289 return FALSE;
290 }
291
292
293 /*
294 * @unimplemented
295 */
296 AUTHZAPI
297 BOOL
298 WINAPI
299 AuthzRegisterSecurityEventSource(IN DWORD dwFlags,
300 IN PCWSTR szEventSourceName,
301 IN PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider)
302 {
303 UNIMPLEMENTED;
304 return FALSE;
305 }
306
307
308 /*
309 * @unimplemented
310 */
311 AUTHZAPI
312 BOOL
313 WINAPI
314 AuthzReportSecurityEvent(IN DWORD dwFlags,
315 IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
316 IN DWORD dwAuditId,
317 IN PSID pUserSid OPTIONAL,
318 IN DWORD dwCount,
319 ...)
320 {
321 UNIMPLEMENTED;
322 return FALSE;
323 }
324
325
326 /*
327 * @unimplemented
328 */
329 AUTHZAPI
330 BOOL
331 WINAPI
332 AuthzReportSecurityEventFromParams(IN DWORD dwFlags,
333 IN AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE hEventProvider,
334 IN DWORD dwAuditId,
335 IN PSID pUserSid OPTIONAL,
336 IN PAUDIT_PARAMS pParams)
337 {
338 UNIMPLEMENTED;
339 return FALSE;
340 }
341
342
343 /*
344 * @unimplemented
345 */
346 AUTHZAPI
347 BOOL
348 WINAPI
349 AuthzUninstallSecurityEventSource(IN DWORD dwFlags,
350 IN PWSTR szEventSourceName)
351 {
352 UNIMPLEMENTED;
353 return FALSE;
354 }
355
356
357 /*
358 * @unimplemented
359 */
360 AUTHZAPI
361 BOOL
362 WINAPI
363 AuthzUnregisterSecurityEventSource(IN DWORD dwFlags,
364 IN OUT PAUTHZ_SECURITY_EVENT_PROVIDER_HANDLE phEventProvider)
365 {
366 UNIMPLEMENTED;
367 return FALSE;
368 }
369
370
371 BOOL STDCALL
372 DllMain(IN HINSTANCE hinstDLL,
373 IN DWORD dwReason,
374 IN LPVOID lpvReserved)
375 {
376 switch (dwReason)
377 {
378 case DLL_PROCESS_ATTACH:
379 hDllInstance = hinstDLL;
380 break;
381
382 case DLL_THREAD_ATTACH:
383 case DLL_THREAD_DETACH:
384 case DLL_PROCESS_DETACH:
385 break;
386 }
387 return TRUE;
388 }
389