r20417: - fix pushing of drsuapi_DsAttributeValueDataBlob
authorStefan Metzmacher <metze@samba.org>
Sat, 30 Dec 2006 10:42:01 +0000 (10:42 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:30:32 +0000 (14:30 -0500)
- make drsuapi_DsReplicaAttribute public so that the ndr_print_*
  function can be used from the outside

metze
(This used to be commit f12776b9a9de55d5c67335d5e59c0d83a74ac939)

source4/librpc/idl/drsuapi.idl
source4/librpc/ndr/ndr_basic.c

index 4b78d848edeaac03e819dbefe13545981dc19d5f..758e5f80fe2ba43a97d23c9555f878f3b4144c1a 100644 (file)
@@ -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;
index a9cfb558f7b1b413344f345d44c971fc9a31a4d4..04589d3e96f83b0df749a5d5b62928858b305bad 100644 (file)
@@ -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;
 }