The branch, master has been updated via 0971a4e s4:librpc/rpc: also parse ncacn_packet pdus with LIBNDR_FLAG_OBJECT_PRESENT via 05ceb53 s4:librpc/rpc: don't mix up paylod ndr flags with the dcerpc layer from fba028a build: Remove checks for krb5_decode_ap_req, free_AP_REQ and KRB5_TICKET_HAS_KEYINFO
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 0971a4ee6cd23f4a864c47d49e3899d00122e6e5 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Apr 3 19:57:03 2012 +0200 s4:librpc/rpc: also parse ncacn_packet pdus with LIBNDR_FLAG_OBJECT_PRESENT metze Autobuild-User: Stefan Metzmacher <me...@samba.org> Autobuild-Date: Tue Apr 3 23:06:31 CEST 2012 on sn-devel-104 commit 05ceb53dda1ac5e17c02dc42018636312cde2170 Author: Stefan Metzmacher <me...@samba.org> Date: Tue Apr 3 19:55:42 2012 +0200 s4:librpc/rpc: don't mix up paylod ndr flags with the dcerpc layer If the transfer syntax is NDR64, it's only for the payload not for the dcerpc pdus. metze ----------------------------------------------------------------------- Summary of changes: source4/librpc/rpc/dcerpc.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c index ebf6f33..4cec4b5 100644 --- a/source4/librpc/rpc/dcerpc.c +++ b/source4/librpc/rpc/dcerpc.c @@ -674,7 +674,7 @@ static NTSTATUS ncacn_pull(struct dcecli_connection *c, DATA_BLOB *blob, TALLOC_ struct ndr_pull *ndr; enum ndr_err_code ndr_err; - ndr = ndr_pull_init_flags(c, blob, mem_ctx); + ndr = ndr_pull_init_blob(blob, mem_ctx); if (!ndr) { return NT_STATUS_NO_MEMORY; } @@ -683,6 +683,10 @@ static NTSTATUS ncacn_pull(struct dcecli_connection *c, DATA_BLOB *blob, TALLOC_ ndr->flags |= LIBNDR_FLAG_BIGENDIAN; } + if (CVAL(blob->data, DCERPC_PFC_OFFSET) & DCERPC_PFC_FLAG_OBJECT_UUID) { + ndr->flags |= LIBNDR_FLAG_OBJECT_PRESENT; + } + ndr_err = ndr_pull_ncacn_packet(ndr, NDR_SCALARS|NDR_BUFFERS, pkt); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { return ndr_map_error2ntstatus(ndr_err); -- Samba Shared Repository