1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

s3-build: re-run make samba3-idl.

Guenther
This commit is contained in:
Günther Deschner 2008-10-29 02:44:59 +01:00
parent 8be9cefd98
commit 5772c73e84
6 changed files with 157 additions and 59 deletions

View File

@ -11,7 +11,7 @@ NTSTATUS rpccli_netr_LogonUasLogon(struct rpc_pipe_client *cli,
const char *server_name /* [in] [unique,charset(UTF16)] */, const char *server_name /* [in] [unique,charset(UTF16)] */,
const char *account_name /* [in] [charset(UTF16)] */, const char *account_name /* [in] [charset(UTF16)] */,
const char *workstation /* [in] [charset(UTF16)] */, const char *workstation /* [in] [charset(UTF16)] */,
struct netr_UasInfo *info /* [out] [ref] */, struct netr_UasInfo **info /* [out] [ref] */,
WERROR *werror) WERROR *werror)
{ {
struct netr_LogonUasLogon r; struct netr_LogonUasLogon r;
@ -412,12 +412,12 @@ NTSTATUS rpccli_netr_DatabaseSync(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const char *logon_server /* [in] [charset(UTF16)] */, const char *logon_server /* [in] [charset(UTF16)] */,
const char *computername /* [in] [charset(UTF16)] */, const char *computername /* [in] [charset(UTF16)] */,
struct netr_Authenticator credential /* [in] */, struct netr_Authenticator *credential /* [in] [ref] */,
struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
enum netr_SamDatabaseID database_id /* [in] */, enum netr_SamDatabaseID database_id /* [in] */,
uint32_t *sync_context /* [in,out] [ref] */, uint32_t *sync_context /* [in,out] [ref] */,
uint32_t preferredmaximumlength /* [in] */, struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */,
struct netr_DELTA_ENUM_ARRAY *delta_enum_array /* [out] [ref] */) uint32_t preferredmaximumlength /* [in] */)
{ {
struct netr_DatabaseSync r; struct netr_DatabaseSync r;
NTSTATUS status; NTSTATUS status;
@ -1303,7 +1303,8 @@ NTSTATUS rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client *cli,
const char *account_name /* [in] [charset(UTF16)] */, const char *account_name /* [in] [charset(UTF16)] */,
enum netr_SchannelType secure_channel_type /* [in] */, enum netr_SchannelType secure_channel_type /* [in] */,
const char *computer_name /* [in] [charset(UTF16)] */, const char *computer_name /* [in] [charset(UTF16)] */,
struct netr_Credential *credentials /* [in,out] [ref] */, struct netr_Credential *credentials /* [in] [ref] */,
struct netr_Credential *return_credentials /* [out] [ref] */,
uint32_t *negotiate_flags /* [in,out] [ref] */, uint32_t *negotiate_flags /* [in,out] [ref] */,
uint32_t *rid /* [out] [ref] */) uint32_t *rid /* [out] [ref] */)
{ {
@ -1341,7 +1342,7 @@ NTSTATUS rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client *cli,
} }
/* Return variables */ /* Return variables */
*credentials = *r.out.credentials; *return_credentials = *r.out.return_credentials;
*negotiate_flags = *r.out.negotiate_flags; *negotiate_flags = *r.out.negotiate_flags;
*rid = *r.out.rid; *rid = *r.out.rid;
@ -2242,7 +2243,7 @@ NTSTATUS rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client *cli,
struct netr_Authenticator *credential /* [in] [unique] */, struct netr_Authenticator *credential /* [in] [unique] */,
struct netr_Authenticator *return_authenticator /* [in,out] [unique] */, struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
enum netr_LogonInfoClass logon_level /* [in] */, enum netr_LogonInfoClass logon_level /* [in] */,
union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */, union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
uint16_t validation_level /* [in] */, uint16_t validation_level /* [in] */,
union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */, union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
uint8_t *authoritative /* [out] [ref] */, uint8_t *authoritative /* [out] [ref] */,

View File

@ -6,7 +6,7 @@ NTSTATUS rpccli_netr_LogonUasLogon(struct rpc_pipe_client *cli,
const char *server_name /* [in] [unique,charset(UTF16)] */, const char *server_name /* [in] [unique,charset(UTF16)] */,
const char *account_name /* [in] [charset(UTF16)] */, const char *account_name /* [in] [charset(UTF16)] */,
const char *workstation /* [in] [charset(UTF16)] */, const char *workstation /* [in] [charset(UTF16)] */,
struct netr_UasInfo *info /* [out] [ref] */, struct netr_UasInfo **info /* [out] [ref] */,
WERROR *werror); WERROR *werror);
NTSTATUS rpccli_netr_LogonUasLogoff(struct rpc_pipe_client *cli, NTSTATUS rpccli_netr_LogonUasLogoff(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
@ -71,12 +71,12 @@ NTSTATUS rpccli_netr_DatabaseSync(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const char *logon_server /* [in] [charset(UTF16)] */, const char *logon_server /* [in] [charset(UTF16)] */,
const char *computername /* [in] [charset(UTF16)] */, const char *computername /* [in] [charset(UTF16)] */,
struct netr_Authenticator credential /* [in] */, struct netr_Authenticator *credential /* [in] [ref] */,
struct netr_Authenticator *return_authenticator /* [in,out] [ref] */, struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
enum netr_SamDatabaseID database_id /* [in] */, enum netr_SamDatabaseID database_id /* [in] */,
uint32_t *sync_context /* [in,out] [ref] */, uint32_t *sync_context /* [in,out] [ref] */,
uint32_t preferredmaximumlength /* [in] */, struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */,
struct netr_DELTA_ENUM_ARRAY *delta_enum_array /* [out] [ref] */); uint32_t preferredmaximumlength /* [in] */);
NTSTATUS rpccli_netr_AccountDeltas(struct rpc_pipe_client *cli, NTSTATUS rpccli_netr_AccountDeltas(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const char *logon_server /* [in] [unique,charset(UTF16)] */, const char *logon_server /* [in] [unique,charset(UTF16)] */,
@ -207,7 +207,8 @@ NTSTATUS rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client *cli,
const char *account_name /* [in] [charset(UTF16)] */, const char *account_name /* [in] [charset(UTF16)] */,
enum netr_SchannelType secure_channel_type /* [in] */, enum netr_SchannelType secure_channel_type /* [in] */,
const char *computer_name /* [in] [charset(UTF16)] */, const char *computer_name /* [in] [charset(UTF16)] */,
struct netr_Credential *credentials /* [in,out] [ref] */, struct netr_Credential *credentials /* [in] [ref] */,
struct netr_Credential *return_credentials /* [out] [ref] */,
uint32_t *negotiate_flags /* [in,out] [ref] */, uint32_t *negotiate_flags /* [in,out] [ref] */,
uint32_t *rid /* [out] [ref] */); uint32_t *rid /* [out] [ref] */);
NTSTATUS rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client *cli, NTSTATUS rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client *cli,
@ -350,7 +351,7 @@ NTSTATUS rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client *cli,
struct netr_Authenticator *credential /* [in] [unique] */, struct netr_Authenticator *credential /* [in] [unique] */,
struct netr_Authenticator *return_authenticator /* [in,out] [unique] */, struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
enum netr_LogonInfoClass logon_level /* [in] */, enum netr_LogonInfoClass logon_level /* [in] */,
union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */, union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
uint16_t validation_level /* [in] */, uint16_t validation_level /* [in] */,
union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */, union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
uint8_t *authoritative /* [out] [ref] */, uint8_t *authoritative /* [out] [ref] */,

View File

@ -363,6 +363,8 @@ static enum ndr_err_code ndr_push_netr_PasswordInfo(struct ndr_push *ndr, int nd
} }
if (ndr_flags & NDR_BUFFERS) { if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info)); NDR_CHECK(ndr_push_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
@ -377,6 +379,8 @@ static enum ndr_err_code ndr_pull_netr_PasswordInfo(struct ndr_pull *ndr, int nd
} }
if (ndr_flags & NDR_BUFFERS) { if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info)); NDR_CHECK(ndr_pull_netr_IdentityInfo(ndr, NDR_BUFFERS, &r->identity_info));
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
@ -2208,6 +2212,7 @@ static enum ndr_err_code ndr_push_netr_USER_KEY16(struct ndr_push *ndr, int ndr_
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd)); NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->pwd));
} }
if (ndr_flags & NDR_BUFFERS) { if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->pwd));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
@ -2222,6 +2227,7 @@ static enum ndr_err_code ndr_pull_netr_USER_KEY16(struct ndr_pull *ndr, int ndr_
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd)); NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->pwd));
} }
if (ndr_flags & NDR_BUFFERS) { if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->pwd));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
@ -2299,6 +2305,8 @@ static enum ndr_err_code ndr_push_netr_USER_KEYS2(struct ndr_push *ndr, int ndr_
NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history)); NDR_CHECK(ndr_push_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
} }
if (ndr_flags & NDR_BUFFERS) { if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->lmpassword));
NDR_CHECK(ndr_push_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->ntpassword));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
@ -2312,6 +2320,8 @@ static enum ndr_err_code ndr_pull_netr_USER_KEYS2(struct ndr_pull *ndr, int ndr_
NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history)); NDR_CHECK(ndr_pull_netr_PasswordHistory(ndr, NDR_SCALARS, &r->history));
} }
if (ndr_flags & NDR_BUFFERS) { if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->lmpassword));
NDR_CHECK(ndr_pull_netr_USER_KEY16(ndr, NDR_BUFFERS, &r->ntpassword));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
@ -2333,6 +2343,7 @@ static enum ndr_err_code ndr_push_netr_USER_KEY_UNION(struct ndr_push *ndr, int
NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2)); NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
} }
if (ndr_flags & NDR_BUFFERS) { if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_netr_USER_KEYS2(ndr, NDR_BUFFERS, &r->keys2));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
@ -2344,6 +2355,7 @@ static enum ndr_err_code ndr_pull_netr_USER_KEY_UNION(struct ndr_pull *ndr, int
NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2)); NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_SCALARS, &r->keys2));
} }
if (ndr_flags & NDR_BUFFERS) { if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_netr_USER_KEYS2(ndr, NDR_BUFFERS, &r->keys2));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
@ -2364,6 +2376,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_netr_USER_KEYS(struct ndr_push *ndr, int ndr
NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys)); NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
} }
if (ndr_flags & NDR_BUFFERS) { if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_netr_USER_KEY_UNION(ndr, NDR_BUFFERS, &r->keys));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
@ -2376,6 +2389,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_netr_USER_KEYS(struct ndr_pull *ndr, int ndr
NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys)); NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_SCALARS, &r->keys));
} }
if (ndr_flags & NDR_BUFFERS) { if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_netr_USER_KEY_UNION(ndr, NDR_BUFFERS, &r->keys));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
@ -2523,6 +2537,8 @@ static enum ndr_err_code ndr_push_netr_DELTA_USER(struct ndr_push *ndr, int ndr_
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description)); NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment)); NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->parameters)); NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info)); NDR_CHECK(ndr_push_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
@ -2586,6 +2602,8 @@ static enum ndr_err_code ndr_pull_netr_DELTA_USER(struct ndr_pull *ndr, int ndr_
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description)); NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations)); NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours)); NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->lmpassword));
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_BUFFERS, &r->ntpassword));
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment)); NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->parameters)); NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->parameters));
NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info)); NDR_CHECK(ndr_pull_netr_USER_PRIVATE_INFO(ndr, NDR_BUFFERS, &r->user_private_info));
@ -8454,7 +8472,10 @@ static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int f
if (r->out.info == NULL) { if (r->out.info == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
} }
NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
if (*r->out.info) {
NDR_CHECK(ndr_push_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
}
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
@ -8463,8 +8484,10 @@ static enum ndr_err_code ndr_push_netr_LogonUasLogon(struct ndr_push *ndr, int f
static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r) static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int flags, struct netr_LogonUasLogon *r)
{ {
uint32_t _ptr_server_name; uint32_t _ptr_server_name;
uint32_t _ptr_info;
TALLOC_CTX *_mem_save_server_name_0; TALLOC_CTX *_mem_save_server_name_0;
TALLOC_CTX *_mem_save_info_0; TALLOC_CTX *_mem_save_info_0;
TALLOC_CTX *_mem_save_info_1;
if (flags & NDR_IN) { if (flags & NDR_IN) {
ZERO_STRUCT(r->out); ZERO_STRUCT(r->out);
@ -8509,7 +8532,18 @@ static enum ndr_err_code ndr_pull_netr_LogonUasLogon(struct ndr_pull *ndr, int f
} }
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
if (_ptr_info) {
NDR_PULL_ALLOC(ndr, *r->out.info);
} else {
*r->out.info = NULL;
}
if (*r->out.info) {
_mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
NDR_CHECK(ndr_pull_netr_UasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
}
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
} }
@ -8541,7 +8575,12 @@ _PUBLIC_ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *na
ndr->depth++; ndr->depth++;
ndr_print_ptr(ndr, "info", r->out.info); ndr_print_ptr(ndr, "info", r->out.info);
ndr->depth++; ndr->depth++;
ndr_print_netr_UasInfo(ndr, "info", r->out.info); ndr_print_ptr(ndr, "info", *r->out.info);
ndr->depth++;
if (*r->out.info) {
ndr_print_netr_UasInfo(ndr, "info", *r->out.info);
}
ndr->depth--;
ndr->depth--; ndr->depth--;
ndr_print_WERROR(ndr, "result", r->out.result); ndr_print_WERROR(ndr, "result", r->out.result);
ndr->depth--; ndr->depth--;
@ -9098,7 +9137,7 @@ _PUBLIC_ void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *n
ndr->depth--; ndr->depth--;
} }
static enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r) _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r)
{ {
if (flags & NDR_IN) { if (flags & NDR_IN) {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
@ -9127,7 +9166,7 @@ static enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr,
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
static enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r) _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r)
{ {
uint32_t _ptr_server_name; uint32_t _ptr_server_name;
TALLOC_CTX *_mem_save_server_name_0; TALLOC_CTX *_mem_save_server_name_0;
@ -9383,7 +9422,7 @@ static enum ndr_err_code ndr_push_netr_ServerPasswordSet(struct ndr_push *ndr, i
if (r->in.new_password == NULL) { if (r->in.new_password == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
} }
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_password)); NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_password));
} }
if (flags & NDR_OUT) { if (flags & NDR_OUT) {
if (r->out.return_authenticator == NULL) { if (r->out.return_authenticator == NULL) {
@ -9450,7 +9489,7 @@ static enum ndr_err_code ndr_pull_netr_ServerPasswordSet(struct ndr_pull *ndr, i
} }
_mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr); _mem_save_new_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, r->in.new_password, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_password)); NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_password));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_password_0, LIBNDR_FLAG_REF_ALLOC);
NDR_PULL_ALLOC(ndr, r->out.return_authenticator); NDR_PULL_ALLOC(ndr, r->out.return_authenticator);
ZERO_STRUCTP(r->out.return_authenticator); ZERO_STRUCTP(r->out.return_authenticator);
@ -9715,7 +9754,10 @@ static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int fl
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16))); NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.computername, CH_UTF16)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16)); NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.computername, ndr_charset_length(r->in.computername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential)); if (r->in.credential == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
if (r->in.return_authenticator == NULL) { if (r->in.return_authenticator == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
} }
@ -9739,7 +9781,10 @@ static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int fl
if (r->out.delta_enum_array == NULL) { if (r->out.delta_enum_array == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
} }
NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array)); NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.delta_enum_array));
if (*r->out.delta_enum_array) {
NDR_CHECK(ndr_push_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
}
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
@ -9747,9 +9792,12 @@ static enum ndr_err_code ndr_push_netr_DatabaseSync(struct ndr_push *ndr, int fl
static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r) static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int flags, struct netr_DatabaseSync *r)
{ {
uint32_t _ptr_delta_enum_array;
TALLOC_CTX *_mem_save_credential_0;
TALLOC_CTX *_mem_save_return_authenticator_0; TALLOC_CTX *_mem_save_return_authenticator_0;
TALLOC_CTX *_mem_save_sync_context_0; TALLOC_CTX *_mem_save_sync_context_0;
TALLOC_CTX *_mem_save_delta_enum_array_0; TALLOC_CTX *_mem_save_delta_enum_array_0;
TALLOC_CTX *_mem_save_delta_enum_array_1;
if (flags & NDR_IN) { if (flags & NDR_IN) {
ZERO_STRUCT(r->out); ZERO_STRUCT(r->out);
@ -9767,7 +9815,13 @@ static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int fl
} }
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t))); NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t)));
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16)); NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.computername, ndr_get_array_length(ndr, &r->in.computername), sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, &r->in.credential)); if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->in.credential);
}
_mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->in.credential, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_netr_Authenticator(ndr, NDR_SCALARS, r->in.credential));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, LIBNDR_FLAG_REF_ALLOC);
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->in.return_authenticator); NDR_PULL_ALLOC(ndr, r->in.return_authenticator);
} }
@ -9811,7 +9865,18 @@ static enum ndr_err_code ndr_pull_netr_DatabaseSync(struct ndr_pull *ndr, int fl
} }
_mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr); _mem_save_delta_enum_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, r->out.delta_enum_array, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.delta_enum_array)); NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_delta_enum_array));
if (_ptr_delta_enum_array) {
NDR_PULL_ALLOC(ndr, *r->out.delta_enum_array);
} else {
*r->out.delta_enum_array = NULL;
}
if (*r->out.delta_enum_array) {
_mem_save_delta_enum_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, *r->out.delta_enum_array, 0);
NDR_CHECK(ndr_pull_netr_DELTA_ENUM_ARRAY(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.delta_enum_array));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_1, 0);
}
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_delta_enum_array_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
} }
@ -9830,7 +9895,10 @@ _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *nam
ndr->depth++; ndr->depth++;
ndr_print_string(ndr, "logon_server", r->in.logon_server); ndr_print_string(ndr, "logon_server", r->in.logon_server);
ndr_print_string(ndr, "computername", r->in.computername); ndr_print_string(ndr, "computername", r->in.computername);
ndr_print_netr_Authenticator(ndr, "credential", &r->in.credential); ndr_print_ptr(ndr, "credential", r->in.credential);
ndr->depth++;
ndr_print_netr_Authenticator(ndr, "credential", r->in.credential);
ndr->depth--;
ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator); ndr_print_ptr(ndr, "return_authenticator", r->in.return_authenticator);
ndr->depth++; ndr->depth++;
ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator); ndr_print_netr_Authenticator(ndr, "return_authenticator", r->in.return_authenticator);
@ -9856,7 +9924,12 @@ _PUBLIC_ void ndr_print_netr_DatabaseSync(struct ndr_print *ndr, const char *nam
ndr->depth--; ndr->depth--;
ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array); ndr_print_ptr(ndr, "delta_enum_array", r->out.delta_enum_array);
ndr->depth++; ndr->depth++;
ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", r->out.delta_enum_array); ndr_print_ptr(ndr, "delta_enum_array", *r->out.delta_enum_array);
ndr->depth++;
if (*r->out.delta_enum_array) {
ndr_print_netr_DELTA_ENUM_ARRAY(ndr, "delta_enum_array", *r->out.delta_enum_array);
}
ndr->depth--;
ndr->depth--; ndr->depth--;
ndr_print_NTSTATUS(ndr, "result", r->out.result); ndr_print_NTSTATUS(ndr, "result", r->out.result);
ndr->depth--; ndr->depth--;
@ -12062,7 +12135,7 @@ _PUBLIC_ void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr,
ndr->depth--; ndr->depth--;
} }
static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r) _PUBLIC_ enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r)
{ {
if (flags & NDR_IN) { if (flags & NDR_IN) {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name)); NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server_name));
@ -12091,10 +12164,10 @@ static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr,
NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags)); NDR_CHECK(ndr_push_netr_NegotiateFlags(ndr, NDR_SCALARS, *r->in.negotiate_flags));
} }
if (flags & NDR_OUT) { if (flags & NDR_OUT) {
if (r->out.credentials == NULL) { if (r->out.return_credentials == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
} }
NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.credentials)); NDR_CHECK(ndr_push_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
if (r->out.negotiate_flags == NULL) { if (r->out.negotiate_flags == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
} }
@ -12108,11 +12181,12 @@ static enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr,
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
} }
static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r) _PUBLIC_ enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r)
{ {
uint32_t _ptr_server_name; uint32_t _ptr_server_name;
TALLOC_CTX *_mem_save_server_name_0; TALLOC_CTX *_mem_save_server_name_0;
TALLOC_CTX *_mem_save_credentials_0; TALLOC_CTX *_mem_save_credentials_0;
TALLOC_CTX *_mem_save_return_credentials_0;
TALLOC_CTX *_mem_save_negotiate_flags_0; TALLOC_CTX *_mem_save_negotiate_flags_0;
TALLOC_CTX *_mem_save_rid_0; TALLOC_CTX *_mem_save_rid_0;
if (flags & NDR_IN) { if (flags & NDR_IN) {
@ -12165,8 +12239,8 @@ static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr,
NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, r->in.negotiate_flags, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags)); NDR_CHECK(ndr_pull_netr_NegotiateFlags(ndr, NDR_SCALARS, r->in.negotiate_flags));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_negotiate_flags_0, LIBNDR_FLAG_REF_ALLOC);
NDR_PULL_ALLOC(ndr, r->out.credentials); NDR_PULL_ALLOC(ndr, r->out.return_credentials);
*r->out.credentials = *r->in.credentials; ZERO_STRUCTP(r->out.return_credentials);
NDR_PULL_ALLOC(ndr, r->out.negotiate_flags); NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
*r->out.negotiate_flags = *r->in.negotiate_flags; *r->out.negotiate_flags = *r->in.negotiate_flags;
NDR_PULL_ALLOC(ndr, r->out.rid); NDR_PULL_ALLOC(ndr, r->out.rid);
@ -12174,12 +12248,12 @@ static enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr,
} }
if (flags & NDR_OUT) { if (flags & NDR_OUT) {
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->out.credentials); NDR_PULL_ALLOC(ndr, r->out.return_credentials);
} }
_mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr); _mem_save_return_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->out.credentials, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, r->out.return_credentials, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.credentials)); NDR_CHECK(ndr_pull_netr_Credential(ndr, NDR_SCALARS, r->out.return_credentials));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_credentials_0, LIBNDR_FLAG_REF_ALLOC);
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->out.negotiate_flags); NDR_PULL_ALLOC(ndr, r->out.negotiate_flags);
} }
@ -12231,9 +12305,9 @@ _PUBLIC_ void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const ch
if (flags & NDR_OUT) { if (flags & NDR_OUT) {
ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3"); ndr_print_struct(ndr, "out", "netr_ServerAuthenticate3");
ndr->depth++; ndr->depth++;
ndr_print_ptr(ndr, "credentials", r->out.credentials); ndr_print_ptr(ndr, "return_credentials", r->out.return_credentials);
ndr->depth++; ndr->depth++;
ndr_print_netr_Credential(ndr, "credentials", r->out.credentials); ndr_print_netr_Credential(ndr, "return_credentials", r->out.return_credentials);
ndr->depth--; ndr->depth--;
ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags); ndr_print_ptr(ndr, "negotiate_flags", r->out.negotiate_flags);
ndr->depth++; ndr->depth++;
@ -12933,7 +13007,7 @@ static enum ndr_err_code ndr_push_netr_ServerPasswordGet(struct ndr_push *ndr, i
if (r->out.password == NULL) { if (r->out.password == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
} }
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password)); NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result)); NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
@ -13007,7 +13081,7 @@ static enum ndr_err_code ndr_pull_netr_ServerPasswordGet(struct ndr_pull *ndr, i
} }
_mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password)); NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result)); NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
} }
@ -14427,11 +14501,11 @@ static enum ndr_err_code ndr_push_netr_ServerTrustPasswordsGet(struct ndr_push *
if (r->out.password == NULL) { if (r->out.password == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
} }
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password)); NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
if (r->out.password2 == NULL) { if (r->out.password2 == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
} }
NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->out.password2)); NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password2));
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
} }
return NDR_ERR_SUCCESS; return NDR_ERR_SUCCESS;
@ -14508,14 +14582,14 @@ static enum ndr_err_code ndr_pull_netr_ServerTrustPasswordsGet(struct ndr_pull *
} }
_mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr); _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, r->out.password, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password)); NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, LIBNDR_FLAG_REF_ALLOC);
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->out.password2); NDR_PULL_ALLOC(ndr, r->out.password2);
} }
_mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr); _mem_save_password2_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, r->out.password2, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->out.password2)); NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.password2));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password2_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
} }
@ -14915,8 +14989,11 @@ static enum ndr_err_code ndr_push_netr_LogonSamLogonWithFlags(struct ndr_push *n
NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator)); NDR_CHECK(ndr_push_netr_Authenticator(ndr, NDR_SCALARS, r->in.return_authenticator));
} }
NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level)); NDR_CHECK(ndr_push_netr_LogonInfoClass(ndr, NDR_SCALARS, r->in.logon_level));
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.logon, r->in.logon_level)); if (r->in.logon == NULL) {
NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon)); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.logon, r->in.logon_level));
NDR_CHECK(ndr_push_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level)); NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.validation_level));
if (r->in.flags == NULL) { if (r->in.flags == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
@ -14956,6 +15033,7 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *n
TALLOC_CTX *_mem_save_computer_name_0; TALLOC_CTX *_mem_save_computer_name_0;
TALLOC_CTX *_mem_save_credential_0; TALLOC_CTX *_mem_save_credential_0;
TALLOC_CTX *_mem_save_return_authenticator_0; TALLOC_CTX *_mem_save_return_authenticator_0;
TALLOC_CTX *_mem_save_logon_0;
TALLOC_CTX *_mem_save_validation_0; TALLOC_CTX *_mem_save_validation_0;
TALLOC_CTX *_mem_save_authoritative_0; TALLOC_CTX *_mem_save_authoritative_0;
TALLOC_CTX *_mem_save_flags_0; TALLOC_CTX *_mem_save_flags_0;
@ -15023,8 +15101,14 @@ static enum ndr_err_code ndr_pull_netr_LogonSamLogonWithFlags(struct ndr_pull *n
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0); NDR_PULL_SET_MEM_CTX(ndr, _mem_save_return_authenticator_0, 0);
} }
NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level)); NDR_CHECK(ndr_pull_netr_LogonInfoClass(ndr, NDR_SCALARS, &r->in.logon_level));
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.logon, r->in.logon_level)); if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon)); NDR_PULL_ALLOC(ndr, r->in.logon);
}
_mem_save_logon_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->in.logon, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.logon, r->in.logon_level));
NDR_CHECK(ndr_pull_netr_LogonLevel(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.logon));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_logon_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level)); NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.validation_level));
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->in.flags); NDR_PULL_ALLOC(ndr, r->in.flags);
@ -15115,8 +15199,11 @@ _PUBLIC_ void ndr_print_netr_LogonSamLogonWithFlags(struct ndr_print *ndr, const
} }
ndr->depth--; ndr->depth--;
ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level); ndr_print_netr_LogonInfoClass(ndr, "logon_level", r->in.logon_level);
ndr_print_set_switch_value(ndr, &r->in.logon, r->in.logon_level); ndr_print_ptr(ndr, "logon", r->in.logon);
ndr_print_netr_LogonLevel(ndr, "logon", &r->in.logon); ndr->depth++;
ndr_print_set_switch_value(ndr, r->in.logon, r->in.logon_level);
ndr_print_netr_LogonLevel(ndr, "logon", r->in.logon);
ndr->depth--;
ndr_print_uint16(ndr, "validation_level", r->in.validation_level); ndr_print_uint16(ndr, "validation_level", r->in.validation_level);
ndr_print_ptr(ndr, "flags", r->in.flags); ndr_print_ptr(ndr, "flags", r->in.flags);
ndr->depth++; ndr->depth++;

View File

@ -223,6 +223,8 @@ void ndr_print_netr_LogonUasLogon(struct ndr_print *ndr, const char *name, int f
void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r); void ndr_print_netr_LogonUasLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonUasLogoff *r);
void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r); void ndr_print_netr_LogonSamLogon(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogon *r);
void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r); void ndr_print_netr_LogonSamLogoff(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonSamLogoff *r);
enum ndr_err_code ndr_push_netr_ServerReqChallenge(struct ndr_push *ndr, int flags, const struct netr_ServerReqChallenge *r);
enum ndr_err_code ndr_pull_netr_ServerReqChallenge(struct ndr_pull *ndr, int flags, struct netr_ServerReqChallenge *r);
void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r); void ndr_print_netr_ServerReqChallenge(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerReqChallenge *r);
void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r); void ndr_print_netr_ServerAuthenticate(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate *r);
void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r); void ndr_print_netr_ServerPasswordSet(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerPasswordSet *r);
@ -245,6 +247,8 @@ void ndr_print_netr_NETRLOGONSETSERVICEBITS(struct ndr_print *ndr, const char *n
void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r); void ndr_print_netr_LogonGetTrustRid(struct ndr_print *ndr, const char *name, int flags, const struct netr_LogonGetTrustRid *r);
void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r); void ndr_print_netr_NETRLOGONCOMPUTESERVERDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTESERVERDIGEST *r);
void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r); void ndr_print_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct ndr_print *ndr, const char *name, int flags, const struct netr_NETRLOGONCOMPUTECLIENTDIGEST *r);
enum ndr_err_code ndr_push_netr_ServerAuthenticate3(struct ndr_push *ndr, int flags, const struct netr_ServerAuthenticate3 *r);
enum ndr_err_code ndr_pull_netr_ServerAuthenticate3(struct ndr_pull *ndr, int flags, struct netr_ServerAuthenticate3 *r);
void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r); void ndr_print_netr_ServerAuthenticate3(struct ndr_print *ndr, const char *name, int flags, const struct netr_ServerAuthenticate3 *r);
void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r); void ndr_print_netr_DsRGetDCNameEx(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetDCNameEx *r);
void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r); void ndr_print_netr_DsRGetSiteName(struct ndr_print *ndr, const char *name, int flags, const struct netr_DsRGetSiteName *r);

View File

@ -945,7 +945,7 @@ struct netr_LogonUasLogon {
} in; } in;
struct { struct {
struct netr_UasInfo *info;/* [ref] */ struct netr_UasInfo **info;/* [ref] */
WERROR result; WERROR result;
} out; } out;
@ -1081,7 +1081,7 @@ struct netr_DatabaseSync {
struct { struct {
const char *logon_server;/* [charset(UTF16)] */ const char *logon_server;/* [charset(UTF16)] */
const char *computername;/* [charset(UTF16)] */ const char *computername;/* [charset(UTF16)] */
struct netr_Authenticator credential; struct netr_Authenticator *credential;/* [ref] */
enum netr_SamDatabaseID database_id; enum netr_SamDatabaseID database_id;
uint32_t preferredmaximumlength; uint32_t preferredmaximumlength;
struct netr_Authenticator *return_authenticator;/* [ref] */ struct netr_Authenticator *return_authenticator;/* [ref] */
@ -1089,7 +1089,7 @@ struct netr_DatabaseSync {
} in; } in;
struct { struct {
struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [ref] */ struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
struct netr_Authenticator *return_authenticator;/* [ref] */ struct netr_Authenticator *return_authenticator;/* [ref] */
uint32_t *sync_context;/* [ref] */ uint32_t *sync_context;/* [ref] */
NTSTATUS result; NTSTATUS result;
@ -1369,8 +1369,8 @@ struct netr_ServerAuthenticate3 {
} in; } in;
struct { struct {
struct netr_Credential *return_credentials;/* [ref] */
uint32_t *rid;/* [ref] */ uint32_t *rid;/* [ref] */
struct netr_Credential *credentials;/* [ref] */
uint32_t *negotiate_flags;/* [ref] */ uint32_t *negotiate_flags;/* [ref] */
NTSTATUS result; NTSTATUS result;
} out; } out;
@ -1661,7 +1661,7 @@ struct netr_LogonSamLogonWithFlags {
const char *computer_name;/* [unique,charset(UTF16)] */ const char *computer_name;/* [unique,charset(UTF16)] */
struct netr_Authenticator *credential;/* [unique] */ struct netr_Authenticator *credential;/* [unique] */
enum netr_LogonInfoClass logon_level; enum netr_LogonInfoClass logon_level;
union netr_LogonLevel logon;/* [switch_is(logon_level)] */ union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
uint16_t validation_level; uint16_t validation_level;
struct netr_Authenticator *return_authenticator;/* [unique] */ struct netr_Authenticator *return_authenticator;/* [unique] */
uint32_t *flags;/* [ref] */ uint32_t *flags;/* [ref] */

View File

@ -45,7 +45,7 @@ static bool api_netr_LogonUasLogon(pipes_struct *p)
} }
ZERO_STRUCT(r->out); ZERO_STRUCT(r->out);
r->out.info = talloc_zero(r, struct netr_UasInfo); r->out.info = talloc_zero(r, struct netr_UasInfo *);
if (r->out.info == NULL) { if (r->out.info == NULL) {
talloc_free(r); talloc_free(r);
return false; return false;
@ -691,7 +691,7 @@ static bool api_netr_DatabaseSync(pipes_struct *p)
ZERO_STRUCT(r->out); ZERO_STRUCT(r->out);
r->out.return_authenticator = r->in.return_authenticator; r->out.return_authenticator = r->in.return_authenticator;
r->out.sync_context = r->in.sync_context; r->out.sync_context = r->in.sync_context;
r->out.delta_enum_array = talloc_zero(r, struct netr_DELTA_ENUM_ARRAY); r->out.delta_enum_array = talloc_zero(r, struct netr_DELTA_ENUM_ARRAY *);
if (r->out.delta_enum_array == NULL) { if (r->out.delta_enum_array == NULL) {
talloc_free(r); talloc_free(r);
return false; return false;
@ -2146,7 +2146,12 @@ static bool api_netr_ServerAuthenticate3(pipes_struct *p)
} }
ZERO_STRUCT(r->out); ZERO_STRUCT(r->out);
r->out.credentials = r->in.credentials; r->out.return_credentials = talloc_zero(r, struct netr_Credential);
if (r->out.return_credentials == NULL) {
talloc_free(r);
return false;
}
r->out.negotiate_flags = r->in.negotiate_flags; r->out.negotiate_flags = r->in.negotiate_flags;
r->out.rid = talloc_zero(r, uint32_t); r->out.rid = talloc_zero(r, uint32_t);
if (r->out.rid == NULL) { if (r->out.rid == NULL) {