diff options
author | Andrew Tridgell <tridge@samba.org> | 2009-09-17 09:09:48 -0700 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2009-09-17 15:19:27 -0700 |
commit | c9b0b89cc06531cb57f89b9f98d33d6e0c300957 (patch) | |
tree | e09108a31dae6fa1cef5b7337a6ff1233d3a0443 /source4/librpc/rpc/dcerpc.c | |
parent | 056cbf7f816a6d01bc0ef3105eca43b4aeee9116 (diff) | |
download | samba-c9b0b89cc06531cb57f89b9f98d33d6e0c300957.tar.gz samba-c9b0b89cc06531cb57f89b9f98d33d6e0c300957.tar.bz2 samba-c9b0b89cc06531cb57f89b9f98d33d6e0c300957.zip |
s4-rpc: added NDR64 support
This adds support for the nd464 binding string option
Diffstat (limited to 'source4/librpc/rpc/dcerpc.c')
-rw-r--r-- | source4/librpc/rpc/dcerpc.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c index 819edc8eaa..87d44384ce 100644 --- a/source4/librpc/rpc/dcerpc.c +++ b/source4/librpc/rpc/dcerpc.c @@ -182,6 +182,10 @@ static struct ndr_pull *ndr_pull_init_flags(struct dcerpc_connection *c, ndr->flags |= LIBNDR_FLAG_REF_ALLOC; } + if (c->flags & DCERPC_NDR64) { + ndr->flags |= LIBNDR_FLAG_NDR64; + } + return ndr; } @@ -368,6 +372,10 @@ static NTSTATUS ncacn_push_request_sign(struct dcerpc_connection *c, ndr->flags |= LIBNDR_FLAG_BIGENDIAN; } + if (c->flags & DCERPC_NDR64) { + ndr->flags |= LIBNDR_FLAG_NDR64; + } + if (pkt->pfc_flags & DCERPC_PFC_FLAG_OBJECT_UUID) { ndr->flags |= LIBNDR_FLAG_OBJECT_PRESENT; hdr_size += 16; @@ -1378,6 +1386,10 @@ struct rpc_request *dcerpc_ndr_request_send(struct dcerpc_pipe *p, push->flags |= LIBNDR_FLAG_BIGENDIAN; } + if (p->conn->flags & DCERPC_NDR64) { + push->flags |= LIBNDR_FLAG_NDR64; + } + /* push the structure into a blob */ ndr_err = call->ndr_push(push, NDR_IN, r); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { |