summaryrefslogtreecommitdiff
path: root/source4/librpc/rpc/dcerpc.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-09-17 09:09:48 -0700
committerAndrew Tridgell <tridge@samba.org>2009-09-17 21:52:24 -0700
commitf93d71651640e05500b59fcd8f33a4f2132313ff (patch)
tree2e56caf9ac0a047ae6d34830ef99511da11efd82 /source4/librpc/rpc/dcerpc.c
parent90770e45c7136535e93900189bc46ca0570bfae2 (diff)
downloadsamba-f93d71651640e05500b59fcd8f33a4f2132313ff.tar.gz
samba-f93d71651640e05500b59fcd8f33a4f2132313ff.tar.bz2
samba-f93d71651640e05500b59fcd8f33a4f2132313ff.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.c12
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)) {