[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Tue Apr 3 15:07:03 MDT 2012


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 <metze at 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 <metze at samba.org>
    Autobuild-Date: Tue Apr  3 23:06:31 CEST 2012 on sn-devel-104

commit 05ceb53dda1ac5e17c02dc42018636312cde2170
Author: Stefan Metzmacher <metze at 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


More information about the samba-cvs mailing list