summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-12-30 10:42:01 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:30:32 -0500
commitbb75710d40e11f127270e2d39c957db64da63a60 (patch)
tree52a37aa6f68f5045f70ab6df1480ff69a4aa0875 /source4/librpc
parent9c3d5c611860fdb730cc6a9759a5536ccaa7b8e4 (diff)
downloadsamba-bb75710d40e11f127270e2d39c957db64da63a60.tar.gz
samba-bb75710d40e11f127270e2d39c957db64da63a60.tar.bz2
samba-bb75710d40e11f127270e2d39c957db64da63a60.zip
r20417: - fix pushing of drsuapi_DsAttributeValueDataBlob
- make drsuapi_DsReplicaAttribute public so that the ndr_print_* function can be used from the outside metze (This used to be commit f12776b9a9de55d5c67335d5e59c0d83a74ac939)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/drsuapi.idl4
-rw-r--r--source4/librpc/ndr/ndr_basic.c1
2 files changed, 3 insertions, 2 deletions
diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl
index 4b78d848ed..758e5f80fe 100644
--- a/source4/librpc/idl/drsuapi.idl
+++ b/source4/librpc/idl/drsuapi.idl
@@ -436,7 +436,7 @@ interface drsuapi
/* Generic DATA_BLOB values */
typedef struct {
- [range(0,10485760)] uint32 length;
+ [range(0,10485760),value(ndr_size_DATA_BLOB(0,r->data,0))] uint32 length;
DATA_BLOB *data;
} drsuapi_DsAttributeValueDataBlob;
@@ -600,7 +600,7 @@ interface drsuapi
[default] drsuapi_DsAttributeValueCtrDataBlob data_blob;
} drsuapi_DsReplicaAttributeValueCtr;
- typedef struct {
+ typedef [public] struct {
drsuapi_DsAttributeId attid;
[switch_is(attid)] drsuapi_DsReplicaAttributeValueCtr value_ctr;
} drsuapi_DsReplicaAttribute;
diff --git a/source4/librpc/ndr/ndr_basic.c b/source4/librpc/ndr/ndr_basic.c
index a9cfb558f7..04589d3e96 100644
--- a/source4/librpc/ndr/ndr_basic.c
+++ b/source4/librpc/ndr/ndr_basic.c
@@ -846,5 +846,6 @@ _PUBLIC_ NTSTATUS ndr_pull_DATA_BLOB(struct ndr_pull *ndr, int ndr_flags, DATA_B
_PUBLIC_ uint32_t ndr_size_DATA_BLOB(int ret, const DATA_BLOB *data, int flags)
{
+ if (!data) return ret;
return ret + data->length;
}