Line data Source code
1 : /* s3 compat server functions auto-generated by pidl */
2 : #include "bin/default/librpc/gen_ndr/ndr_lsa.h"
3 : #include "bin/default/librpc/gen_ndr/ndr_lsa_scompat.h"
4 : #include <librpc/rpc/dcesrv_core.h>
5 : #include <rpc_server/rpc_config.h>
6 : #include <rpc_server/rpc_server.h>
7 : #include <util/debug.h>
8 :
9 : enum s3compat_rpc_dispatch {
10 : S3COMPAT_RPC_DISPATCH_EXTERNAL = 0x00000001,
11 : S3COMPAT_RPC_DISPATCH_INTERNAL = 0x00000002,
12 : };
13 :
14 : /* lsarpc - dcerpc server boilerplate generated by pidl */
15 2290 : static NTSTATUS lsarpc__op_bind(struct dcesrv_connection_context *context, const struct dcesrv_interface *iface)
16 : {
17 : #ifdef DCESRV_INTERFACE_LSARPC_BIND
18 2290 : return DCESRV_INTERFACE_LSARPC_BIND(context,iface);
19 : #else
20 : return NT_STATUS_OK;
21 : #endif
22 : }
23 :
24 2288 : static void lsarpc__op_unbind(struct dcesrv_connection_context *context, const struct dcesrv_interface *iface)
25 : {
26 : #ifdef DCESRV_INTERFACE_LSARPC_UNBIND
27 : DCESRV_INTERFACE_LSARPC_UNBIND(context, iface);
28 : #else
29 2288 : return;
30 : #endif
31 : }
32 :
33 8154 : NTSTATUS lsarpc__op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_pull *pull, void **r)
34 : {
35 0 : enum ndr_err_code ndr_err;
36 8154 : uint16_t opnum = dce_call->pkt.u.request.opnum;
37 :
38 8154 : dce_call->fault_code = 0;
39 :
40 8154 : if (opnum >= ndr_table_lsarpc.num_calls) {
41 0 : dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
42 0 : return NT_STATUS_NET_WRITE_FAULT;
43 : }
44 :
45 8154 : *r = talloc_named(mem_ctx, ndr_table_lsarpc.calls[opnum].struct_size, "struct %s", ndr_table_lsarpc.calls[opnum].name);
46 8154 : NT_STATUS_HAVE_NO_MEMORY(*r);
47 :
48 : /* unravel the NDR for the packet */
49 8154 : ndr_err = ndr_table_lsarpc.calls[opnum].ndr_pull(pull, NDR_IN, *r);
50 8154 : if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
51 0 : dce_call->fault_code = DCERPC_FAULT_NDR;
52 0 : return NT_STATUS_NET_WRITE_FAULT;
53 : }
54 :
55 8154 : return NT_STATUS_OK;
56 : }
57 :
58 8154 : static NTSTATUS lsarpc__op_dispatch_internal(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r, enum s3compat_rpc_dispatch dispatch)
59 : {
60 8154 : uint16_t opnum = dce_call->pkt.u.request.opnum;
61 8154 : struct pipes_struct *p = NULL;
62 8154 : NTSTATUS status = NT_STATUS_OK;
63 8154 : bool impersonated = false;
64 :
65 : /* Retrieve pipes struct */
66 8154 : p = dcesrv_get_pipes_struct(dce_call->conn);
67 8154 : p->dce_call = dce_call;
68 8154 : p->mem_ctx = mem_ctx;
69 : /* Reset pipes struct fault state */
70 8154 : p->fault_state = 0;
71 :
72 : /* Impersonate */
73 8154 : if (dispatch == S3COMPAT_RPC_DISPATCH_EXTERNAL) {
74 8154 : impersonated = become_authenticated_pipe_user(dce_call->auth_state->session_info);
75 8154 : if (!impersonated) {
76 0 : dce_call->fault_code = DCERPC_FAULT_ACCESS_DENIED;
77 0 : status = NT_STATUS_NET_WRITE_FAULT;
78 0 : goto fail;
79 : }
80 : }
81 :
82 8154 : switch (opnum) {
83 903 : case 0: { /* lsa_Close */
84 903 : struct lsa_Close *r2 = (struct lsa_Close *)r;
85 903 : if (DEBUGLEVEL >= 10) {
86 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_Close, NDR_IN, r2);
87 : }
88 903 : NDR_ZERO_STRUCT(r2->out);
89 903 : r2->out.handle = r2->in.handle;
90 903 : r2->out.result = _lsa_Close(p, r2);
91 903 : break;
92 : }
93 8 : case 1: { /* lsa_Delete */
94 8 : struct lsa_Delete *r2 = (struct lsa_Delete *)r;
95 8 : if (DEBUGLEVEL >= 10) {
96 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_Delete, NDR_IN, r2);
97 : }
98 8 : r2->out.result = _lsa_Delete(p, r2);
99 8 : break;
100 : }
101 2 : case 2: { /* lsa_EnumPrivs */
102 2 : struct lsa_EnumPrivs *r2 = (struct lsa_EnumPrivs *)r;
103 2 : if (DEBUGLEVEL >= 10) {
104 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumPrivs, NDR_IN, r2);
105 : }
106 2 : NDR_ZERO_STRUCT(r2->out);
107 2 : r2->out.resume_handle = r2->in.resume_handle;
108 2 : r2->out.privs = talloc_zero(r2, struct lsa_PrivArray);
109 2 : if (r2->out.privs == NULL) {
110 0 : status = NT_STATUS_NO_MEMORY;
111 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
112 0 : goto fail;
113 : }
114 :
115 2 : r2->out.result = _lsa_EnumPrivs(p, r2);
116 2 : break;
117 : }
118 12 : case 3: { /* lsa_QuerySecurity */
119 12 : struct lsa_QuerySecurity *r2 = (struct lsa_QuerySecurity *)r;
120 12 : if (DEBUGLEVEL >= 10) {
121 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QuerySecurity, NDR_IN, r2);
122 : }
123 12 : NDR_ZERO_STRUCT(r2->out);
124 12 : r2->out.sdbuf = talloc_zero(r2, struct sec_desc_buf *);
125 12 : if (r2->out.sdbuf == NULL) {
126 0 : status = NT_STATUS_NO_MEMORY;
127 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
128 0 : goto fail;
129 : }
130 :
131 12 : r2->out.result = _lsa_QuerySecurity(p, r2);
132 12 : break;
133 : }
134 0 : case 4: { /* lsa_SetSecObj */
135 0 : struct lsa_SetSecObj *r2 = (struct lsa_SetSecObj *)r;
136 0 : if (DEBUGLEVEL >= 10) {
137 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetSecObj, NDR_IN, r2);
138 : }
139 0 : r2->out.result = _lsa_SetSecObj(p, r2);
140 0 : break;
141 : }
142 0 : case 5: { /* lsa_ChangePassword */
143 0 : struct lsa_ChangePassword *r2 = (struct lsa_ChangePassword *)r;
144 0 : if (DEBUGLEVEL >= 10) {
145 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_ChangePassword, NDR_IN, r2);
146 : }
147 0 : r2->out.result = _lsa_ChangePassword(p, r2);
148 0 : break;
149 : }
150 1431 : case 6: { /* lsa_OpenPolicy */
151 1431 : struct lsa_OpenPolicy *r2 = (struct lsa_OpenPolicy *)r;
152 1431 : if (DEBUGLEVEL >= 10) {
153 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenPolicy, NDR_IN, r2);
154 : }
155 1431 : NDR_ZERO_STRUCT(r2->out);
156 1431 : r2->out.handle = talloc_zero(r2, struct policy_handle);
157 1431 : if (r2->out.handle == NULL) {
158 0 : status = NT_STATUS_NO_MEMORY;
159 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
160 0 : goto fail;
161 : }
162 :
163 1431 : r2->out.result = _lsa_OpenPolicy(p, r2);
164 1431 : break;
165 : }
166 836 : case 7: { /* lsa_QueryInfoPolicy */
167 836 : struct lsa_QueryInfoPolicy *r2 = (struct lsa_QueryInfoPolicy *)r;
168 836 : if (DEBUGLEVEL >= 10) {
169 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryInfoPolicy, NDR_IN, r2);
170 : }
171 836 : NDR_ZERO_STRUCT(r2->out);
172 836 : r2->out.info = talloc_zero(r2, union lsa_PolicyInformation *);
173 836 : if (r2->out.info == NULL) {
174 0 : status = NT_STATUS_NO_MEMORY;
175 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
176 0 : goto fail;
177 : }
178 :
179 836 : r2->out.result = _lsa_QueryInfoPolicy(p, r2);
180 836 : break;
181 : }
182 0 : case 8: { /* lsa_SetInfoPolicy */
183 0 : struct lsa_SetInfoPolicy *r2 = (struct lsa_SetInfoPolicy *)r;
184 0 : if (DEBUGLEVEL >= 10) {
185 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetInfoPolicy, NDR_IN, r2);
186 : }
187 0 : r2->out.result = _lsa_SetInfoPolicy(p, r2);
188 0 : break;
189 : }
190 0 : case 9: { /* lsa_ClearAuditLog */
191 0 : struct lsa_ClearAuditLog *r2 = (struct lsa_ClearAuditLog *)r;
192 0 : if (DEBUGLEVEL >= 10) {
193 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_ClearAuditLog, NDR_IN, r2);
194 : }
195 0 : r2->out.result = _lsa_ClearAuditLog(p, r2);
196 0 : break;
197 : }
198 2 : case 10: { /* lsa_CreateAccount */
199 2 : struct lsa_CreateAccount *r2 = (struct lsa_CreateAccount *)r;
200 2 : if (DEBUGLEVEL >= 10) {
201 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CreateAccount, NDR_IN, r2);
202 : }
203 2 : NDR_ZERO_STRUCT(r2->out);
204 2 : r2->out.acct_handle = talloc_zero(r2, struct policy_handle);
205 2 : if (r2->out.acct_handle == NULL) {
206 0 : status = NT_STATUS_NO_MEMORY;
207 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
208 0 : goto fail;
209 : }
210 :
211 2 : r2->out.result = _lsa_CreateAccount(p, r2);
212 2 : break;
213 : }
214 7 : case 11: { /* lsa_EnumAccounts */
215 7 : struct lsa_EnumAccounts *r2 = (struct lsa_EnumAccounts *)r;
216 7 : if (DEBUGLEVEL >= 10) {
217 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccounts, NDR_IN, r2);
218 : }
219 7 : NDR_ZERO_STRUCT(r2->out);
220 7 : r2->out.resume_handle = r2->in.resume_handle;
221 7 : r2->out.sids = talloc_zero(r2, struct lsa_SidArray);
222 7 : if (r2->out.sids == NULL) {
223 0 : status = NT_STATUS_NO_MEMORY;
224 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
225 0 : goto fail;
226 : }
227 :
228 7 : r2->out.result = _lsa_EnumAccounts(p, r2);
229 7 : break;
230 : }
231 0 : case 12: { /* lsa_CreateTrustedDomain */
232 0 : struct lsa_CreateTrustedDomain *r2 = (struct lsa_CreateTrustedDomain *)r;
233 0 : if (DEBUGLEVEL >= 10) {
234 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomain, NDR_IN, r2);
235 : }
236 0 : NDR_ZERO_STRUCT(r2->out);
237 0 : r2->out.trustdom_handle = talloc_zero(r2, struct policy_handle);
238 0 : if (r2->out.trustdom_handle == NULL) {
239 0 : status = NT_STATUS_NO_MEMORY;
240 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
241 0 : goto fail;
242 : }
243 :
244 0 : r2->out.result = _lsa_CreateTrustedDomain(p, r2);
245 0 : break;
246 : }
247 0 : case 13: { /* lsa_EnumTrustDom */
248 0 : struct lsa_EnumTrustDom *r2 = (struct lsa_EnumTrustDom *)r;
249 0 : if (DEBUGLEVEL >= 10) {
250 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumTrustDom, NDR_IN, r2);
251 : }
252 0 : NDR_ZERO_STRUCT(r2->out);
253 0 : r2->out.resume_handle = r2->in.resume_handle;
254 0 : r2->out.domains = talloc_zero(r2, struct lsa_DomainList);
255 0 : if (r2->out.domains == NULL) {
256 0 : status = NT_STATUS_NO_MEMORY;
257 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
258 0 : goto fail;
259 : }
260 :
261 0 : r2->out.result = _lsa_EnumTrustDom(p, r2);
262 0 : break;
263 : }
264 251 : case 14: { /* lsa_LookupNames */
265 251 : struct lsa_LookupNames *r2 = (struct lsa_LookupNames *)r;
266 251 : if (DEBUGLEVEL >= 10) {
267 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames, NDR_IN, r2);
268 : }
269 251 : NDR_ZERO_STRUCT(r2->out);
270 251 : r2->out.sids = r2->in.sids;
271 251 : r2->out.count = r2->in.count;
272 251 : r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
273 251 : if (r2->out.domains == NULL) {
274 0 : status = NT_STATUS_NO_MEMORY;
275 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
276 0 : goto fail;
277 : }
278 :
279 251 : r2->out.result = _lsa_LookupNames(p, r2);
280 251 : break;
281 : }
282 1867 : case 15: { /* lsa_LookupSids */
283 1867 : struct lsa_LookupSids *r2 = (struct lsa_LookupSids *)r;
284 1867 : if (DEBUGLEVEL >= 10) {
285 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids, NDR_IN, r2);
286 : }
287 1867 : NDR_ZERO_STRUCT(r2->out);
288 1867 : r2->out.names = r2->in.names;
289 1867 : r2->out.count = r2->in.count;
290 1867 : r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
291 1867 : if (r2->out.domains == NULL) {
292 0 : status = NT_STATUS_NO_MEMORY;
293 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
294 0 : goto fail;
295 : }
296 :
297 1867 : r2->out.result = _lsa_LookupSids(p, r2);
298 1867 : break;
299 : }
300 344 : case 16: { /* lsa_CreateSecret */
301 344 : struct lsa_CreateSecret *r2 = (struct lsa_CreateSecret *)r;
302 344 : if (DEBUGLEVEL >= 10) {
303 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CreateSecret, NDR_IN, r2);
304 : }
305 344 : NDR_ZERO_STRUCT(r2->out);
306 344 : r2->out.sec_handle = talloc_zero(r2, struct policy_handle);
307 344 : if (r2->out.sec_handle == NULL) {
308 0 : status = NT_STATUS_NO_MEMORY;
309 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
310 0 : goto fail;
311 : }
312 :
313 344 : r2->out.result = _lsa_CreateSecret(p, r2);
314 344 : break;
315 : }
316 14 : case 17: { /* lsa_OpenAccount */
317 14 : struct lsa_OpenAccount *r2 = (struct lsa_OpenAccount *)r;
318 14 : if (DEBUGLEVEL >= 10) {
319 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenAccount, NDR_IN, r2);
320 : }
321 14 : NDR_ZERO_STRUCT(r2->out);
322 14 : r2->out.acct_handle = talloc_zero(r2, struct policy_handle);
323 14 : if (r2->out.acct_handle == NULL) {
324 0 : status = NT_STATUS_NO_MEMORY;
325 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
326 0 : goto fail;
327 : }
328 :
329 14 : r2->out.result = _lsa_OpenAccount(p, r2);
330 14 : break;
331 : }
332 12 : case 18: { /* lsa_EnumPrivsAccount */
333 12 : struct lsa_EnumPrivsAccount *r2 = (struct lsa_EnumPrivsAccount *)r;
334 12 : if (DEBUGLEVEL >= 10) {
335 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumPrivsAccount, NDR_IN, r2);
336 : }
337 12 : NDR_ZERO_STRUCT(r2->out);
338 12 : r2->out.privs = talloc_zero(r2, struct lsa_PrivilegeSet *);
339 12 : if (r2->out.privs == NULL) {
340 0 : status = NT_STATUS_NO_MEMORY;
341 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
342 0 : goto fail;
343 : }
344 :
345 12 : r2->out.result = _lsa_EnumPrivsAccount(p, r2);
346 12 : break;
347 : }
348 2 : case 19: { /* lsa_AddPrivilegesToAccount */
349 2 : struct lsa_AddPrivilegesToAccount *r2 = (struct lsa_AddPrivilegesToAccount *)r;
350 2 : if (DEBUGLEVEL >= 10) {
351 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_AddPrivilegesToAccount, NDR_IN, r2);
352 : }
353 2 : r2->out.result = _lsa_AddPrivilegesToAccount(p, r2);
354 2 : break;
355 : }
356 2 : case 20: { /* lsa_RemovePrivilegesFromAccount */
357 2 : struct lsa_RemovePrivilegesFromAccount *r2 = (struct lsa_RemovePrivilegesFromAccount *)r;
358 2 : if (DEBUGLEVEL >= 10) {
359 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_RemovePrivilegesFromAccount, NDR_IN, r2);
360 : }
361 2 : r2->out.result = _lsa_RemovePrivilegesFromAccount(p, r2);
362 2 : break;
363 : }
364 0 : case 21: { /* lsa_GetQuotasForAccount */
365 0 : struct lsa_GetQuotasForAccount *r2 = (struct lsa_GetQuotasForAccount *)r;
366 0 : if (DEBUGLEVEL >= 10) {
367 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_GetQuotasForAccount, NDR_IN, r2);
368 : }
369 0 : r2->out.result = _lsa_GetQuotasForAccount(p, r2);
370 0 : break;
371 : }
372 0 : case 22: { /* lsa_SetQuotasForAccount */
373 0 : struct lsa_SetQuotasForAccount *r2 = (struct lsa_SetQuotasForAccount *)r;
374 0 : if (DEBUGLEVEL >= 10) {
375 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetQuotasForAccount, NDR_IN, r2);
376 : }
377 0 : r2->out.result = _lsa_SetQuotasForAccount(p, r2);
378 0 : break;
379 : }
380 14 : case 23: { /* lsa_GetSystemAccessAccount */
381 14 : struct lsa_GetSystemAccessAccount *r2 = (struct lsa_GetSystemAccessAccount *)r;
382 14 : if (DEBUGLEVEL >= 10) {
383 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_GetSystemAccessAccount, NDR_IN, r2);
384 : }
385 14 : NDR_ZERO_STRUCT(r2->out);
386 14 : r2->out.access_mask = talloc_zero(r2, uint32_t);
387 14 : if (r2->out.access_mask == NULL) {
388 0 : status = NT_STATUS_NO_MEMORY;
389 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
390 0 : goto fail;
391 : }
392 :
393 14 : r2->out.result = _lsa_GetSystemAccessAccount(p, r2);
394 14 : break;
395 : }
396 0 : case 24: { /* lsa_SetSystemAccessAccount */
397 0 : struct lsa_SetSystemAccessAccount *r2 = (struct lsa_SetSystemAccessAccount *)r;
398 0 : if (DEBUGLEVEL >= 10) {
399 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetSystemAccessAccount, NDR_IN, r2);
400 : }
401 0 : r2->out.result = _lsa_SetSystemAccessAccount(p, r2);
402 0 : break;
403 : }
404 0 : case 25: { /* lsa_OpenTrustedDomain */
405 0 : struct lsa_OpenTrustedDomain *r2 = (struct lsa_OpenTrustedDomain *)r;
406 0 : if (DEBUGLEVEL >= 10) {
407 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenTrustedDomain, NDR_IN, r2);
408 : }
409 0 : NDR_ZERO_STRUCT(r2->out);
410 0 : r2->out.trustdom_handle = talloc_zero(r2, struct policy_handle);
411 0 : if (r2->out.trustdom_handle == NULL) {
412 0 : status = NT_STATUS_NO_MEMORY;
413 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
414 0 : goto fail;
415 : }
416 :
417 0 : r2->out.result = _lsa_OpenTrustedDomain(p, r2);
418 0 : break;
419 : }
420 0 : case 26: { /* lsa_QueryTrustedDomainInfo */
421 0 : struct lsa_QueryTrustedDomainInfo *r2 = (struct lsa_QueryTrustedDomainInfo *)r;
422 0 : if (DEBUGLEVEL >= 10) {
423 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfo, NDR_IN, r2);
424 : }
425 0 : NDR_ZERO_STRUCT(r2->out);
426 0 : r2->out.info = talloc_zero(r2, union lsa_TrustedDomainInfo *);
427 0 : if (r2->out.info == NULL) {
428 0 : status = NT_STATUS_NO_MEMORY;
429 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
430 0 : goto fail;
431 : }
432 :
433 0 : r2->out.result = _lsa_QueryTrustedDomainInfo(p, r2);
434 0 : break;
435 : }
436 0 : case 27: { /* lsa_SetInformationTrustedDomain */
437 0 : struct lsa_SetInformationTrustedDomain *r2 = (struct lsa_SetInformationTrustedDomain *)r;
438 0 : if (DEBUGLEVEL >= 10) {
439 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetInformationTrustedDomain, NDR_IN, r2);
440 : }
441 0 : r2->out.result = _lsa_SetInformationTrustedDomain(p, r2);
442 0 : break;
443 : }
444 8 : case 28: { /* lsa_OpenSecret */
445 8 : struct lsa_OpenSecret *r2 = (struct lsa_OpenSecret *)r;
446 8 : if (DEBUGLEVEL >= 10) {
447 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenSecret, NDR_IN, r2);
448 : }
449 8 : NDR_ZERO_STRUCT(r2->out);
450 8 : r2->out.sec_handle = talloc_zero(r2, struct policy_handle);
451 8 : if (r2->out.sec_handle == NULL) {
452 0 : status = NT_STATUS_NO_MEMORY;
453 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
454 0 : goto fail;
455 : }
456 :
457 8 : r2->out.result = _lsa_OpenSecret(p, r2);
458 8 : break;
459 : }
460 464 : case 29: { /* lsa_SetSecret */
461 464 : struct lsa_SetSecret *r2 = (struct lsa_SetSecret *)r;
462 464 : if (DEBUGLEVEL >= 10) {
463 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetSecret, NDR_IN, r2);
464 : }
465 464 : r2->out.result = _lsa_SetSecret(p, r2);
466 464 : break;
467 : }
468 236 : case 30: { /* lsa_QuerySecret */
469 236 : struct lsa_QuerySecret *r2 = (struct lsa_QuerySecret *)r;
470 236 : if (DEBUGLEVEL >= 10) {
471 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QuerySecret, NDR_IN, r2);
472 : }
473 236 : NDR_ZERO_STRUCT(r2->out);
474 236 : r2->out.new_val = r2->in.new_val;
475 236 : r2->out.new_mtime = r2->in.new_mtime;
476 236 : r2->out.old_val = r2->in.old_val;
477 236 : r2->out.old_mtime = r2->in.old_mtime;
478 236 : r2->out.result = _lsa_QuerySecret(p, r2);
479 236 : break;
480 : }
481 20 : case 31: { /* lsa_LookupPrivValue */
482 20 : struct lsa_LookupPrivValue *r2 = (struct lsa_LookupPrivValue *)r;
483 20 : if (DEBUGLEVEL >= 10) {
484 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivValue, NDR_IN, r2);
485 : }
486 20 : NDR_ZERO_STRUCT(r2->out);
487 20 : r2->out.luid = talloc_zero(r2, struct lsa_LUID);
488 20 : if (r2->out.luid == NULL) {
489 0 : status = NT_STATUS_NO_MEMORY;
490 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
491 0 : goto fail;
492 : }
493 :
494 20 : r2->out.result = _lsa_LookupPrivValue(p, r2);
495 20 : break;
496 : }
497 50 : case 32: { /* lsa_LookupPrivName */
498 50 : struct lsa_LookupPrivName *r2 = (struct lsa_LookupPrivName *)r;
499 50 : if (DEBUGLEVEL >= 10) {
500 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivName, NDR_IN, r2);
501 : }
502 50 : NDR_ZERO_STRUCT(r2->out);
503 50 : r2->out.name = talloc_zero(r2, struct lsa_StringLarge *);
504 50 : if (r2->out.name == NULL) {
505 0 : status = NT_STATUS_NO_MEMORY;
506 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
507 0 : goto fail;
508 : }
509 :
510 50 : r2->out.result = _lsa_LookupPrivName(p, r2);
511 50 : break;
512 : }
513 18 : case 33: { /* lsa_LookupPrivDisplayName */
514 18 : struct lsa_LookupPrivDisplayName *r2 = (struct lsa_LookupPrivDisplayName *)r;
515 18 : if (DEBUGLEVEL >= 10) {
516 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivDisplayName, NDR_IN, r2);
517 : }
518 18 : NDR_ZERO_STRUCT(r2->out);
519 18 : r2->out.disp_name = talloc_zero(r2, struct lsa_StringLarge *);
520 18 : if (r2->out.disp_name == NULL) {
521 0 : status = NT_STATUS_NO_MEMORY;
522 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
523 0 : goto fail;
524 : }
525 :
526 18 : r2->out.returned_language_id = talloc_zero(r2, uint16_t);
527 18 : if (r2->out.returned_language_id == NULL) {
528 0 : status = NT_STATUS_NO_MEMORY;
529 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
530 0 : goto fail;
531 : }
532 :
533 18 : r2->out.result = _lsa_LookupPrivDisplayName(p, r2);
534 18 : break;
535 : }
536 347 : case 34: { /* lsa_DeleteObject */
537 347 : struct lsa_DeleteObject *r2 = (struct lsa_DeleteObject *)r;
538 347 : if (DEBUGLEVEL >= 10) {
539 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_DeleteObject, NDR_IN, r2);
540 : }
541 347 : NDR_ZERO_STRUCT(r2->out);
542 347 : r2->out.handle = r2->in.handle;
543 347 : r2->out.result = _lsa_DeleteObject(p, r2);
544 347 : break;
545 : }
546 18 : case 35: { /* lsa_EnumAccountsWithUserRight */
547 18 : struct lsa_EnumAccountsWithUserRight *r2 = (struct lsa_EnumAccountsWithUserRight *)r;
548 18 : if (DEBUGLEVEL >= 10) {
549 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccountsWithUserRight, NDR_IN, r2);
550 : }
551 18 : NDR_ZERO_STRUCT(r2->out);
552 18 : r2->out.sids = talloc_zero(r2, struct lsa_SidArray);
553 18 : if (r2->out.sids == NULL) {
554 0 : status = NT_STATUS_NO_MEMORY;
555 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
556 0 : goto fail;
557 : }
558 :
559 18 : r2->out.result = _lsa_EnumAccountsWithUserRight(p, r2);
560 18 : break;
561 : }
562 112 : case 36: { /* lsa_EnumAccountRights */
563 112 : struct lsa_EnumAccountRights *r2 = (struct lsa_EnumAccountRights *)r;
564 112 : if (DEBUGLEVEL >= 10) {
565 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccountRights, NDR_IN, r2);
566 : }
567 112 : NDR_ZERO_STRUCT(r2->out);
568 112 : r2->out.rights = talloc_zero(r2, struct lsa_RightSet);
569 112 : if (r2->out.rights == NULL) {
570 0 : status = NT_STATUS_NO_MEMORY;
571 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
572 0 : goto fail;
573 : }
574 :
575 112 : r2->out.result = _lsa_EnumAccountRights(p, r2);
576 112 : break;
577 : }
578 24 : case 37: { /* lsa_AddAccountRights */
579 24 : struct lsa_AddAccountRights *r2 = (struct lsa_AddAccountRights *)r;
580 24 : if (DEBUGLEVEL >= 10) {
581 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_AddAccountRights, NDR_IN, r2);
582 : }
583 24 : r2->out.result = _lsa_AddAccountRights(p, r2);
584 24 : break;
585 : }
586 20 : case 38: { /* lsa_RemoveAccountRights */
587 20 : struct lsa_RemoveAccountRights *r2 = (struct lsa_RemoveAccountRights *)r;
588 20 : if (DEBUGLEVEL >= 10) {
589 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_RemoveAccountRights, NDR_IN, r2);
590 : }
591 20 : r2->out.result = _lsa_RemoveAccountRights(p, r2);
592 20 : break;
593 : }
594 0 : case 39: { /* lsa_QueryTrustedDomainInfoBySid */
595 0 : struct lsa_QueryTrustedDomainInfoBySid *r2 = (struct lsa_QueryTrustedDomainInfoBySid *)r;
596 0 : if (DEBUGLEVEL >= 10) {
597 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfoBySid, NDR_IN, r2);
598 : }
599 0 : NDR_ZERO_STRUCT(r2->out);
600 0 : r2->out.info = talloc_zero(r2, union lsa_TrustedDomainInfo *);
601 0 : if (r2->out.info == NULL) {
602 0 : status = NT_STATUS_NO_MEMORY;
603 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
604 0 : goto fail;
605 : }
606 :
607 0 : r2->out.result = _lsa_QueryTrustedDomainInfoBySid(p, r2);
608 0 : break;
609 : }
610 0 : case 40: { /* lsa_SetTrustedDomainInfo */
611 0 : struct lsa_SetTrustedDomainInfo *r2 = (struct lsa_SetTrustedDomainInfo *)r;
612 0 : if (DEBUGLEVEL >= 10) {
613 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetTrustedDomainInfo, NDR_IN, r2);
614 : }
615 0 : r2->out.result = _lsa_SetTrustedDomainInfo(p, r2);
616 0 : break;
617 : }
618 0 : case 41: { /* lsa_DeleteTrustedDomain */
619 0 : struct lsa_DeleteTrustedDomain *r2 = (struct lsa_DeleteTrustedDomain *)r;
620 0 : if (DEBUGLEVEL >= 10) {
621 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_DeleteTrustedDomain, NDR_IN, r2);
622 : }
623 0 : r2->out.result = _lsa_DeleteTrustedDomain(p, r2);
624 0 : break;
625 : }
626 0 : case 42: { /* lsa_StorePrivateData */
627 0 : struct lsa_StorePrivateData *r2 = (struct lsa_StorePrivateData *)r;
628 0 : if (DEBUGLEVEL >= 10) {
629 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_StorePrivateData, NDR_IN, r2);
630 : }
631 0 : r2->out.result = _lsa_StorePrivateData(p, r2);
632 0 : break;
633 : }
634 0 : case 43: { /* lsa_RetrievePrivateData */
635 0 : struct lsa_RetrievePrivateData *r2 = (struct lsa_RetrievePrivateData *)r;
636 0 : if (DEBUGLEVEL >= 10) {
637 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_RetrievePrivateData, NDR_IN, r2);
638 : }
639 0 : NDR_ZERO_STRUCT(r2->out);
640 0 : r2->out.val = r2->in.val;
641 0 : r2->out.result = _lsa_RetrievePrivateData(p, r2);
642 0 : break;
643 : }
644 653 : case 44: { /* lsa_OpenPolicy2 */
645 653 : struct lsa_OpenPolicy2 *r2 = (struct lsa_OpenPolicy2 *)r;
646 653 : if (DEBUGLEVEL >= 10) {
647 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenPolicy2, NDR_IN, r2);
648 : }
649 653 : NDR_ZERO_STRUCT(r2->out);
650 653 : r2->out.handle = talloc_zero(r2, struct policy_handle);
651 653 : if (r2->out.handle == NULL) {
652 0 : status = NT_STATUS_NO_MEMORY;
653 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
654 0 : goto fail;
655 : }
656 :
657 653 : r2->out.result = _lsa_OpenPolicy2(p, r2);
658 653 : break;
659 : }
660 275 : case 45: { /* lsa_GetUserName */
661 275 : struct lsa_GetUserName *r2 = (struct lsa_GetUserName *)r;
662 275 : if (DEBUGLEVEL >= 10) {
663 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_GetUserName, NDR_IN, r2);
664 : }
665 275 : NDR_ZERO_STRUCT(r2->out);
666 275 : r2->out.account_name = r2->in.account_name;
667 275 : r2->out.authority_name = r2->in.authority_name;
668 275 : r2->out.result = _lsa_GetUserName(p, r2);
669 275 : break;
670 : }
671 121 : case 46: { /* lsa_QueryInfoPolicy2 */
672 121 : struct lsa_QueryInfoPolicy2 *r2 = (struct lsa_QueryInfoPolicy2 *)r;
673 121 : if (DEBUGLEVEL >= 10) {
674 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryInfoPolicy2, NDR_IN, r2);
675 : }
676 121 : NDR_ZERO_STRUCT(r2->out);
677 121 : r2->out.info = talloc_zero(r2, union lsa_PolicyInformation *);
678 121 : if (r2->out.info == NULL) {
679 0 : status = NT_STATUS_NO_MEMORY;
680 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
681 0 : goto fail;
682 : }
683 :
684 121 : r2->out.result = _lsa_QueryInfoPolicy2(p, r2);
685 121 : break;
686 : }
687 0 : case 47: { /* lsa_SetInfoPolicy2 */
688 0 : struct lsa_SetInfoPolicy2 *r2 = (struct lsa_SetInfoPolicy2 *)r;
689 0 : if (DEBUGLEVEL >= 10) {
690 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetInfoPolicy2, NDR_IN, r2);
691 : }
692 0 : r2->out.result = _lsa_SetInfoPolicy2(p, r2);
693 0 : break;
694 : }
695 0 : case 48: { /* lsa_QueryTrustedDomainInfoByName */
696 0 : struct lsa_QueryTrustedDomainInfoByName *r2 = (struct lsa_QueryTrustedDomainInfoByName *)r;
697 0 : if (DEBUGLEVEL >= 10) {
698 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfoByName, NDR_IN, r2);
699 : }
700 0 : NDR_ZERO_STRUCT(r2->out);
701 0 : r2->out.info = talloc_zero(r2, union lsa_TrustedDomainInfo *);
702 0 : if (r2->out.info == NULL) {
703 0 : status = NT_STATUS_NO_MEMORY;
704 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
705 0 : goto fail;
706 : }
707 :
708 0 : r2->out.result = _lsa_QueryTrustedDomainInfoByName(p, r2);
709 0 : break;
710 : }
711 0 : case 49: { /* lsa_SetTrustedDomainInfoByName */
712 0 : struct lsa_SetTrustedDomainInfoByName *r2 = (struct lsa_SetTrustedDomainInfoByName *)r;
713 0 : if (DEBUGLEVEL >= 10) {
714 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetTrustedDomainInfoByName, NDR_IN, r2);
715 : }
716 0 : r2->out.result = _lsa_SetTrustedDomainInfoByName(p, r2);
717 0 : break;
718 : }
719 0 : case 50: { /* lsa_EnumTrustedDomainsEx */
720 0 : struct lsa_EnumTrustedDomainsEx *r2 = (struct lsa_EnumTrustedDomainsEx *)r;
721 0 : if (DEBUGLEVEL >= 10) {
722 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumTrustedDomainsEx, NDR_IN, r2);
723 : }
724 0 : NDR_ZERO_STRUCT(r2->out);
725 0 : r2->out.resume_handle = r2->in.resume_handle;
726 0 : r2->out.domains = talloc_zero(r2, struct lsa_DomainListEx);
727 0 : if (r2->out.domains == NULL) {
728 0 : status = NT_STATUS_NO_MEMORY;
729 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
730 0 : goto fail;
731 : }
732 :
733 0 : r2->out.result = _lsa_EnumTrustedDomainsEx(p, r2);
734 0 : break;
735 : }
736 0 : case 51: { /* lsa_CreateTrustedDomainEx */
737 0 : struct lsa_CreateTrustedDomainEx *r2 = (struct lsa_CreateTrustedDomainEx *)r;
738 0 : if (DEBUGLEVEL >= 10) {
739 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomainEx, NDR_IN, r2);
740 : }
741 0 : NDR_ZERO_STRUCT(r2->out);
742 0 : r2->out.trustdom_handle = talloc_zero(r2, struct policy_handle);
743 0 : if (r2->out.trustdom_handle == NULL) {
744 0 : status = NT_STATUS_NO_MEMORY;
745 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
746 0 : goto fail;
747 : }
748 :
749 0 : r2->out.result = _lsa_CreateTrustedDomainEx(p, r2);
750 0 : break;
751 : }
752 0 : case 52: { /* lsa_CloseTrustedDomainEx */
753 0 : struct lsa_CloseTrustedDomainEx *r2 = (struct lsa_CloseTrustedDomainEx *)r;
754 0 : if (DEBUGLEVEL >= 10) {
755 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CloseTrustedDomainEx, NDR_IN, r2);
756 : }
757 0 : NDR_ZERO_STRUCT(r2->out);
758 0 : r2->out.handle = r2->in.handle;
759 0 : r2->out.result = _lsa_CloseTrustedDomainEx(p, r2);
760 0 : break;
761 : }
762 0 : case 53: { /* lsa_QueryDomainInformationPolicy */
763 0 : struct lsa_QueryDomainInformationPolicy *r2 = (struct lsa_QueryDomainInformationPolicy *)r;
764 0 : if (DEBUGLEVEL >= 10) {
765 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryDomainInformationPolicy, NDR_IN, r2);
766 : }
767 0 : NDR_ZERO_STRUCT(r2->out);
768 0 : r2->out.info = talloc_zero(r2, union lsa_DomainInformationPolicy *);
769 0 : if (r2->out.info == NULL) {
770 0 : status = NT_STATUS_NO_MEMORY;
771 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
772 0 : goto fail;
773 : }
774 :
775 0 : r2->out.result = _lsa_QueryDomainInformationPolicy(p, r2);
776 0 : break;
777 : }
778 0 : case 54: { /* lsa_SetDomainInformationPolicy */
779 0 : struct lsa_SetDomainInformationPolicy *r2 = (struct lsa_SetDomainInformationPolicy *)r;
780 0 : if (DEBUGLEVEL >= 10) {
781 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetDomainInformationPolicy, NDR_IN, r2);
782 : }
783 0 : r2->out.result = _lsa_SetDomainInformationPolicy(p, r2);
784 0 : break;
785 : }
786 0 : case 55: { /* lsa_OpenTrustedDomainByName */
787 0 : struct lsa_OpenTrustedDomainByName *r2 = (struct lsa_OpenTrustedDomainByName *)r;
788 0 : if (DEBUGLEVEL >= 10) {
789 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenTrustedDomainByName, NDR_IN, r2);
790 : }
791 0 : NDR_ZERO_STRUCT(r2->out);
792 0 : r2->out.trustdom_handle = talloc_zero(r2, struct policy_handle);
793 0 : if (r2->out.trustdom_handle == NULL) {
794 0 : status = NT_STATUS_NO_MEMORY;
795 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
796 0 : goto fail;
797 : }
798 :
799 0 : r2->out.result = _lsa_OpenTrustedDomainByName(p, r2);
800 0 : break;
801 : }
802 0 : case 56: { /* lsa_TestCall */
803 0 : struct lsa_TestCall *r2 = (struct lsa_TestCall *)r;
804 0 : if (DEBUGLEVEL >= 10) {
805 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_TestCall, NDR_IN, r2);
806 : }
807 0 : r2->out.result = _lsa_TestCall(p, r2);
808 0 : break;
809 : }
810 2 : case 57: { /* lsa_LookupSids2 */
811 2 : struct lsa_LookupSids2 *r2 = (struct lsa_LookupSids2 *)r;
812 2 : if (DEBUGLEVEL >= 10) {
813 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids2, NDR_IN, r2);
814 : }
815 2 : NDR_ZERO_STRUCT(r2->out);
816 2 : r2->out.names = r2->in.names;
817 2 : r2->out.count = r2->in.count;
818 2 : r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
819 2 : if (r2->out.domains == NULL) {
820 0 : status = NT_STATUS_NO_MEMORY;
821 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
822 0 : goto fail;
823 : }
824 :
825 2 : r2->out.result = _lsa_LookupSids2(p, r2);
826 2 : break;
827 : }
828 4 : case 58: { /* lsa_LookupNames2 */
829 4 : struct lsa_LookupNames2 *r2 = (struct lsa_LookupNames2 *)r;
830 4 : if (DEBUGLEVEL >= 10) {
831 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames2, NDR_IN, r2);
832 : }
833 4 : NDR_ZERO_STRUCT(r2->out);
834 4 : r2->out.sids = r2->in.sids;
835 4 : r2->out.count = r2->in.count;
836 4 : r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
837 4 : if (r2->out.domains == NULL) {
838 0 : status = NT_STATUS_NO_MEMORY;
839 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
840 0 : goto fail;
841 : }
842 :
843 4 : r2->out.result = _lsa_LookupNames2(p, r2);
844 4 : break;
845 : }
846 0 : case 59: { /* lsa_CreateTrustedDomainEx2 */
847 0 : struct lsa_CreateTrustedDomainEx2 *r2 = (struct lsa_CreateTrustedDomainEx2 *)r;
848 0 : if (DEBUGLEVEL >= 10) {
849 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomainEx2, NDR_IN, r2);
850 : }
851 0 : NDR_ZERO_STRUCT(r2->out);
852 0 : r2->out.trustdom_handle = talloc_zero(r2, struct policy_handle);
853 0 : if (r2->out.trustdom_handle == NULL) {
854 0 : status = NT_STATUS_NO_MEMORY;
855 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
856 0 : goto fail;
857 : }
858 :
859 0 : r2->out.result = _lsa_CreateTrustedDomainEx2(p, r2);
860 0 : break;
861 : }
862 0 : case 60: { /* lsa_CREDRWRITE */
863 0 : struct lsa_CREDRWRITE *r2 = (struct lsa_CREDRWRITE *)r;
864 0 : if (DEBUGLEVEL >= 10) {
865 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRWRITE, NDR_IN, r2);
866 : }
867 0 : r2->out.result = _lsa_CREDRWRITE(p, r2);
868 0 : break;
869 : }
870 0 : case 61: { /* lsa_CREDRREAD */
871 0 : struct lsa_CREDRREAD *r2 = (struct lsa_CREDRREAD *)r;
872 0 : if (DEBUGLEVEL >= 10) {
873 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRREAD, NDR_IN, r2);
874 : }
875 0 : r2->out.result = _lsa_CREDRREAD(p, r2);
876 0 : break;
877 : }
878 0 : case 62: { /* lsa_CREDRENUMERATE */
879 0 : struct lsa_CREDRENUMERATE *r2 = (struct lsa_CREDRENUMERATE *)r;
880 0 : if (DEBUGLEVEL >= 10) {
881 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRENUMERATE, NDR_IN, r2);
882 : }
883 0 : r2->out.result = _lsa_CREDRENUMERATE(p, r2);
884 0 : break;
885 : }
886 0 : case 63: { /* lsa_CREDRWRITEDOMAINCREDENTIALS */
887 0 : struct lsa_CREDRWRITEDOMAINCREDENTIALS *r2 = (struct lsa_CREDRWRITEDOMAINCREDENTIALS *)r;
888 0 : if (DEBUGLEVEL >= 10) {
889 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRWRITEDOMAINCREDENTIALS, NDR_IN, r2);
890 : }
891 0 : r2->out.result = _lsa_CREDRWRITEDOMAINCREDENTIALS(p, r2);
892 0 : break;
893 : }
894 0 : case 64: { /* lsa_CREDRREADDOMAINCREDENTIALS */
895 0 : struct lsa_CREDRREADDOMAINCREDENTIALS *r2 = (struct lsa_CREDRREADDOMAINCREDENTIALS *)r;
896 0 : if (DEBUGLEVEL >= 10) {
897 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRREADDOMAINCREDENTIALS, NDR_IN, r2);
898 : }
899 0 : r2->out.result = _lsa_CREDRREADDOMAINCREDENTIALS(p, r2);
900 0 : break;
901 : }
902 0 : case 65: { /* lsa_CREDRDELETE */
903 0 : struct lsa_CREDRDELETE *r2 = (struct lsa_CREDRDELETE *)r;
904 0 : if (DEBUGLEVEL >= 10) {
905 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRDELETE, NDR_IN, r2);
906 : }
907 0 : r2->out.result = _lsa_CREDRDELETE(p, r2);
908 0 : break;
909 : }
910 0 : case 66: { /* lsa_CREDRGETTARGETINFO */
911 0 : struct lsa_CREDRGETTARGETINFO *r2 = (struct lsa_CREDRGETTARGETINFO *)r;
912 0 : if (DEBUGLEVEL >= 10) {
913 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRGETTARGETINFO, NDR_IN, r2);
914 : }
915 0 : r2->out.result = _lsa_CREDRGETTARGETINFO(p, r2);
916 0 : break;
917 : }
918 0 : case 67: { /* lsa_CREDRPROFILELOADED */
919 0 : struct lsa_CREDRPROFILELOADED *r2 = (struct lsa_CREDRPROFILELOADED *)r;
920 0 : if (DEBUGLEVEL >= 10) {
921 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRPROFILELOADED, NDR_IN, r2);
922 : }
923 0 : r2->out.result = _lsa_CREDRPROFILELOADED(p, r2);
924 0 : break;
925 : }
926 4 : case 68: { /* lsa_LookupNames3 */
927 4 : struct lsa_LookupNames3 *r2 = (struct lsa_LookupNames3 *)r;
928 4 : if (DEBUGLEVEL >= 10) {
929 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames3, NDR_IN, r2);
930 : }
931 4 : NDR_ZERO_STRUCT(r2->out);
932 4 : r2->out.sids = r2->in.sids;
933 4 : r2->out.count = r2->in.count;
934 4 : r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
935 4 : if (r2->out.domains == NULL) {
936 0 : status = NT_STATUS_NO_MEMORY;
937 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
938 0 : goto fail;
939 : }
940 :
941 4 : r2->out.result = _lsa_LookupNames3(p, r2);
942 4 : break;
943 : }
944 0 : case 69: { /* lsa_CREDRGETSESSIONTYPES */
945 0 : struct lsa_CREDRGETSESSIONTYPES *r2 = (struct lsa_CREDRGETSESSIONTYPES *)r;
946 0 : if (DEBUGLEVEL >= 10) {
947 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRGETSESSIONTYPES, NDR_IN, r2);
948 : }
949 0 : r2->out.result = _lsa_CREDRGETSESSIONTYPES(p, r2);
950 0 : break;
951 : }
952 0 : case 70: { /* lsa_LSARREGISTERAUDITEVENT */
953 0 : struct lsa_LSARREGISTERAUDITEVENT *r2 = (struct lsa_LSARREGISTERAUDITEVENT *)r;
954 0 : if (DEBUGLEVEL >= 10) {
955 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARREGISTERAUDITEVENT, NDR_IN, r2);
956 : }
957 0 : r2->out.result = _lsa_LSARREGISTERAUDITEVENT(p, r2);
958 0 : break;
959 : }
960 0 : case 71: { /* lsa_LSARGENAUDITEVENT */
961 0 : struct lsa_LSARGENAUDITEVENT *r2 = (struct lsa_LSARGENAUDITEVENT *)r;
962 0 : if (DEBUGLEVEL >= 10) {
963 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARGENAUDITEVENT, NDR_IN, r2);
964 : }
965 0 : r2->out.result = _lsa_LSARGENAUDITEVENT(p, r2);
966 0 : break;
967 : }
968 0 : case 72: { /* lsa_LSARUNREGISTERAUDITEVENT */
969 0 : struct lsa_LSARUNREGISTERAUDITEVENT *r2 = (struct lsa_LSARUNREGISTERAUDITEVENT *)r;
970 0 : if (DEBUGLEVEL >= 10) {
971 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARUNREGISTERAUDITEVENT, NDR_IN, r2);
972 : }
973 0 : r2->out.result = _lsa_LSARUNREGISTERAUDITEVENT(p, r2);
974 0 : break;
975 : }
976 0 : case 73: { /* lsa_lsaRQueryForestTrustInformation */
977 0 : struct lsa_lsaRQueryForestTrustInformation *r2 = (struct lsa_lsaRQueryForestTrustInformation *)r;
978 0 : if (DEBUGLEVEL >= 10) {
979 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_lsaRQueryForestTrustInformation, NDR_IN, r2);
980 : }
981 0 : NDR_ZERO_STRUCT(r2->out);
982 0 : r2->out.forest_trust_info = talloc_zero(r2, struct lsa_ForestTrustInformation *);
983 0 : if (r2->out.forest_trust_info == NULL) {
984 0 : status = NT_STATUS_NO_MEMORY;
985 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
986 0 : goto fail;
987 : }
988 :
989 0 : r2->out.result = _lsa_lsaRQueryForestTrustInformation(p, r2);
990 0 : break;
991 : }
992 0 : case 74: { /* lsa_lsaRSetForestTrustInformation */
993 0 : struct lsa_lsaRSetForestTrustInformation *r2 = (struct lsa_lsaRSetForestTrustInformation *)r;
994 0 : if (DEBUGLEVEL >= 10) {
995 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_lsaRSetForestTrustInformation, NDR_IN, r2);
996 : }
997 0 : NDR_ZERO_STRUCT(r2->out);
998 0 : r2->out.collision_info = talloc_zero(r2, struct lsa_ForestTrustCollisionInfo *);
999 0 : if (r2->out.collision_info == NULL) {
1000 0 : status = NT_STATUS_NO_MEMORY;
1001 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1002 0 : goto fail;
1003 : }
1004 :
1005 0 : r2->out.result = _lsa_lsaRSetForestTrustInformation(p, r2);
1006 0 : break;
1007 : }
1008 0 : case 75: { /* lsa_CREDRRENAME */
1009 0 : struct lsa_CREDRRENAME *r2 = (struct lsa_CREDRRENAME *)r;
1010 0 : if (DEBUGLEVEL >= 10) {
1011 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRRENAME, NDR_IN, r2);
1012 : }
1013 0 : r2->out.result = _lsa_CREDRRENAME(p, r2);
1014 0 : break;
1015 : }
1016 25 : case 76: { /* lsa_LookupSids3 */
1017 25 : struct lsa_LookupSids3 *r2 = (struct lsa_LookupSids3 *)r;
1018 25 : if (DEBUGLEVEL >= 10) {
1019 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids3, NDR_IN, r2);
1020 : }
1021 25 : NDR_ZERO_STRUCT(r2->out);
1022 25 : r2->out.names = r2->in.names;
1023 25 : r2->out.count = r2->in.count;
1024 25 : r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
1025 25 : if (r2->out.domains == NULL) {
1026 0 : status = NT_STATUS_NO_MEMORY;
1027 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1028 0 : goto fail;
1029 : }
1030 :
1031 25 : r2->out.result = _lsa_LookupSids3(p, r2);
1032 25 : break;
1033 : }
1034 46 : case 77: { /* lsa_LookupNames4 */
1035 46 : struct lsa_LookupNames4 *r2 = (struct lsa_LookupNames4 *)r;
1036 46 : if (DEBUGLEVEL >= 10) {
1037 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames4, NDR_IN, r2);
1038 : }
1039 46 : NDR_ZERO_STRUCT(r2->out);
1040 46 : r2->out.sids = r2->in.sids;
1041 46 : r2->out.count = r2->in.count;
1042 46 : r2->out.domains = talloc_zero(r2, struct lsa_RefDomainList *);
1043 46 : if (r2->out.domains == NULL) {
1044 0 : status = NT_STATUS_NO_MEMORY;
1045 0 : p->fault_state = DCERPC_FAULT_CANT_PERFORM;
1046 0 : goto fail;
1047 : }
1048 :
1049 46 : r2->out.result = _lsa_LookupNames4(p, r2);
1050 46 : break;
1051 : }
1052 0 : case 78: { /* lsa_LSAROPENPOLICYSCE */
1053 0 : struct lsa_LSAROPENPOLICYSCE *r2 = (struct lsa_LSAROPENPOLICYSCE *)r;
1054 0 : if (DEBUGLEVEL >= 10) {
1055 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSAROPENPOLICYSCE, NDR_IN, r2);
1056 : }
1057 0 : r2->out.result = _lsa_LSAROPENPOLICYSCE(p, r2);
1058 0 : break;
1059 : }
1060 0 : case 79: { /* lsa_LSARADTREGISTERSECURITYEVENTSOURCE */
1061 0 : struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r2 = (struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *)r;
1062 0 : if (DEBUGLEVEL >= 10) {
1063 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTREGISTERSECURITYEVENTSOURCE, NDR_IN, r2);
1064 : }
1065 0 : r2->out.result = _lsa_LSARADTREGISTERSECURITYEVENTSOURCE(p, r2);
1066 0 : break;
1067 : }
1068 0 : case 80: { /* lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE */
1069 0 : struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r2 = (struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *)r;
1070 0 : if (DEBUGLEVEL >= 10) {
1071 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE, NDR_IN, r2);
1072 : }
1073 0 : r2->out.result = _lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(p, r2);
1074 0 : break;
1075 : }
1076 0 : case 81: { /* lsa_LSARADTREPORTSECURITYEVENT */
1077 0 : struct lsa_LSARADTREPORTSECURITYEVENT *r2 = (struct lsa_LSARADTREPORTSECURITYEVENT *)r;
1078 0 : if (DEBUGLEVEL >= 10) {
1079 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTREPORTSECURITYEVENT, NDR_IN, r2);
1080 : }
1081 0 : r2->out.result = _lsa_LSARADTREPORTSECURITYEVENT(p, r2);
1082 0 : break;
1083 : }
1084 0 : default:
1085 0 : dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
1086 0 : break;
1087 : }
1088 :
1089 8154 : fail:
1090 : /* Unimpersonate */
1091 8154 : if (impersonated) {
1092 8154 : unbecome_authenticated_pipe_user();
1093 : }
1094 :
1095 8154 : p->dce_call = NULL;
1096 8154 : p->mem_ctx = NULL;
1097 : /* Check pipes struct fault state */
1098 8154 : if (p->fault_state != 0) {
1099 156 : dce_call->fault_code = p->fault_state;
1100 : }
1101 8154 : if (dce_call->fault_code != 0) {
1102 156 : status = NT_STATUS_NET_WRITE_FAULT;
1103 : }
1104 :
1105 8154 : return status;
1106 : }
1107 :
1108 8154 : NTSTATUS lsarpc__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
1109 : {
1110 8154 : return lsarpc__op_dispatch_internal(dce_call, mem_ctx, r, S3COMPAT_RPC_DISPATCH_EXTERNAL);
1111 : }
1112 :
1113 7998 : NTSTATUS lsarpc__op_reply(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
1114 : {
1115 7998 : uint16_t opnum = dce_call->pkt.u.request.opnum;
1116 :
1117 7998 : switch (opnum) {
1118 878 : case 0: { /* lsa_Close */
1119 878 : struct lsa_Close *r2 = (struct lsa_Close *)r;
1120 878 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1121 0 : DEBUG(5,("function lsa_Close replied async\n"));
1122 : }
1123 878 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1124 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_Close, NDR_OUT | NDR_SET_VALUES, r2);
1125 : }
1126 878 : if (dce_call->fault_code != 0) {
1127 0 : DBG_WARNING("dcerpc_fault %s in lsa_Close\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1128 : }
1129 878 : break;
1130 : }
1131 8 : case 1: { /* lsa_Delete */
1132 8 : struct lsa_Delete *r2 = (struct lsa_Delete *)r;
1133 8 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1134 0 : DEBUG(5,("function lsa_Delete replied async\n"));
1135 : }
1136 8 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1137 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_Delete, NDR_OUT | NDR_SET_VALUES, r2);
1138 : }
1139 8 : if (dce_call->fault_code != 0) {
1140 0 : DBG_WARNING("dcerpc_fault %s in lsa_Delete\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1141 : }
1142 8 : break;
1143 : }
1144 2 : case 2: { /* lsa_EnumPrivs */
1145 2 : struct lsa_EnumPrivs *r2 = (struct lsa_EnumPrivs *)r;
1146 2 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1147 0 : DEBUG(5,("function lsa_EnumPrivs replied async\n"));
1148 : }
1149 2 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1150 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumPrivs, NDR_OUT | NDR_SET_VALUES, r2);
1151 : }
1152 2 : if (dce_call->fault_code != 0) {
1153 0 : DBG_WARNING("dcerpc_fault %s in lsa_EnumPrivs\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1154 : }
1155 2 : break;
1156 : }
1157 12 : case 3: { /* lsa_QuerySecurity */
1158 12 : struct lsa_QuerySecurity *r2 = (struct lsa_QuerySecurity *)r;
1159 12 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1160 0 : DEBUG(5,("function lsa_QuerySecurity replied async\n"));
1161 : }
1162 12 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1163 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QuerySecurity, NDR_OUT | NDR_SET_VALUES, r2);
1164 : }
1165 12 : if (dce_call->fault_code != 0) {
1166 0 : DBG_WARNING("dcerpc_fault %s in lsa_QuerySecurity\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1167 : }
1168 12 : break;
1169 : }
1170 0 : case 4: { /* lsa_SetSecObj */
1171 0 : struct lsa_SetSecObj *r2 = (struct lsa_SetSecObj *)r;
1172 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1173 0 : DEBUG(5,("function lsa_SetSecObj replied async\n"));
1174 : }
1175 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1176 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetSecObj, NDR_OUT | NDR_SET_VALUES, r2);
1177 : }
1178 0 : if (dce_call->fault_code != 0) {
1179 0 : DBG_WARNING("dcerpc_fault %s in lsa_SetSecObj\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1180 : }
1181 0 : break;
1182 : }
1183 0 : case 5: { /* lsa_ChangePassword */
1184 0 : struct lsa_ChangePassword *r2 = (struct lsa_ChangePassword *)r;
1185 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1186 0 : DEBUG(5,("function lsa_ChangePassword replied async\n"));
1187 : }
1188 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1189 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_ChangePassword, NDR_OUT | NDR_SET_VALUES, r2);
1190 : }
1191 0 : if (dce_call->fault_code != 0) {
1192 0 : DBG_WARNING("dcerpc_fault %s in lsa_ChangePassword\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1193 : }
1194 0 : break;
1195 : }
1196 1429 : case 6: { /* lsa_OpenPolicy */
1197 1429 : struct lsa_OpenPolicy *r2 = (struct lsa_OpenPolicy *)r;
1198 1429 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1199 0 : DEBUG(5,("function lsa_OpenPolicy replied async\n"));
1200 : }
1201 1429 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1202 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenPolicy, NDR_OUT | NDR_SET_VALUES, r2);
1203 : }
1204 1429 : if (dce_call->fault_code != 0) {
1205 0 : DBG_WARNING("dcerpc_fault %s in lsa_OpenPolicy\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1206 : }
1207 1429 : break;
1208 : }
1209 836 : case 7: { /* lsa_QueryInfoPolicy */
1210 836 : struct lsa_QueryInfoPolicy *r2 = (struct lsa_QueryInfoPolicy *)r;
1211 836 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1212 0 : DEBUG(5,("function lsa_QueryInfoPolicy replied async\n"));
1213 : }
1214 836 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1215 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryInfoPolicy, NDR_OUT | NDR_SET_VALUES, r2);
1216 : }
1217 836 : if (dce_call->fault_code != 0) {
1218 0 : DBG_WARNING("dcerpc_fault %s in lsa_QueryInfoPolicy\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1219 : }
1220 836 : break;
1221 : }
1222 0 : case 8: { /* lsa_SetInfoPolicy */
1223 0 : struct lsa_SetInfoPolicy *r2 = (struct lsa_SetInfoPolicy *)r;
1224 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1225 0 : DEBUG(5,("function lsa_SetInfoPolicy replied async\n"));
1226 : }
1227 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1228 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetInfoPolicy, NDR_OUT | NDR_SET_VALUES, r2);
1229 : }
1230 0 : if (dce_call->fault_code != 0) {
1231 0 : DBG_WARNING("dcerpc_fault %s in lsa_SetInfoPolicy\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1232 : }
1233 0 : break;
1234 : }
1235 0 : case 9: { /* lsa_ClearAuditLog */
1236 0 : struct lsa_ClearAuditLog *r2 = (struct lsa_ClearAuditLog *)r;
1237 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1238 0 : DEBUG(5,("function lsa_ClearAuditLog replied async\n"));
1239 : }
1240 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1241 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_ClearAuditLog, NDR_OUT | NDR_SET_VALUES, r2);
1242 : }
1243 0 : if (dce_call->fault_code != 0) {
1244 0 : DBG_WARNING("dcerpc_fault %s in lsa_ClearAuditLog\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1245 : }
1246 0 : break;
1247 : }
1248 2 : case 10: { /* lsa_CreateAccount */
1249 2 : struct lsa_CreateAccount *r2 = (struct lsa_CreateAccount *)r;
1250 2 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1251 0 : DEBUG(5,("function lsa_CreateAccount replied async\n"));
1252 : }
1253 2 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1254 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CreateAccount, NDR_OUT | NDR_SET_VALUES, r2);
1255 : }
1256 2 : if (dce_call->fault_code != 0) {
1257 0 : DBG_WARNING("dcerpc_fault %s in lsa_CreateAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1258 : }
1259 2 : break;
1260 : }
1261 7 : case 11: { /* lsa_EnumAccounts */
1262 7 : struct lsa_EnumAccounts *r2 = (struct lsa_EnumAccounts *)r;
1263 7 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1264 0 : DEBUG(5,("function lsa_EnumAccounts replied async\n"));
1265 : }
1266 7 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1267 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccounts, NDR_OUT | NDR_SET_VALUES, r2);
1268 : }
1269 7 : if (dce_call->fault_code != 0) {
1270 0 : DBG_WARNING("dcerpc_fault %s in lsa_EnumAccounts\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1271 : }
1272 7 : break;
1273 : }
1274 0 : case 12: { /* lsa_CreateTrustedDomain */
1275 0 : struct lsa_CreateTrustedDomain *r2 = (struct lsa_CreateTrustedDomain *)r;
1276 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1277 0 : DEBUG(5,("function lsa_CreateTrustedDomain replied async\n"));
1278 : }
1279 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1280 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomain, NDR_OUT | NDR_SET_VALUES, r2);
1281 : }
1282 0 : if (dce_call->fault_code != 0) {
1283 0 : DBG_WARNING("dcerpc_fault %s in lsa_CreateTrustedDomain\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1284 : }
1285 0 : break;
1286 : }
1287 0 : case 13: { /* lsa_EnumTrustDom */
1288 0 : struct lsa_EnumTrustDom *r2 = (struct lsa_EnumTrustDom *)r;
1289 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1290 0 : DEBUG(5,("function lsa_EnumTrustDom replied async\n"));
1291 : }
1292 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1293 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumTrustDom, NDR_OUT | NDR_SET_VALUES, r2);
1294 : }
1295 0 : if (dce_call->fault_code != 0) {
1296 0 : DBG_WARNING("dcerpc_fault %s in lsa_EnumTrustDom\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1297 : }
1298 0 : break;
1299 : }
1300 251 : case 14: { /* lsa_LookupNames */
1301 251 : struct lsa_LookupNames *r2 = (struct lsa_LookupNames *)r;
1302 251 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1303 0 : DEBUG(5,("function lsa_LookupNames replied async\n"));
1304 : }
1305 251 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1306 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames, NDR_OUT | NDR_SET_VALUES, r2);
1307 : }
1308 251 : if (dce_call->fault_code != 0) {
1309 0 : DBG_WARNING("dcerpc_fault %s in lsa_LookupNames\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1310 : }
1311 251 : break;
1312 : }
1313 1867 : case 15: { /* lsa_LookupSids */
1314 1867 : struct lsa_LookupSids *r2 = (struct lsa_LookupSids *)r;
1315 1867 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1316 0 : DEBUG(5,("function lsa_LookupSids replied async\n"));
1317 : }
1318 1867 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1319 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids, NDR_OUT | NDR_SET_VALUES, r2);
1320 : }
1321 1867 : if (dce_call->fault_code != 0) {
1322 0 : DBG_WARNING("dcerpc_fault %s in lsa_LookupSids\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1323 : }
1324 1867 : break;
1325 : }
1326 344 : case 16: { /* lsa_CreateSecret */
1327 344 : struct lsa_CreateSecret *r2 = (struct lsa_CreateSecret *)r;
1328 344 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1329 0 : DEBUG(5,("function lsa_CreateSecret replied async\n"));
1330 : }
1331 344 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1332 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CreateSecret, NDR_OUT | NDR_SET_VALUES, r2);
1333 : }
1334 344 : if (dce_call->fault_code != 0) {
1335 0 : DBG_WARNING("dcerpc_fault %s in lsa_CreateSecret\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1336 : }
1337 344 : break;
1338 : }
1339 14 : case 17: { /* lsa_OpenAccount */
1340 14 : struct lsa_OpenAccount *r2 = (struct lsa_OpenAccount *)r;
1341 14 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1342 0 : DEBUG(5,("function lsa_OpenAccount replied async\n"));
1343 : }
1344 14 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1345 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenAccount, NDR_OUT | NDR_SET_VALUES, r2);
1346 : }
1347 14 : if (dce_call->fault_code != 0) {
1348 0 : DBG_WARNING("dcerpc_fault %s in lsa_OpenAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1349 : }
1350 14 : break;
1351 : }
1352 12 : case 18: { /* lsa_EnumPrivsAccount */
1353 12 : struct lsa_EnumPrivsAccount *r2 = (struct lsa_EnumPrivsAccount *)r;
1354 12 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1355 0 : DEBUG(5,("function lsa_EnumPrivsAccount replied async\n"));
1356 : }
1357 12 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1358 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumPrivsAccount, NDR_OUT | NDR_SET_VALUES, r2);
1359 : }
1360 12 : if (dce_call->fault_code != 0) {
1361 0 : DBG_WARNING("dcerpc_fault %s in lsa_EnumPrivsAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1362 : }
1363 12 : break;
1364 : }
1365 2 : case 19: { /* lsa_AddPrivilegesToAccount */
1366 2 : struct lsa_AddPrivilegesToAccount *r2 = (struct lsa_AddPrivilegesToAccount *)r;
1367 2 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1368 0 : DEBUG(5,("function lsa_AddPrivilegesToAccount replied async\n"));
1369 : }
1370 2 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1371 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_AddPrivilegesToAccount, NDR_OUT | NDR_SET_VALUES, r2);
1372 : }
1373 2 : if (dce_call->fault_code != 0) {
1374 0 : DBG_WARNING("dcerpc_fault %s in lsa_AddPrivilegesToAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1375 : }
1376 2 : break;
1377 : }
1378 2 : case 20: { /* lsa_RemovePrivilegesFromAccount */
1379 2 : struct lsa_RemovePrivilegesFromAccount *r2 = (struct lsa_RemovePrivilegesFromAccount *)r;
1380 2 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1381 0 : DEBUG(5,("function lsa_RemovePrivilegesFromAccount replied async\n"));
1382 : }
1383 2 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1384 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_RemovePrivilegesFromAccount, NDR_OUT | NDR_SET_VALUES, r2);
1385 : }
1386 2 : if (dce_call->fault_code != 0) {
1387 0 : DBG_WARNING("dcerpc_fault %s in lsa_RemovePrivilegesFromAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1388 : }
1389 2 : break;
1390 : }
1391 0 : case 21: { /* lsa_GetQuotasForAccount */
1392 0 : struct lsa_GetQuotasForAccount *r2 = (struct lsa_GetQuotasForAccount *)r;
1393 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1394 0 : DEBUG(5,("function lsa_GetQuotasForAccount replied async\n"));
1395 : }
1396 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1397 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_GetQuotasForAccount, NDR_OUT | NDR_SET_VALUES, r2);
1398 : }
1399 0 : if (dce_call->fault_code != 0) {
1400 0 : DBG_WARNING("dcerpc_fault %s in lsa_GetQuotasForAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1401 : }
1402 0 : break;
1403 : }
1404 0 : case 22: { /* lsa_SetQuotasForAccount */
1405 0 : struct lsa_SetQuotasForAccount *r2 = (struct lsa_SetQuotasForAccount *)r;
1406 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1407 0 : DEBUG(5,("function lsa_SetQuotasForAccount replied async\n"));
1408 : }
1409 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1410 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetQuotasForAccount, NDR_OUT | NDR_SET_VALUES, r2);
1411 : }
1412 0 : if (dce_call->fault_code != 0) {
1413 0 : DBG_WARNING("dcerpc_fault %s in lsa_SetQuotasForAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1414 : }
1415 0 : break;
1416 : }
1417 14 : case 23: { /* lsa_GetSystemAccessAccount */
1418 14 : struct lsa_GetSystemAccessAccount *r2 = (struct lsa_GetSystemAccessAccount *)r;
1419 14 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1420 0 : DEBUG(5,("function lsa_GetSystemAccessAccount replied async\n"));
1421 : }
1422 14 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1423 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_GetSystemAccessAccount, NDR_OUT | NDR_SET_VALUES, r2);
1424 : }
1425 14 : if (dce_call->fault_code != 0) {
1426 0 : DBG_WARNING("dcerpc_fault %s in lsa_GetSystemAccessAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1427 : }
1428 14 : break;
1429 : }
1430 0 : case 24: { /* lsa_SetSystemAccessAccount */
1431 0 : struct lsa_SetSystemAccessAccount *r2 = (struct lsa_SetSystemAccessAccount *)r;
1432 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1433 0 : DEBUG(5,("function lsa_SetSystemAccessAccount replied async\n"));
1434 : }
1435 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1436 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetSystemAccessAccount, NDR_OUT | NDR_SET_VALUES, r2);
1437 : }
1438 0 : if (dce_call->fault_code != 0) {
1439 0 : DBG_WARNING("dcerpc_fault %s in lsa_SetSystemAccessAccount\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1440 : }
1441 0 : break;
1442 : }
1443 0 : case 25: { /* lsa_OpenTrustedDomain */
1444 0 : struct lsa_OpenTrustedDomain *r2 = (struct lsa_OpenTrustedDomain *)r;
1445 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1446 0 : DEBUG(5,("function lsa_OpenTrustedDomain replied async\n"));
1447 : }
1448 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1449 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenTrustedDomain, NDR_OUT | NDR_SET_VALUES, r2);
1450 : }
1451 0 : if (dce_call->fault_code != 0) {
1452 0 : DBG_WARNING("dcerpc_fault %s in lsa_OpenTrustedDomain\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1453 : }
1454 0 : break;
1455 : }
1456 0 : case 26: { /* lsa_QueryTrustedDomainInfo */
1457 0 : struct lsa_QueryTrustedDomainInfo *r2 = (struct lsa_QueryTrustedDomainInfo *)r;
1458 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1459 0 : DEBUG(5,("function lsa_QueryTrustedDomainInfo replied async\n"));
1460 : }
1461 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1462 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfo, NDR_OUT | NDR_SET_VALUES, r2);
1463 : }
1464 0 : if (dce_call->fault_code != 0) {
1465 0 : DBG_WARNING("dcerpc_fault %s in lsa_QueryTrustedDomainInfo\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1466 : }
1467 0 : break;
1468 : }
1469 0 : case 27: { /* lsa_SetInformationTrustedDomain */
1470 0 : struct lsa_SetInformationTrustedDomain *r2 = (struct lsa_SetInformationTrustedDomain *)r;
1471 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1472 0 : DEBUG(5,("function lsa_SetInformationTrustedDomain replied async\n"));
1473 : }
1474 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1475 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetInformationTrustedDomain, NDR_OUT | NDR_SET_VALUES, r2);
1476 : }
1477 0 : if (dce_call->fault_code != 0) {
1478 0 : DBG_WARNING("dcerpc_fault %s in lsa_SetInformationTrustedDomain\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1479 : }
1480 0 : break;
1481 : }
1482 8 : case 28: { /* lsa_OpenSecret */
1483 8 : struct lsa_OpenSecret *r2 = (struct lsa_OpenSecret *)r;
1484 8 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1485 0 : DEBUG(5,("function lsa_OpenSecret replied async\n"));
1486 : }
1487 8 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1488 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenSecret, NDR_OUT | NDR_SET_VALUES, r2);
1489 : }
1490 8 : if (dce_call->fault_code != 0) {
1491 0 : DBG_WARNING("dcerpc_fault %s in lsa_OpenSecret\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1492 : }
1493 8 : break;
1494 : }
1495 464 : case 29: { /* lsa_SetSecret */
1496 464 : struct lsa_SetSecret *r2 = (struct lsa_SetSecret *)r;
1497 464 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1498 0 : DEBUG(5,("function lsa_SetSecret replied async\n"));
1499 : }
1500 464 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1501 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetSecret, NDR_OUT | NDR_SET_VALUES, r2);
1502 : }
1503 464 : if (dce_call->fault_code != 0) {
1504 0 : DBG_WARNING("dcerpc_fault %s in lsa_SetSecret\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1505 : }
1506 464 : break;
1507 : }
1508 236 : case 30: { /* lsa_QuerySecret */
1509 236 : struct lsa_QuerySecret *r2 = (struct lsa_QuerySecret *)r;
1510 236 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1511 0 : DEBUG(5,("function lsa_QuerySecret replied async\n"));
1512 : }
1513 236 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1514 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QuerySecret, NDR_OUT | NDR_SET_VALUES, r2);
1515 : }
1516 236 : if (dce_call->fault_code != 0) {
1517 0 : DBG_WARNING("dcerpc_fault %s in lsa_QuerySecret\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1518 : }
1519 236 : break;
1520 : }
1521 20 : case 31: { /* lsa_LookupPrivValue */
1522 20 : struct lsa_LookupPrivValue *r2 = (struct lsa_LookupPrivValue *)r;
1523 20 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1524 0 : DEBUG(5,("function lsa_LookupPrivValue replied async\n"));
1525 : }
1526 20 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1527 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivValue, NDR_OUT | NDR_SET_VALUES, r2);
1528 : }
1529 20 : if (dce_call->fault_code != 0) {
1530 0 : DBG_WARNING("dcerpc_fault %s in lsa_LookupPrivValue\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1531 : }
1532 20 : break;
1533 : }
1534 50 : case 32: { /* lsa_LookupPrivName */
1535 50 : struct lsa_LookupPrivName *r2 = (struct lsa_LookupPrivName *)r;
1536 50 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1537 0 : DEBUG(5,("function lsa_LookupPrivName replied async\n"));
1538 : }
1539 50 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1540 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivName, NDR_OUT | NDR_SET_VALUES, r2);
1541 : }
1542 50 : if (dce_call->fault_code != 0) {
1543 0 : DBG_WARNING("dcerpc_fault %s in lsa_LookupPrivName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1544 : }
1545 50 : break;
1546 : }
1547 18 : case 33: { /* lsa_LookupPrivDisplayName */
1548 18 : struct lsa_LookupPrivDisplayName *r2 = (struct lsa_LookupPrivDisplayName *)r;
1549 18 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1550 0 : DEBUG(5,("function lsa_LookupPrivDisplayName replied async\n"));
1551 : }
1552 18 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1553 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupPrivDisplayName, NDR_OUT | NDR_SET_VALUES, r2);
1554 : }
1555 18 : if (dce_call->fault_code != 0) {
1556 0 : DBG_WARNING("dcerpc_fault %s in lsa_LookupPrivDisplayName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1557 : }
1558 18 : break;
1559 : }
1560 347 : case 34: { /* lsa_DeleteObject */
1561 347 : struct lsa_DeleteObject *r2 = (struct lsa_DeleteObject *)r;
1562 347 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1563 0 : DEBUG(5,("function lsa_DeleteObject replied async\n"));
1564 : }
1565 347 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1566 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_DeleteObject, NDR_OUT | NDR_SET_VALUES, r2);
1567 : }
1568 347 : if (dce_call->fault_code != 0) {
1569 0 : DBG_WARNING("dcerpc_fault %s in lsa_DeleteObject\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1570 : }
1571 347 : break;
1572 : }
1573 18 : case 35: { /* lsa_EnumAccountsWithUserRight */
1574 18 : struct lsa_EnumAccountsWithUserRight *r2 = (struct lsa_EnumAccountsWithUserRight *)r;
1575 18 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1576 0 : DEBUG(5,("function lsa_EnumAccountsWithUserRight replied async\n"));
1577 : }
1578 18 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1579 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccountsWithUserRight, NDR_OUT | NDR_SET_VALUES, r2);
1580 : }
1581 18 : if (dce_call->fault_code != 0) {
1582 0 : DBG_WARNING("dcerpc_fault %s in lsa_EnumAccountsWithUserRight\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1583 : }
1584 18 : break;
1585 : }
1586 112 : case 36: { /* lsa_EnumAccountRights */
1587 112 : struct lsa_EnumAccountRights *r2 = (struct lsa_EnumAccountRights *)r;
1588 112 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1589 0 : DEBUG(5,("function lsa_EnumAccountRights replied async\n"));
1590 : }
1591 112 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1592 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumAccountRights, NDR_OUT | NDR_SET_VALUES, r2);
1593 : }
1594 112 : if (dce_call->fault_code != 0) {
1595 0 : DBG_WARNING("dcerpc_fault %s in lsa_EnumAccountRights\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1596 : }
1597 112 : break;
1598 : }
1599 24 : case 37: { /* lsa_AddAccountRights */
1600 24 : struct lsa_AddAccountRights *r2 = (struct lsa_AddAccountRights *)r;
1601 24 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1602 0 : DEBUG(5,("function lsa_AddAccountRights replied async\n"));
1603 : }
1604 24 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1605 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_AddAccountRights, NDR_OUT | NDR_SET_VALUES, r2);
1606 : }
1607 24 : if (dce_call->fault_code != 0) {
1608 0 : DBG_WARNING("dcerpc_fault %s in lsa_AddAccountRights\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1609 : }
1610 24 : break;
1611 : }
1612 20 : case 38: { /* lsa_RemoveAccountRights */
1613 20 : struct lsa_RemoveAccountRights *r2 = (struct lsa_RemoveAccountRights *)r;
1614 20 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1615 0 : DEBUG(5,("function lsa_RemoveAccountRights replied async\n"));
1616 : }
1617 20 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1618 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_RemoveAccountRights, NDR_OUT | NDR_SET_VALUES, r2);
1619 : }
1620 20 : if (dce_call->fault_code != 0) {
1621 0 : DBG_WARNING("dcerpc_fault %s in lsa_RemoveAccountRights\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1622 : }
1623 20 : break;
1624 : }
1625 0 : case 39: { /* lsa_QueryTrustedDomainInfoBySid */
1626 0 : struct lsa_QueryTrustedDomainInfoBySid *r2 = (struct lsa_QueryTrustedDomainInfoBySid *)r;
1627 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1628 0 : DEBUG(5,("function lsa_QueryTrustedDomainInfoBySid replied async\n"));
1629 : }
1630 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1631 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfoBySid, NDR_OUT | NDR_SET_VALUES, r2);
1632 : }
1633 0 : if (dce_call->fault_code != 0) {
1634 0 : DBG_WARNING("dcerpc_fault %s in lsa_QueryTrustedDomainInfoBySid\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1635 : }
1636 0 : break;
1637 : }
1638 0 : case 40: { /* lsa_SetTrustedDomainInfo */
1639 0 : struct lsa_SetTrustedDomainInfo *r2 = (struct lsa_SetTrustedDomainInfo *)r;
1640 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1641 0 : DEBUG(5,("function lsa_SetTrustedDomainInfo replied async\n"));
1642 : }
1643 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1644 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetTrustedDomainInfo, NDR_OUT | NDR_SET_VALUES, r2);
1645 : }
1646 0 : if (dce_call->fault_code != 0) {
1647 0 : DBG_WARNING("dcerpc_fault %s in lsa_SetTrustedDomainInfo\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1648 : }
1649 0 : break;
1650 : }
1651 0 : case 41: { /* lsa_DeleteTrustedDomain */
1652 0 : struct lsa_DeleteTrustedDomain *r2 = (struct lsa_DeleteTrustedDomain *)r;
1653 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1654 0 : DEBUG(5,("function lsa_DeleteTrustedDomain replied async\n"));
1655 : }
1656 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1657 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_DeleteTrustedDomain, NDR_OUT | NDR_SET_VALUES, r2);
1658 : }
1659 0 : if (dce_call->fault_code != 0) {
1660 0 : DBG_WARNING("dcerpc_fault %s in lsa_DeleteTrustedDomain\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1661 : }
1662 0 : break;
1663 : }
1664 0 : case 42: { /* lsa_StorePrivateData */
1665 0 : struct lsa_StorePrivateData *r2 = (struct lsa_StorePrivateData *)r;
1666 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1667 0 : DEBUG(5,("function lsa_StorePrivateData replied async\n"));
1668 : }
1669 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1670 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_StorePrivateData, NDR_OUT | NDR_SET_VALUES, r2);
1671 : }
1672 0 : if (dce_call->fault_code != 0) {
1673 0 : DBG_WARNING("dcerpc_fault %s in lsa_StorePrivateData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1674 : }
1675 0 : break;
1676 : }
1677 0 : case 43: { /* lsa_RetrievePrivateData */
1678 0 : struct lsa_RetrievePrivateData *r2 = (struct lsa_RetrievePrivateData *)r;
1679 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1680 0 : DEBUG(5,("function lsa_RetrievePrivateData replied async\n"));
1681 : }
1682 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1683 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_RetrievePrivateData, NDR_OUT | NDR_SET_VALUES, r2);
1684 : }
1685 0 : if (dce_call->fault_code != 0) {
1686 0 : DBG_WARNING("dcerpc_fault %s in lsa_RetrievePrivateData\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1687 : }
1688 0 : break;
1689 : }
1690 651 : case 44: { /* lsa_OpenPolicy2 */
1691 651 : struct lsa_OpenPolicy2 *r2 = (struct lsa_OpenPolicy2 *)r;
1692 651 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1693 0 : DEBUG(5,("function lsa_OpenPolicy2 replied async\n"));
1694 : }
1695 651 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1696 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenPolicy2, NDR_OUT | NDR_SET_VALUES, r2);
1697 : }
1698 651 : if (dce_call->fault_code != 0) {
1699 0 : DBG_WARNING("dcerpc_fault %s in lsa_OpenPolicy2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1700 : }
1701 651 : break;
1702 : }
1703 275 : case 45: { /* lsa_GetUserName */
1704 275 : struct lsa_GetUserName *r2 = (struct lsa_GetUserName *)r;
1705 275 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1706 0 : DEBUG(5,("function lsa_GetUserName replied async\n"));
1707 : }
1708 275 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1709 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_GetUserName, NDR_OUT | NDR_SET_VALUES, r2);
1710 : }
1711 275 : if (dce_call->fault_code != 0) {
1712 0 : DBG_WARNING("dcerpc_fault %s in lsa_GetUserName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1713 : }
1714 275 : break;
1715 : }
1716 2 : case 46: { /* lsa_QueryInfoPolicy2 */
1717 2 : struct lsa_QueryInfoPolicy2 *r2 = (struct lsa_QueryInfoPolicy2 *)r;
1718 2 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1719 0 : DEBUG(5,("function lsa_QueryInfoPolicy2 replied async\n"));
1720 : }
1721 2 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1722 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryInfoPolicy2, NDR_OUT | NDR_SET_VALUES, r2);
1723 : }
1724 2 : if (dce_call->fault_code != 0) {
1725 0 : DBG_WARNING("dcerpc_fault %s in lsa_QueryInfoPolicy2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1726 : }
1727 2 : break;
1728 : }
1729 0 : case 47: { /* lsa_SetInfoPolicy2 */
1730 0 : struct lsa_SetInfoPolicy2 *r2 = (struct lsa_SetInfoPolicy2 *)r;
1731 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1732 0 : DEBUG(5,("function lsa_SetInfoPolicy2 replied async\n"));
1733 : }
1734 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1735 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetInfoPolicy2, NDR_OUT | NDR_SET_VALUES, r2);
1736 : }
1737 0 : if (dce_call->fault_code != 0) {
1738 0 : DBG_WARNING("dcerpc_fault %s in lsa_SetInfoPolicy2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1739 : }
1740 0 : break;
1741 : }
1742 0 : case 48: { /* lsa_QueryTrustedDomainInfoByName */
1743 0 : struct lsa_QueryTrustedDomainInfoByName *r2 = (struct lsa_QueryTrustedDomainInfoByName *)r;
1744 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1745 0 : DEBUG(5,("function lsa_QueryTrustedDomainInfoByName replied async\n"));
1746 : }
1747 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1748 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryTrustedDomainInfoByName, NDR_OUT | NDR_SET_VALUES, r2);
1749 : }
1750 0 : if (dce_call->fault_code != 0) {
1751 0 : DBG_WARNING("dcerpc_fault %s in lsa_QueryTrustedDomainInfoByName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1752 : }
1753 0 : break;
1754 : }
1755 0 : case 49: { /* lsa_SetTrustedDomainInfoByName */
1756 0 : struct lsa_SetTrustedDomainInfoByName *r2 = (struct lsa_SetTrustedDomainInfoByName *)r;
1757 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1758 0 : DEBUG(5,("function lsa_SetTrustedDomainInfoByName replied async\n"));
1759 : }
1760 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1761 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetTrustedDomainInfoByName, NDR_OUT | NDR_SET_VALUES, r2);
1762 : }
1763 0 : if (dce_call->fault_code != 0) {
1764 0 : DBG_WARNING("dcerpc_fault %s in lsa_SetTrustedDomainInfoByName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1765 : }
1766 0 : break;
1767 : }
1768 0 : case 50: { /* lsa_EnumTrustedDomainsEx */
1769 0 : struct lsa_EnumTrustedDomainsEx *r2 = (struct lsa_EnumTrustedDomainsEx *)r;
1770 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1771 0 : DEBUG(5,("function lsa_EnumTrustedDomainsEx replied async\n"));
1772 : }
1773 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1774 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_EnumTrustedDomainsEx, NDR_OUT | NDR_SET_VALUES, r2);
1775 : }
1776 0 : if (dce_call->fault_code != 0) {
1777 0 : DBG_WARNING("dcerpc_fault %s in lsa_EnumTrustedDomainsEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1778 : }
1779 0 : break;
1780 : }
1781 0 : case 51: { /* lsa_CreateTrustedDomainEx */
1782 0 : struct lsa_CreateTrustedDomainEx *r2 = (struct lsa_CreateTrustedDomainEx *)r;
1783 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1784 0 : DEBUG(5,("function lsa_CreateTrustedDomainEx replied async\n"));
1785 : }
1786 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1787 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomainEx, NDR_OUT | NDR_SET_VALUES, r2);
1788 : }
1789 0 : if (dce_call->fault_code != 0) {
1790 0 : DBG_WARNING("dcerpc_fault %s in lsa_CreateTrustedDomainEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1791 : }
1792 0 : break;
1793 : }
1794 0 : case 52: { /* lsa_CloseTrustedDomainEx */
1795 0 : struct lsa_CloseTrustedDomainEx *r2 = (struct lsa_CloseTrustedDomainEx *)r;
1796 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1797 0 : DEBUG(5,("function lsa_CloseTrustedDomainEx replied async\n"));
1798 : }
1799 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1800 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CloseTrustedDomainEx, NDR_OUT | NDR_SET_VALUES, r2);
1801 : }
1802 0 : if (dce_call->fault_code != 0) {
1803 0 : DBG_WARNING("dcerpc_fault %s in lsa_CloseTrustedDomainEx\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1804 : }
1805 0 : break;
1806 : }
1807 0 : case 53: { /* lsa_QueryDomainInformationPolicy */
1808 0 : struct lsa_QueryDomainInformationPolicy *r2 = (struct lsa_QueryDomainInformationPolicy *)r;
1809 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1810 0 : DEBUG(5,("function lsa_QueryDomainInformationPolicy replied async\n"));
1811 : }
1812 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1813 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_QueryDomainInformationPolicy, NDR_OUT | NDR_SET_VALUES, r2);
1814 : }
1815 0 : if (dce_call->fault_code != 0) {
1816 0 : DBG_WARNING("dcerpc_fault %s in lsa_QueryDomainInformationPolicy\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1817 : }
1818 0 : break;
1819 : }
1820 0 : case 54: { /* lsa_SetDomainInformationPolicy */
1821 0 : struct lsa_SetDomainInformationPolicy *r2 = (struct lsa_SetDomainInformationPolicy *)r;
1822 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1823 0 : DEBUG(5,("function lsa_SetDomainInformationPolicy replied async\n"));
1824 : }
1825 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1826 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_SetDomainInformationPolicy, NDR_OUT | NDR_SET_VALUES, r2);
1827 : }
1828 0 : if (dce_call->fault_code != 0) {
1829 0 : DBG_WARNING("dcerpc_fault %s in lsa_SetDomainInformationPolicy\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1830 : }
1831 0 : break;
1832 : }
1833 0 : case 55: { /* lsa_OpenTrustedDomainByName */
1834 0 : struct lsa_OpenTrustedDomainByName *r2 = (struct lsa_OpenTrustedDomainByName *)r;
1835 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1836 0 : DEBUG(5,("function lsa_OpenTrustedDomainByName replied async\n"));
1837 : }
1838 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1839 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_OpenTrustedDomainByName, NDR_OUT | NDR_SET_VALUES, r2);
1840 : }
1841 0 : if (dce_call->fault_code != 0) {
1842 0 : DBG_WARNING("dcerpc_fault %s in lsa_OpenTrustedDomainByName\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1843 : }
1844 0 : break;
1845 : }
1846 0 : case 56: { /* lsa_TestCall */
1847 0 : struct lsa_TestCall *r2 = (struct lsa_TestCall *)r;
1848 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1849 0 : DEBUG(5,("function lsa_TestCall replied async\n"));
1850 : }
1851 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1852 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_TestCall, NDR_OUT | NDR_SET_VALUES, r2);
1853 : }
1854 0 : if (dce_call->fault_code != 0) {
1855 0 : DBG_WARNING("dcerpc_fault %s in lsa_TestCall\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1856 : }
1857 0 : break;
1858 : }
1859 2 : case 57: { /* lsa_LookupSids2 */
1860 2 : struct lsa_LookupSids2 *r2 = (struct lsa_LookupSids2 *)r;
1861 2 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1862 0 : DEBUG(5,("function lsa_LookupSids2 replied async\n"));
1863 : }
1864 2 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1865 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids2, NDR_OUT | NDR_SET_VALUES, r2);
1866 : }
1867 2 : if (dce_call->fault_code != 0) {
1868 0 : DBG_WARNING("dcerpc_fault %s in lsa_LookupSids2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1869 : }
1870 2 : break;
1871 : }
1872 4 : case 58: { /* lsa_LookupNames2 */
1873 4 : struct lsa_LookupNames2 *r2 = (struct lsa_LookupNames2 *)r;
1874 4 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1875 0 : DEBUG(5,("function lsa_LookupNames2 replied async\n"));
1876 : }
1877 4 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1878 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames2, NDR_OUT | NDR_SET_VALUES, r2);
1879 : }
1880 4 : if (dce_call->fault_code != 0) {
1881 0 : DBG_WARNING("dcerpc_fault %s in lsa_LookupNames2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1882 : }
1883 4 : break;
1884 : }
1885 0 : case 59: { /* lsa_CreateTrustedDomainEx2 */
1886 0 : struct lsa_CreateTrustedDomainEx2 *r2 = (struct lsa_CreateTrustedDomainEx2 *)r;
1887 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1888 0 : DEBUG(5,("function lsa_CreateTrustedDomainEx2 replied async\n"));
1889 : }
1890 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1891 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CreateTrustedDomainEx2, NDR_OUT | NDR_SET_VALUES, r2);
1892 : }
1893 0 : if (dce_call->fault_code != 0) {
1894 0 : DBG_WARNING("dcerpc_fault %s in lsa_CreateTrustedDomainEx2\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1895 : }
1896 0 : break;
1897 : }
1898 0 : case 60: { /* lsa_CREDRWRITE */
1899 0 : struct lsa_CREDRWRITE *r2 = (struct lsa_CREDRWRITE *)r;
1900 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1901 0 : DEBUG(5,("function lsa_CREDRWRITE replied async\n"));
1902 : }
1903 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1904 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRWRITE, NDR_OUT | NDR_SET_VALUES, r2);
1905 : }
1906 0 : if (dce_call->fault_code != 0) {
1907 0 : DBG_WARNING("dcerpc_fault %s in lsa_CREDRWRITE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1908 : }
1909 0 : break;
1910 : }
1911 0 : case 61: { /* lsa_CREDRREAD */
1912 0 : struct lsa_CREDRREAD *r2 = (struct lsa_CREDRREAD *)r;
1913 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1914 0 : DEBUG(5,("function lsa_CREDRREAD replied async\n"));
1915 : }
1916 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1917 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRREAD, NDR_OUT | NDR_SET_VALUES, r2);
1918 : }
1919 0 : if (dce_call->fault_code != 0) {
1920 0 : DBG_WARNING("dcerpc_fault %s in lsa_CREDRREAD\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1921 : }
1922 0 : break;
1923 : }
1924 0 : case 62: { /* lsa_CREDRENUMERATE */
1925 0 : struct lsa_CREDRENUMERATE *r2 = (struct lsa_CREDRENUMERATE *)r;
1926 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1927 0 : DEBUG(5,("function lsa_CREDRENUMERATE replied async\n"));
1928 : }
1929 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1930 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRENUMERATE, NDR_OUT | NDR_SET_VALUES, r2);
1931 : }
1932 0 : if (dce_call->fault_code != 0) {
1933 0 : DBG_WARNING("dcerpc_fault %s in lsa_CREDRENUMERATE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1934 : }
1935 0 : break;
1936 : }
1937 0 : case 63: { /* lsa_CREDRWRITEDOMAINCREDENTIALS */
1938 0 : struct lsa_CREDRWRITEDOMAINCREDENTIALS *r2 = (struct lsa_CREDRWRITEDOMAINCREDENTIALS *)r;
1939 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1940 0 : DEBUG(5,("function lsa_CREDRWRITEDOMAINCREDENTIALS replied async\n"));
1941 : }
1942 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1943 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRWRITEDOMAINCREDENTIALS, NDR_OUT | NDR_SET_VALUES, r2);
1944 : }
1945 0 : if (dce_call->fault_code != 0) {
1946 0 : DBG_WARNING("dcerpc_fault %s in lsa_CREDRWRITEDOMAINCREDENTIALS\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1947 : }
1948 0 : break;
1949 : }
1950 0 : case 64: { /* lsa_CREDRREADDOMAINCREDENTIALS */
1951 0 : struct lsa_CREDRREADDOMAINCREDENTIALS *r2 = (struct lsa_CREDRREADDOMAINCREDENTIALS *)r;
1952 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1953 0 : DEBUG(5,("function lsa_CREDRREADDOMAINCREDENTIALS replied async\n"));
1954 : }
1955 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1956 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRREADDOMAINCREDENTIALS, NDR_OUT | NDR_SET_VALUES, r2);
1957 : }
1958 0 : if (dce_call->fault_code != 0) {
1959 0 : DBG_WARNING("dcerpc_fault %s in lsa_CREDRREADDOMAINCREDENTIALS\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1960 : }
1961 0 : break;
1962 : }
1963 0 : case 65: { /* lsa_CREDRDELETE */
1964 0 : struct lsa_CREDRDELETE *r2 = (struct lsa_CREDRDELETE *)r;
1965 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1966 0 : DEBUG(5,("function lsa_CREDRDELETE replied async\n"));
1967 : }
1968 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1969 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRDELETE, NDR_OUT | NDR_SET_VALUES, r2);
1970 : }
1971 0 : if (dce_call->fault_code != 0) {
1972 0 : DBG_WARNING("dcerpc_fault %s in lsa_CREDRDELETE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1973 : }
1974 0 : break;
1975 : }
1976 0 : case 66: { /* lsa_CREDRGETTARGETINFO */
1977 0 : struct lsa_CREDRGETTARGETINFO *r2 = (struct lsa_CREDRGETTARGETINFO *)r;
1978 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1979 0 : DEBUG(5,("function lsa_CREDRGETTARGETINFO replied async\n"));
1980 : }
1981 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1982 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRGETTARGETINFO, NDR_OUT | NDR_SET_VALUES, r2);
1983 : }
1984 0 : if (dce_call->fault_code != 0) {
1985 0 : DBG_WARNING("dcerpc_fault %s in lsa_CREDRGETTARGETINFO\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1986 : }
1987 0 : break;
1988 : }
1989 0 : case 67: { /* lsa_CREDRPROFILELOADED */
1990 0 : struct lsa_CREDRPROFILELOADED *r2 = (struct lsa_CREDRPROFILELOADED *)r;
1991 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
1992 0 : DEBUG(5,("function lsa_CREDRPROFILELOADED replied async\n"));
1993 : }
1994 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
1995 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRPROFILELOADED, NDR_OUT | NDR_SET_VALUES, r2);
1996 : }
1997 0 : if (dce_call->fault_code != 0) {
1998 0 : DBG_WARNING("dcerpc_fault %s in lsa_CREDRPROFILELOADED\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
1999 : }
2000 0 : break;
2001 : }
2002 4 : case 68: { /* lsa_LookupNames3 */
2003 4 : struct lsa_LookupNames3 *r2 = (struct lsa_LookupNames3 *)r;
2004 4 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2005 0 : DEBUG(5,("function lsa_LookupNames3 replied async\n"));
2006 : }
2007 4 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2008 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames3, NDR_OUT | NDR_SET_VALUES, r2);
2009 : }
2010 4 : if (dce_call->fault_code != 0) {
2011 0 : DBG_WARNING("dcerpc_fault %s in lsa_LookupNames3\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2012 : }
2013 4 : break;
2014 : }
2015 0 : case 69: { /* lsa_CREDRGETSESSIONTYPES */
2016 0 : struct lsa_CREDRGETSESSIONTYPES *r2 = (struct lsa_CREDRGETSESSIONTYPES *)r;
2017 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2018 0 : DEBUG(5,("function lsa_CREDRGETSESSIONTYPES replied async\n"));
2019 : }
2020 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2021 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRGETSESSIONTYPES, NDR_OUT | NDR_SET_VALUES, r2);
2022 : }
2023 0 : if (dce_call->fault_code != 0) {
2024 0 : DBG_WARNING("dcerpc_fault %s in lsa_CREDRGETSESSIONTYPES\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2025 : }
2026 0 : break;
2027 : }
2028 0 : case 70: { /* lsa_LSARREGISTERAUDITEVENT */
2029 0 : struct lsa_LSARREGISTERAUDITEVENT *r2 = (struct lsa_LSARREGISTERAUDITEVENT *)r;
2030 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2031 0 : DEBUG(5,("function lsa_LSARREGISTERAUDITEVENT replied async\n"));
2032 : }
2033 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2034 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARREGISTERAUDITEVENT, NDR_OUT | NDR_SET_VALUES, r2);
2035 : }
2036 0 : if (dce_call->fault_code != 0) {
2037 0 : DBG_WARNING("dcerpc_fault %s in lsa_LSARREGISTERAUDITEVENT\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2038 : }
2039 0 : break;
2040 : }
2041 0 : case 71: { /* lsa_LSARGENAUDITEVENT */
2042 0 : struct lsa_LSARGENAUDITEVENT *r2 = (struct lsa_LSARGENAUDITEVENT *)r;
2043 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2044 0 : DEBUG(5,("function lsa_LSARGENAUDITEVENT replied async\n"));
2045 : }
2046 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2047 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARGENAUDITEVENT, NDR_OUT | NDR_SET_VALUES, r2);
2048 : }
2049 0 : if (dce_call->fault_code != 0) {
2050 0 : DBG_WARNING("dcerpc_fault %s in lsa_LSARGENAUDITEVENT\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2051 : }
2052 0 : break;
2053 : }
2054 0 : case 72: { /* lsa_LSARUNREGISTERAUDITEVENT */
2055 0 : struct lsa_LSARUNREGISTERAUDITEVENT *r2 = (struct lsa_LSARUNREGISTERAUDITEVENT *)r;
2056 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2057 0 : DEBUG(5,("function lsa_LSARUNREGISTERAUDITEVENT replied async\n"));
2058 : }
2059 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2060 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARUNREGISTERAUDITEVENT, NDR_OUT | NDR_SET_VALUES, r2);
2061 : }
2062 0 : if (dce_call->fault_code != 0) {
2063 0 : DBG_WARNING("dcerpc_fault %s in lsa_LSARUNREGISTERAUDITEVENT\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2064 : }
2065 0 : break;
2066 : }
2067 0 : case 73: { /* lsa_lsaRQueryForestTrustInformation */
2068 0 : struct lsa_lsaRQueryForestTrustInformation *r2 = (struct lsa_lsaRQueryForestTrustInformation *)r;
2069 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2070 0 : DEBUG(5,("function lsa_lsaRQueryForestTrustInformation replied async\n"));
2071 : }
2072 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2073 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_lsaRQueryForestTrustInformation, NDR_OUT | NDR_SET_VALUES, r2);
2074 : }
2075 0 : if (dce_call->fault_code != 0) {
2076 0 : DBG_WARNING("dcerpc_fault %s in lsa_lsaRQueryForestTrustInformation\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2077 : }
2078 0 : break;
2079 : }
2080 0 : case 74: { /* lsa_lsaRSetForestTrustInformation */
2081 0 : struct lsa_lsaRSetForestTrustInformation *r2 = (struct lsa_lsaRSetForestTrustInformation *)r;
2082 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2083 0 : DEBUG(5,("function lsa_lsaRSetForestTrustInformation replied async\n"));
2084 : }
2085 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2086 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_lsaRSetForestTrustInformation, NDR_OUT | NDR_SET_VALUES, r2);
2087 : }
2088 0 : if (dce_call->fault_code != 0) {
2089 0 : DBG_WARNING("dcerpc_fault %s in lsa_lsaRSetForestTrustInformation\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2090 : }
2091 0 : break;
2092 : }
2093 0 : case 75: { /* lsa_CREDRRENAME */
2094 0 : struct lsa_CREDRRENAME *r2 = (struct lsa_CREDRRENAME *)r;
2095 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2096 0 : DEBUG(5,("function lsa_CREDRRENAME replied async\n"));
2097 : }
2098 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2099 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_CREDRRENAME, NDR_OUT | NDR_SET_VALUES, r2);
2100 : }
2101 0 : if (dce_call->fault_code != 0) {
2102 0 : DBG_WARNING("dcerpc_fault %s in lsa_CREDRRENAME\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2103 : }
2104 0 : break;
2105 : }
2106 21 : case 76: { /* lsa_LookupSids3 */
2107 21 : struct lsa_LookupSids3 *r2 = (struct lsa_LookupSids3 *)r;
2108 21 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2109 0 : DEBUG(5,("function lsa_LookupSids3 replied async\n"));
2110 : }
2111 21 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2112 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupSids3, NDR_OUT | NDR_SET_VALUES, r2);
2113 : }
2114 21 : if (dce_call->fault_code != 0) {
2115 0 : DBG_WARNING("dcerpc_fault %s in lsa_LookupSids3\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2116 : }
2117 21 : break;
2118 : }
2119 42 : case 77: { /* lsa_LookupNames4 */
2120 42 : struct lsa_LookupNames4 *r2 = (struct lsa_LookupNames4 *)r;
2121 42 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2122 0 : DEBUG(5,("function lsa_LookupNames4 replied async\n"));
2123 : }
2124 42 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2125 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LookupNames4, NDR_OUT | NDR_SET_VALUES, r2);
2126 : }
2127 42 : if (dce_call->fault_code != 0) {
2128 0 : DBG_WARNING("dcerpc_fault %s in lsa_LookupNames4\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2129 : }
2130 42 : break;
2131 : }
2132 0 : case 78: { /* lsa_LSAROPENPOLICYSCE */
2133 0 : struct lsa_LSAROPENPOLICYSCE *r2 = (struct lsa_LSAROPENPOLICYSCE *)r;
2134 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2135 0 : DEBUG(5,("function lsa_LSAROPENPOLICYSCE replied async\n"));
2136 : }
2137 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2138 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSAROPENPOLICYSCE, NDR_OUT | NDR_SET_VALUES, r2);
2139 : }
2140 0 : if (dce_call->fault_code != 0) {
2141 0 : DBG_WARNING("dcerpc_fault %s in lsa_LSAROPENPOLICYSCE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2142 : }
2143 0 : break;
2144 : }
2145 0 : case 79: { /* lsa_LSARADTREGISTERSECURITYEVENTSOURCE */
2146 0 : struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r2 = (struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *)r;
2147 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2148 0 : DEBUG(5,("function lsa_LSARADTREGISTERSECURITYEVENTSOURCE replied async\n"));
2149 : }
2150 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2151 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTREGISTERSECURITYEVENTSOURCE, NDR_OUT | NDR_SET_VALUES, r2);
2152 : }
2153 0 : if (dce_call->fault_code != 0) {
2154 0 : DBG_WARNING("dcerpc_fault %s in lsa_LSARADTREGISTERSECURITYEVENTSOURCE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2155 : }
2156 0 : break;
2157 : }
2158 0 : case 80: { /* lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE */
2159 0 : struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r2 = (struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *)r;
2160 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2161 0 : DEBUG(5,("function lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE replied async\n"));
2162 : }
2163 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2164 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE, NDR_OUT | NDR_SET_VALUES, r2);
2165 : }
2166 0 : if (dce_call->fault_code != 0) {
2167 0 : DBG_WARNING("dcerpc_fault %s in lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2168 : }
2169 0 : break;
2170 : }
2171 0 : case 81: { /* lsa_LSARADTREPORTSECURITYEVENT */
2172 0 : struct lsa_LSARADTREPORTSECURITYEVENT *r2 = (struct lsa_LSARADTREPORTSECURITYEVENT *)r;
2173 0 : if (dce_call->state_flags & DCESRV_CALL_STATE_FLAG_ASYNC) {
2174 0 : DEBUG(5,("function lsa_LSARADTREPORTSECURITYEVENT replied async\n"));
2175 : }
2176 0 : if (DEBUGLEVEL >= 10 && dce_call->fault_code == 0) {
2177 0 : NDR_PRINT_FUNCTION_DEBUG(lsa_LSARADTREPORTSECURITYEVENT, NDR_OUT | NDR_SET_VALUES, r2);
2178 : }
2179 0 : if (dce_call->fault_code != 0) {
2180 0 : DBG_WARNING("dcerpc_fault %s in lsa_LSARADTREPORTSECURITYEVENT\n", dcerpc_errstr(mem_ctx, dce_call->fault_code));
2181 : }
2182 0 : break;
2183 : }
2184 0 : default:
2185 0 : dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
2186 0 : break;
2187 : }
2188 :
2189 7998 : if (dce_call->fault_code != 0) {
2190 0 : return NT_STATUS_NET_WRITE_FAULT;
2191 : }
2192 :
2193 7998 : return NT_STATUS_OK;
2194 : }
2195 :
2196 7998 : NTSTATUS lsarpc__op_ndr_push(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_push *push, const void *r)
2197 : {
2198 0 : enum ndr_err_code ndr_err;
2199 7998 : uint16_t opnum = dce_call->pkt.u.request.opnum;
2200 :
2201 7998 : ndr_err = ndr_table_lsarpc.calls[opnum].ndr_push(push, NDR_OUT, r);
2202 7998 : if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
2203 0 : dce_call->fault_code = DCERPC_FAULT_NDR;
2204 0 : return NT_STATUS_NET_WRITE_FAULT;
2205 : }
2206 :
2207 7998 : return NT_STATUS_OK;
2208 : }
2209 :
2210 0 : NTSTATUS lsarpc__op_local(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
2211 : {
2212 0 : return lsarpc__op_dispatch_internal(dce_call, mem_ctx, r, S3COMPAT_RPC_DISPATCH_INTERNAL);
2213 : }
2214 :
2215 : static const struct dcesrv_interface dcesrv_lsarpc_interface = {
2216 : .name = "lsarpc",
2217 : .syntax_id = {{0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},0.0},
2218 : .bind = lsarpc__op_bind,
2219 : .unbind = lsarpc__op_unbind,
2220 : .ndr_pull = lsarpc__op_ndr_pull,
2221 : .dispatch = lsarpc__op_dispatch,
2222 : .reply = lsarpc__op_reply,
2223 : .ndr_push = lsarpc__op_ndr_push,
2224 : .local = lsarpc__op_local,
2225 : #ifdef DCESRV_INTERFACE_LSARPC_FLAGS
2226 : .flags = DCESRV_INTERFACE_LSARPC_FLAGS
2227 : #else
2228 : .flags = 0
2229 : #endif
2230 : };
2231 :
2232 206 : static NTSTATUS lsarpc__op_init_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
2233 : {
2234 0 : uint32_t i;
2235 0 : NTSTATUS ret;
2236 :
2237 : #ifdef DCESRV_INTERFACE_LSARPC_NCACN_NP_SECONDARY_ENDPOINT
2238 206 : const char *ncacn_np_secondary_endpoint = DCESRV_INTERFACE_LSARPC_NCACN_NP_SECONDARY_ENDPOINT;
2239 : #else
2240 : const char *ncacn_np_secondary_endpoint = NULL;
2241 : #endif
2242 :
2243 1030 : for (i=0;i<ndr_table_lsarpc.endpoints->count;i++) {
2244 824 : const char *name = ndr_table_lsarpc.endpoints->names[i];
2245 :
2246 824 : ret = dcesrv_interface_register(dce_ctx, name, ncacn_np_secondary_endpoint, &dcesrv_lsarpc_interface, NULL);
2247 824 : if (!NT_STATUS_IS_OK(ret)) {
2248 0 : DBG_ERR("Failed to register endpoint '%s'\n",name);
2249 0 : return ret;
2250 : }
2251 : }
2252 :
2253 206 : return NT_STATUS_OK;
2254 : }
2255 :
2256 206 : static NTSTATUS lsarpc__op_shutdown_server(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server)
2257 : {
2258 206 : return NT_STATUS_OK;
2259 : }
2260 :
2261 0 : static bool lsarpc__op_interface_by_uuid(struct dcesrv_interface *iface, const struct GUID *uuid, uint32_t if_version)
2262 : {
2263 0 : if (dcesrv_lsarpc_interface.syntax_id.if_version == if_version && GUID_equal(&dcesrv_lsarpc_interface.syntax_id.uuid, uuid)) {
2264 0 : memcpy(iface,&dcesrv_lsarpc_interface, sizeof(*iface));
2265 0 : return true;
2266 : }
2267 :
2268 0 : return false;
2269 : }
2270 :
2271 0 : static bool lsarpc__op_interface_by_name(struct dcesrv_interface *iface, const char *name)
2272 : {
2273 0 : if (strcmp(dcesrv_lsarpc_interface.name, name)==0) {
2274 0 : memcpy(iface, &dcesrv_lsarpc_interface, sizeof(*iface));
2275 0 : return true;
2276 : }
2277 :
2278 0 : return false;
2279 : }
2280 :
2281 : static const struct dcesrv_endpoint_server lsarpc_ep_server = {
2282 : /* fill in our name */
2283 : .name = "lsarpc",
2284 :
2285 : /* Initialization flag */
2286 : .initialized = false,
2287 :
2288 : /* fill in all the operations */
2289 : #ifdef DCESRV_INTERFACE_LSARPC_INIT_SERVER
2290 : .init_server = DCESRV_INTERFACE_LSARPC_INIT_SERVER,
2291 : #else
2292 : .init_server = lsarpc__op_init_server,
2293 : #endif
2294 : #ifdef DCESRV_INTERFACE_LSARPC_SHUTDOWN_SERVER
2295 : .shutdown_server = DCESRV_INTERFACE_LSARPC_SHUTDOWN_SERVER,
2296 : #else
2297 : .shutdown_server = lsarpc__op_shutdown_server,
2298 : #endif
2299 : .interface_by_uuid = lsarpc__op_interface_by_uuid,
2300 : .interface_by_name = lsarpc__op_interface_by_name
2301 : };
2302 :
2303 206 : const struct dcesrv_endpoint_server *lsarpc_get_ep_server(void)
2304 : {
2305 206 : return &lsarpc_ep_server;
2306 : }
|