Changeset 233 for branches/samba-3.2.x/source/librpc
- Timestamp:
- May 27, 2009, 11:39:15 AM (16 years ago)
- Location:
- branches/samba-3.2.x/source/librpc
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.2.x/source/librpc/gen_ndr/cli_netlogon.c
r204 r233 1108 1108 } 1109 1109 1110 NTSTATUS rpccli_netr_NETRLOGONDUMMYROUTINE1(struct rpc_pipe_client *cli, 1111 TALLOC_CTX *mem_ctx, 1112 WERROR *werror) 1113 { 1114 struct netr_NETRLOGONDUMMYROUTINE1 r; 1115 NTSTATUS status; 1116 1117 /* In parameters */ 1118 1119 if (DEBUGLEVEL >= 10) { 1120 NDR_PRINT_IN_DEBUG(netr_NETRLOGONDUMMYROUTINE1, &r); 1121 } 1122 1123 status = cli_do_rpc_ndr(cli, 1124 mem_ctx, 1125 PI_NETLOGON, 1126 &ndr_table_netlogon, 1127 NDR_NETR_NETRLOGONDUMMYROUTINE1, 1128 &r); 1129 1130 if (!NT_STATUS_IS_OK(status)) { 1131 return status; 1132 } 1133 1134 if (DEBUGLEVEL >= 10) { 1135 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONDUMMYROUTINE1, &r); 1136 } 1137 1138 if (NT_STATUS_IS_ERR(status)) { 1139 return status; 1140 } 1141 1142 /* Return variables */ 1143 1144 /* Return result */ 1145 if (werror) { 1146 *werror = r.out.result; 1147 } 1148 1149 return werror_to_ntstatus(r.out.result); 1110 NTSTATUS rpccli_netr_LogonGetCapabilities(struct rpc_pipe_client *cli, 1111 TALLOC_CTX *mem_ctx, 1112 const char *server_name /* [in] [charset(UTF16)] */, 1113 const char *computer_name /* [in] [unique,charset(UTF16)] */, 1114 struct netr_Authenticator *credential /* [in] [ref] */, 1115 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, 1116 uint32_t query_level /* [in] */, 1117 union netr_Capabilities *capabilities /* [out] [ref,switch_is(query_level)] */) 1118 { 1119 struct netr_LogonGetCapabilities r; 1120 NTSTATUS status; 1121 1122 /* In parameters */ 1123 r.in.server_name = server_name; 1124 r.in.computer_name = computer_name; 1125 r.in.credential = credential; 1126 r.in.return_authenticator = return_authenticator; 1127 r.in.query_level = query_level; 1128 1129 if (DEBUGLEVEL >= 10) { 1130 NDR_PRINT_IN_DEBUG(netr_LogonGetCapabilities, &r); 1131 } 1132 1133 status = cli_do_rpc_ndr(cli, 1134 mem_ctx, 1135 PI_NETLOGON, 1136 &ndr_table_netlogon, 1137 NDR_NETR_LOGONGETCAPABILITIES, 1138 &r); 1139 1140 if (!NT_STATUS_IS_OK(status)) { 1141 return status; 1142 } 1143 1144 if (DEBUGLEVEL >= 10) { 1145 NDR_PRINT_OUT_DEBUG(netr_LogonGetCapabilities, &r); 1146 } 1147 1148 if (NT_STATUS_IS_ERR(status)) { 1149 return status; 1150 } 1151 1152 /* Return variables */ 1153 *return_authenticator = *r.out.return_authenticator; 1154 *capabilities = *r.out.capabilities; 1155 1156 /* Return result */ 1157 return r.out.result; 1150 1158 } 1151 1159 -
branches/samba-3.2.x/source/librpc/gen_ndr/cli_netlogon.h
r204 r233 184 184 struct netr_DsRGetDCNameInfo **info /* [out] [ref] */, 185 185 WERROR *werror); 186 NTSTATUS rpccli_netr_NETRLOGONDUMMYROUTINE1(struct rpc_pipe_client *cli, 187 TALLOC_CTX *mem_ctx, 188 WERROR *werror); 186 NTSTATUS rpccli_netr_LogonGetCapabilities(struct rpc_pipe_client *cli, 187 TALLOC_CTX *mem_ctx, 188 const char *server_name /* [in] [charset(UTF16)] */, 189 const char *computer_name /* [in] [unique,charset(UTF16)] */, 190 struct netr_Authenticator *credential /* [in] [ref] */, 191 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, 192 uint32_t query_level /* [in] */, 193 union netr_Capabilities *capabilities /* [out] [ref,switch_is(query_level)] */); 189 194 NTSTATUS rpccli_netr_NETRLOGONSETSERVICEBITS(struct rpc_pipe_client *cli, 190 195 TALLOC_CTX *mem_ctx, -
branches/samba-3.2.x/source/librpc/gen_ndr/ndr_netlogon.c
r204 r233 6386 6386 } 6387 6387 6388 static enum ndr_err_code ndr_push_netr_Capabilities(struct ndr_push *ndr, int ndr_flags, const union netr_Capabilities *r) 6389 { 6390 if (ndr_flags & NDR_SCALARS) { 6391 int level = ndr_push_get_switch_value(ndr, r); 6392 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level)); 6393 switch (level) { 6394 case 1: { 6395 NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, r->server_capabilities)); 6396 break; } 6397 6398 default: 6399 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level); 6400 } 6401 } 6402 if (ndr_flags & NDR_BUFFERS) { 6403 int level = ndr_push_get_switch_value(ndr, r); 6404 switch (level) { 6405 case 1: 6406 break; 6407 6408 default: 6409 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level); 6410 } 6411 } 6412 return NDR_ERR_SUCCESS; 6413 } 6414 6415 static enum ndr_err_code ndr_pull_netr_Capabilities(struct ndr_pull *ndr, int ndr_flags, union netr_Capabilities *r) 6416 { 6417 int level; 6418 uint32_t _level; 6419 level = ndr_pull_get_switch_value(ndr, r); 6420 if (ndr_flags & NDR_SCALARS) { 6421 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level)); 6422 if (_level != level) { 6423 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level); 6424 } 6425 switch (level) { 6426 case 1: { 6427 NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, &r->server_capabilities)); 6428 break; } 6429 6430 default: 6431 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level); 6432 } 6433 } 6434 if (ndr_flags & NDR_BUFFERS) { 6435 switch (level) { 6436 case 1: 6437 break; 6438 6439 default: 6440 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level); 6441 } 6442 } 6443 return NDR_ERR_SUCCESS; 6444 } 6445 6446 _PUBLIC_ void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r) 6447 { 6448 int level; 6449 level = ndr_print_get_switch_value(ndr, r); 6450 ndr_print_union(ndr, name, level, "netr_Capabilities"); 6451 switch (level) { 6452 case 1: 6453 ndr_print_netr_NegotiateFlags(ndr, "server_capabilities", r->server_capabilities); 6454 break; 6455 6456 default: 6457 ndr_print_bad_level(ndr, name, level); 6458 } 6459 } 6460 6388 6461 static enum ndr_err_code ndr_push_netr_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct netr_BinaryString *r) 6389 6462 { … … 11315 11388 } 11316 11389 11317 static enum ndr_err_code ndr_push_netr_ NETRLOGONDUMMYROUTINE1(struct ndr_push *ndr, int flags, const struct netr_NETRLOGONDUMMYROUTINE1*r)11390 static enum ndr_err_code ndr_push_netr_LogonGetCapabilities(struct ndr_push *ndr, int flags, const struct netr_LogonGetCapabilities *r) 11318 11391 { 11319 11392 if (flags & NDR_IN) { 11393 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); 11394 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 11395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.server_name, CH_UTF16))); 11396 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.server_name, ndr_charset_length(r->in.server_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); 11397 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.computer_name)); 11398 if (r->in.computer_name) { 11399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); 11400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); 11401 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computer_name, CH_UTF16))); 11402 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computer_name, ndr_charset_length(r->in.computer_name, CH_UTF16), sizeof(uint16_t), CH_UTF16)); 11403 } 11404 if (r->in.credential == NULL) { 11405 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 11406 } 11407 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); 11408 if (r->in.return_authenticator == NULL) { 11409 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 11410 } 11411 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); 11412 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.query_level)); 11320 11413 } 11321 11414 if (flags & NDR_OUT) { 11322 NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); 11323 } 11324 return NDR_ERR_SUCCESS; 11325 } 11326 11327 static enum ndr_err_code ndr_pull_netr_NETRLOGONDUMMYROUTINE1(struct ndr_pull *ndr, int flags, struct netr_NETRLOGONDUMMYROUTINE1 *r) 11328 { 11415 if (r->out.return_authenticator == NULL) { 11416 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 11417 } 11418 NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); 11419 if (r->out.capabilities == NULL) { 11420 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); 11421 } 11422 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.capabilities, r->in.query_level)); 11423 NDR_CHECK(ndr_push_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities)); 11424 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); 11425 } 11426 return NDR_ERR_SUCCESS; 11427 } 11428 11429 static enum ndr_err_code ndr_pull_netr_LogonGetCapabilities(struct ndr_pull *ndr, int flags, struct netr_LogonGetCapabilities *r) 11430 { 11431 uint32_t _ptr_computer_name; 11432 TALLOC_CTX *_mem_save_computer_name_0; 11433 TALLOC_CTX *_mem_save_credential_0; 11434 TALLOC_CTX *_mem_save_return_authenticator_0; 11435 TALLOC_CTX *_mem_save_capabilities_0; 11329 11436 if (flags & NDR_IN) { 11437 ZERO_STRUCT(r->out); 11438 11439 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.server_name)); 11440 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.server_name)); 11441 if (ndr_get_array_length(ndr, &r->in.server_name) > ndr_get_array_size(ndr, &r->in.server_name)) { 11442 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.server_name), ndr_get_array_length(ndr, &r->in.server_name)); 11443 } 11444 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t))); 11445 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.server_name, ndr_get_array_length(ndr, &r->in.server_name), sizeof(uint16_t), CH_UTF16)); 11446 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_computer_name)); 11447 if (_ptr_computer_name) { 11448 NDR_PULL_ALLOC(ndr, r->in.computer_name); 11449 } else { 11450 r->in.computer_name = NULL; 11451 } 11452 if (r->in.computer_name) { 11453 _mem_save_computer_name_0 = NDR_PULL_GET_MEM_CTX(ndr); 11454 NDR_PULL_SET_MEM_CTX(ndr, r->in.computer_name, 0); 11455 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.computer_name)); 11456 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.computer_name)); 11457 if (ndr_get_array_length(ndr, &r->in.computer_name) > ndr_get_array_size(ndr, &r->in.computer_name)) { 11458 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.computer_name), ndr_get_array_length(ndr, &r->in.computer_name)); 11459 } 11460 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t))); 11461 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computer_name, ndr_get_array_length(ndr, &r->in.computer_name), sizeof(uint16_t), CH_UTF16)); 11462 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_computer_name_0, 0); 11463 } 11464 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 11465 NDR_PULL_ALLOC(ndr, r->in.credential); 11466 } 11467 _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr); 11468 NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC); 11469 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential)); 11470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC); 11471 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 11472 NDR_PULL_ALLOC(ndr, r->in.return_authenticator); 11473 } 11474 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); 11475 NDR_PULL_SET_MEM_CTX(ndr, r->in.return_authenticator, LIBNDR_FLAG_REF_ALLOC); 11476 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); 11477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); 11478 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.query_level)); 11479 NDR_PULL_ALLOC(ndr, r->out.return_authenticator); 11480 *r->out.return_authenticator = *r->in.return_authenticator; 11481 NDR_PULL_ALLOC(ndr, r->out.capabilities); 11482 ZERO_STRUCTP(r->out.capabilities); 11330 11483 } 11331 11484 if (flags & NDR_OUT) { 11332 NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); 11333 } 11334 return NDR_ERR_SUCCESS; 11335 } 11336 11337 _PUBLIC_ void ndr_print_netr_NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1 *r) 11338 { 11339 ndr_print_struct(ndr, name, "netr_NETRLOGONDUMMYROUTINE1"); 11485 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 11486 NDR_PULL_ALLOC(ndr, r->out.return_authenticator); 11487 } 11488 _mem_save_return_authenticator_0 = NDR_PULL_GET_MEM_CTX(ndr); 11489 NDR_PULL_SET_MEM_CTX(ndr, r->out.return_authenticator, LIBNDR_FLAG_REF_ALLOC); 11490 NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->out.return_authenticator)); 11491 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, LIBNDR_FLAG_REF_ALLOC); 11492 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { 11493 NDR_PULL_ALLOC(ndr, r->out.capabilities); 11494 } 11495 _mem_save_capabilities_0 = NDR_PULL_GET_MEM_CTX(ndr); 11496 NDR_PULL_SET_MEM_CTX(ndr, r->out.capabilities, LIBNDR_FLAG_REF_ALLOC); 11497 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.capabilities, r->in.query_level)); 11498 NDR_CHECK(ndr_pull_netr_Capabilities(ndr, NDR_SCALARS, r->out.capabilities)); 11499 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_capabilities_0, LIBNDR_FLAG_REF_ALLOC); 11500 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); 11501 } 11502 return NDR_ERR_SUCCESS; 11503 } 11504 11505 _PUBLIC_ void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r) 11506 { 11507 ndr_print_struct(ndr, name, "netr_LogonGetCapabilities"); 11340 11508 ndr->depth++; 11341 11509 if (flags & NDR_SET_VALUES) { … … 11343 11511 } 11344 11512 if (flags & NDR_IN) { 11345 ndr_print_struct(ndr, "in", "netr_NETRLOGONDUMMYROUTINE1"); 11346 ndr->depth++; 11513 ndr_print_struct(ndr, "in", "netr_LogonGetCapabilities"); 11514 ndr->depth++; 11515 ndr_print_string(ndr, "server_name", r->in.server_name); 11516 ndr_print_ptr(ndr, "computer_name", r->in.computer_name); 11517 ndr->depth++; 11518 if (r->in.computer_name) { 11519 ndr_print_string(ndr, "computer_name", r->in.computer_name); 11520 } 11521 ndr->depth--; 11522 ndr_print_ptr(ndr, "credential", r->in.credential); 11523 ndr->depth++; 11524 ndr_print_netr_Authenticator(ndr, "credential", r->in.credential); 11525 ndr->depth--; 11526 ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); 11527 ndr->depth++; 11528 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); 11529 ndr->depth--; 11530 ndr_print_uint32(ndr, "query_level", r->in.query_level); 11347 11531 ndr->depth--; 11348 11532 } 11349 11533 if (flags & NDR_OUT) { 11350 ndr_print_struct(ndr, "out", "netr_NETRLOGONDUMMYROUTINE1"); 11351 ndr->depth++; 11352 ndr_print_WERROR(ndr, "result", r->out.result); 11534 ndr_print_struct(ndr, "out", "netr_LogonGetCapabilities"); 11535 ndr->depth++; 11536 ndr_print_ptr(ndr, "return_authenticator", r->out.return_authenticator); 11537 ndr->depth++; 11538 ndr_print_netr_Authenticator(ndr, "return_authenticator", r->out.return_authenticator); 11539 ndr->depth--; 11540 ndr_print_ptr(ndr, "capabilities", r->out.capabilities); 11541 ndr->depth++; 11542 ndr_print_set_switch_value(ndr, r->out.capabilities, r->in.query_level); 11543 ndr_print_netr_Capabilities(ndr, "capabilities", r->out.capabilities); 11544 ndr->depth--; 11545 ndr_print_NTSTATUS(ndr, "result", r->out.result); 11353 11546 ndr->depth--; 11354 11547 } … … 14886 15079 }, 14887 15080 { 14888 "netr_ NETRLOGONDUMMYROUTINE1",14889 sizeof(struct netr_ NETRLOGONDUMMYROUTINE1),14890 (ndr_push_flags_fn_t) ndr_push_netr_ NETRLOGONDUMMYROUTINE1,14891 (ndr_pull_flags_fn_t) ndr_pull_netr_ NETRLOGONDUMMYROUTINE1,14892 (ndr_print_function_t) ndr_print_netr_ NETRLOGONDUMMYROUTINE1,15081 "netr_LogonGetCapabilities", 15082 sizeof(struct netr_LogonGetCapabilities), 15083 (ndr_push_flags_fn_t) ndr_push_netr_LogonGetCapabilities, 15084 (ndr_pull_flags_fn_t) ndr_pull_netr_LogonGetCapabilities, 15085 (ndr_print_function_t) ndr_print_netr_LogonGetCapabilities, 14893 15086 false, 14894 15087 }, -
branches/samba-3.2.x/source/librpc/gen_ndr/ndr_netlogon.h
r133 r233 54 54 #define NDR_NETR_DSRGETDCNAME (0x14) 55 55 56 #define NDR_NETR_ NETRLOGONDUMMYROUTINE1(0x15)56 #define NDR_NETR_LOGONGETCAPABILITIES (0x15) 57 57 58 58 #define NDR_NETR_NETRLOGONSETSERVICEBITS (0x16) … … 196 196 enum ndr_err_code ndr_pull_netr_DsRGetDCNameInfo(struct ndr_pull *ndr, int ndr_flags, struct netr_DsRGetDCNameInfo *r); 197 197 void ndr_print_netr_DsRGetDCNameInfo(struct ndr_print *ndr, const char *name, const struct netr_DsRGetDCNameInfo *r); 198 void ndr_print_netr_Capabilities(struct ndr_print *ndr, const char *name, const union netr_Capabilities *r); 198 199 void ndr_print_netr_BinaryString(struct ndr_print *ndr, const char *name, const struct netr_BinaryString *r); 199 200 void ndr_print_netr_DomainQuery1(struct ndr_print *ndr, const char *name, const struct netr_DomainQuery1 *r); … … 233 234 void ndr_print_netr_NetrEnumerateTrustedDomains(struct ndr_print *ndr, const char *name, int flags, const struct netr_NetrEnumerateTrustedDomains *r); 234 235 void ndr_print_netr_DsRGetDCName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCName *r); 235 void ndr_print_netr_ NETRLOGONDUMMYROUTINE1(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONDUMMYROUTINE1*r);236 void ndr_print_netr_LogonGetCapabilities(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetCapabilities *r); 236 237 void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONSETSERVICEBITS *r); 237 238 void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r); -
branches/samba-3.2.x/source/librpc/gen_ndr/netlogon.h
r204 r233 737 737 }/* [public] */; 738 738 739 union netr_Capabilities { 740 uint32_t server_capabilities;/* [case] */ 741 }/* [switch_type(uint32)] */; 742 739 743 struct netr_BinaryString { 740 744 uint16_t length; … … 1235 1239 1236 1240 1237 struct netr_NETRLOGONDUMMYROUTINE1 { 1238 struct { 1239 WERROR result; 1241 struct netr_LogonGetCapabilities { 1242 struct { 1243 const char *server_name;/* [charset(UTF16)] */ 1244 const char *computer_name;/* [unique,charset(UTF16)] */ 1245 struct netr_Authenticator *credential;/* [ref] */ 1246 uint32_t query_level; 1247 struct netr_Authenticator *return_authenticator;/* [ref] */ 1248 } in; 1249 1250 struct { 1251 union netr_Capabilities *capabilities;/* [ref,switch_is(query_level)] */ 1252 struct netr_Authenticator *return_authenticator;/* [ref] */ 1253 NTSTATUS result; 1240 1254 } out; 1241 1255 -
branches/samba-3.2.x/source/librpc/gen_ndr/srv_netlogon.c
r133 r233 1736 1736 } 1737 1737 1738 static bool api_netr_NETRLOGONDUMMYROUTINE1(pipes_struct *p) 1739 { 1740 const struct ndr_interface_call *call; 1741 struct ndr_pull *pull; 1742 struct ndr_push *push; 1743 enum ndr_err_code ndr_err; 1744 DATA_BLOB blob; 1745 struct netr_NETRLOGONDUMMYROUTINE1 *r; 1746 1747 call = &ndr_table_netlogon.calls[NDR_NETR_NETRLOGONDUMMYROUTINE1]; 1748 1749 r = talloc(talloc_tos(), struct netr_NETRLOGONDUMMYROUTINE1); 1750 if (r == NULL) { 1751 return false; 1752 } 1753 1754 if (!prs_data_blob(&p->in_data.data, &blob, r)) { 1755 talloc_free(r); 1756 return false; 1757 } 1758 1759 pull = ndr_pull_init_blob(&blob, r); 1760 if (pull == NULL) { 1761 talloc_free(r); 1762 return false; 1763 } 1764 1765 pull->flags |= LIBNDR_FLAG_REF_ALLOC; 1766 ndr_err = call->ndr_pull(pull, NDR_IN, r); 1767 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { 1768 talloc_free(r); 1769 return false; 1770 } 1771 1772 if (DEBUGLEVEL >= 10) { 1773 NDR_PRINT_IN_DEBUG(netr_NETRLOGONDUMMYROUTINE1, r); 1774 } 1775 1776 r->out.result = _netr_NETRLOGONDUMMYROUTINE1(p, r); 1777 1778 if (p->rng_fault_state) { 1779 talloc_free(r); 1780 /* Return true here, srv_pipe_hnd.c will take care */ 1781 return true; 1782 } 1783 1784 if (DEBUGLEVEL >= 10) { 1785 NDR_PRINT_OUT_DEBUG(netr_NETRLOGONDUMMYROUTINE1, r); 1738 static bool api_netr_LogonGetCapabilities(pipes_struct *p) 1739 { 1740 const struct ndr_interface_call *call; 1741 struct ndr_pull *pull; 1742 struct ndr_push *push; 1743 enum ndr_err_code ndr_err; 1744 DATA_BLOB blob; 1745 struct netr_LogonGetCapabilities *r; 1746 1747 call = &ndr_table_netlogon.calls[NDR_NETR_LOGONGETCAPABILITIES]; 1748 1749 r = talloc(talloc_tos(), struct netr_LogonGetCapabilities); 1750 if (r == NULL) { 1751 return false; 1752 } 1753 1754 if (!prs_data_blob(&p->in_data.data, &blob, r)) { 1755 talloc_free(r); 1756 return false; 1757 } 1758 1759 pull = ndr_pull_init_blob(&blob, r); 1760 if (pull == NULL) { 1761 talloc_free(r); 1762 return false; 1763 } 1764 1765 pull->flags |= LIBNDR_FLAG_REF_ALLOC; 1766 ndr_err = call->ndr_pull(pull, NDR_IN, r); 1767 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { 1768 talloc_free(r); 1769 return false; 1770 } 1771 1772 if (DEBUGLEVEL >= 10) { 1773 NDR_PRINT_IN_DEBUG(netr_LogonGetCapabilities, r); 1774 } 1775 1776 ZERO_STRUCT(r->out); 1777 r->out.return_authenticator = r->in.return_authenticator; 1778 r->out.capabilities = talloc_zero(r, union netr_Capabilities); 1779 if (r->out.capabilities == NULL) { 1780 talloc_free(r); 1781 return false; 1782 } 1783 1784 r->out.result = _netr_LogonGetCapabilities(p, r); 1785 1786 if (p->rng_fault_state) { 1787 talloc_free(r); 1788 /* Return true here, srv_pipe_hnd.c will take care */ 1789 return true; 1790 } 1791 1792 if (DEBUGLEVEL >= 10) { 1793 NDR_PRINT_OUT_DEBUG(netr_LogonGetCapabilities, r); 1786 1794 } 1787 1795 … … 3827 3835 {"NETR_NETRENUMERATETRUSTEDDOMAINS", NDR_NETR_NETRENUMERATETRUSTEDDOMAINS, api_netr_NetrEnumerateTrustedDomains}, 3828 3836 {"NETR_DSRGETDCNAME", NDR_NETR_DSRGETDCNAME, api_netr_DsRGetDCName}, 3829 {"NETR_ NETRLOGONDUMMYROUTINE1", NDR_NETR_NETRLOGONDUMMYROUTINE1, api_netr_NETRLOGONDUMMYROUTINE1},3837 {"NETR_LOGONGETCAPABILITIES", NDR_NETR_LOGONGETCAPABILITIES, api_netr_LogonGetCapabilities}, 3830 3838 {"NETR_NETRLOGONSETSERVICEBITS", NDR_NETR_NETRLOGONSETSERVICEBITS, api_netr_NETRLOGONSETSERVICEBITS}, 3831 3839 {"NETR_LOGONGETTRUSTRID", NDR_NETR_LOGONGETTRUSTRID, api_netr_LogonGetTrustRid}, -
branches/samba-3.2.x/source/librpc/gen_ndr/srv_netlogon.h
r133 r233 23 23 WERROR _netr_NetrEnumerateTrustedDomains(pipes_struct *p, struct netr_NetrEnumerateTrustedDomains *r); 24 24 WERROR _netr_DsRGetDCName(pipes_struct *p, struct netr_DsRGetDCName *r); 25 WERROR _netr_NETRLOGONDUMMYROUTINE1(pipes_struct *p, struct netr_NETRLOGONDUMMYROUTINE1*r);25 NTSTATUS _netr_LogonGetCapabilities(pipes_struct *p, struct netr_LogonGetCapabilities *r); 26 26 WERROR _netr_NETRLOGONSETSERVICEBITS(pipes_struct *p, struct netr_NETRLOGONSETSERVICEBITS *r); 27 27 WERROR _netr_LogonGetTrustRid(pipes_struct *p, struct netr_LogonGetTrustRid *r); -
branches/samba-3.2.x/source/librpc/idl/netlogon.idl
r204 r233 1057 1057 /*****************/ 1058 1058 /* Function 0x15 */ 1059 WERROR netr_NETRLOGONDUMMYROUTINE1(); 1059 typedef [switch_type(uint32)] union { 1060 [case(1)] netr_NegotiateFlags server_capabilities; 1061 } netr_Capabilities; 1062 1063 NTSTATUS netr_LogonGetCapabilities( 1064 [in] [string,charset(UTF16)] uint16 server_name[], 1065 [in,unique] [string,charset(UTF16)] uint16 *computer_name, 1066 [in,ref] netr_Authenticator *credential, 1067 [in,out,ref] netr_Authenticator *return_authenticator, 1068 [in] uint32 query_level, 1069 [out,ref,switch_is(query_level)] netr_Capabilities *capabilities 1070 ); 1060 1071 1061 1072 /****************/ -
branches/samba-3.2.x/source/librpc/ndr/ndr.c
r133 r233 188 188 189 189 for (i=0;i<ndr->depth;i++) { 190 DEBUGADD( 0,(" "));191 } 192 193 DEBUGADD( 0,("%s\n", s));190 DEBUGADD(1,(" ")); 191 } 192 193 DEBUGADD(1,("%s\n", s)); 194 194 free(s); 195 195 }
Note:
See TracChangeset
for help on using the changeset viewer.