summaryrefslogtreecommitdiff
path: root/librpc/idl
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2018-05-11 16:41:51 +1200
committerAndrew Bartlett <abartlet@samba.org>2018-08-16 23:42:20 +0200
commit8140a7bb762d049dfe0fd84858f7fd5b357351c7 (patch)
tree83dcc4fb093ddc9d73b7e198ee62cde5604e6d82 /librpc/idl
parentc71ba94cb13f2a2ff18ddabee19e46fb2cf646a3 (diff)
downloadsamba-8140a7bb762d049dfe0fd84858f7fd5b357351c7.tar.gz
preg: Use gensize to allow modification of winreg data to be repacked
Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'librpc/idl')
-rw-r--r--librpc/idl/misc.idl2
-rw-r--r--librpc/idl/preg.idl2
2 files changed, 2 insertions, 2 deletions
diff --git a/librpc/idl/misc.idl b/librpc/idl/misc.idl
index e0dc1192bb1..0b59ce5c96c 100644
--- a/librpc/idl/misc.idl
+++ b/librpc/idl/misc.idl
@@ -84,7 +84,7 @@ interface misc
* parsers which cannot handle nstring_array. This should be only
* temporary, until we can get PIDL to generate the correct bindings.
*/
- typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN)] union {
+ typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN),gensize] union {
[case(REG_NONE)];
[case(REG_SZ)] nstring string;
[case(REG_EXPAND_SZ)] nstring string;
diff --git a/librpc/idl/preg.idl b/librpc/idl/preg.idl
index 9ae4a9efe22..869a021b030 100644
--- a/librpc/idl/preg.idl
+++ b/librpc/idl/preg.idl
@@ -25,7 +25,7 @@ import "misc.idl";
[charset(DOS),value(";"),noprint] uint8 _sep2[2];
winreg_Type type;
[charset(DOS),value(";"),noprint] uint8 _sep3[2];
- uint32 size;
+ [value(ndr_size_winreg_Data_GPO(&data,type,ndr->flags))] uint32 size;
[charset(DOS),value(";"),noprint] uint8 _sep4[2];
[subcontext(0),subcontext_size(size),flag(NDR_REMAINING), switch_is(type)] winreg_Data_GPO data;
[charset(DOS),value("]"),noprint] uint8 _closing_bracket[2];