summaryrefslogtreecommitdiff
path: root/librpc/idl
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2010-03-23 18:45:20 -0400
committerSimo Sorce <idra@samba.org>2010-03-23 18:47:39 -0400
commitfd2bc081381eb24bdbb82d0b1b0fbf0ae12f250a (patch)
treeb1e2e1c44da17f409fe5ef4791f07a200c4d8033 /librpc/idl
parent247c6f53f9e2bc5dd1039e49cc92062b240ae818 (diff)
downloadsamba-fd2bc081381eb24bdbb82d0b1b0fbf0ae12f250a.tar.gz
samba-fd2bc081381eb24bdbb82d0b1b0fbf0ae12f250a.tar.bz2
samba-fd2bc081381eb24bdbb82d0b1b0fbf0ae12f250a.zip
idl: fix forest trust information idl
--validate now passes
Diffstat (limited to 'librpc/idl')
-rw-r--r--librpc/idl/drsblobs.idl10
-rw-r--r--librpc/idl/idl_types.h5
2 files changed, 10 insertions, 5 deletions
diff --git a/librpc/idl/drsblobs.idl b/librpc/idl/drsblobs.idl
index 7cfcc1c3c5..0df5bc15e2 100644
--- a/librpc/idl/drsblobs.idl
+++ b/librpc/idl/drsblobs.idl
@@ -602,18 +602,22 @@ interface drsblobs {
/* meaning of flags depends on record type and values are
the same as in lsa.idl, see collision record types */
- typedef [flag(NDR_NOALIGN)] struct {
- uint32 length;
+ typedef [public,gensize,flag(NDR_NOALIGN)] struct {
uint32 flags;
NTTIME timestamp;
ForestTrustInfoRecordType type;
[switch_is(type)] ForestTrustData data;
} ForestTrustInfoRecord;
+ typedef [flag(NDR_NOALIGN)] struct {
+ [value(ndr_size_ForestTrustInfoRecord(&record, ndr->iconv_convenience, ndr->flags))] uint32 record_size;
+ ForestTrustInfoRecord record;
+ } ForestTrustInfoRecordArmor;
+
typedef [public,flag(NDR_NOALIGN)] struct {
uint32 version;
uint32 count;
- ForestTrustInfoRecord records[count];
+ ForestTrustInfoRecordArmor records[count];
} ForestTrustInfo;
void decode_ForestTrustInfo(
diff --git a/librpc/idl/idl_types.h b/librpc/idl/idl_types.h
index e8b3da578f..d763a8b22a 100644
--- a/librpc/idl/idl_types.h
+++ b/librpc/idl/idl_types.h
@@ -48,9 +48,10 @@
#define utf8string [flag(STR_UTF8|STR_NULLTERM)] string
/*
- an utf8 string prefixed with [size], 32 bits
+ an utf8 string prefixed with [length], 32 bits
+ not null terminated
*/
-#define utf8string2 [flag(STR_UTF8|STR_SIZE4)] string
+#define utf8string2 [flag(STR_SIZE4|STR_UTF8|STR_NOTERM)] string
/*
a null terminated UCS2 string