[PATCH] s4: Fix parsing of CSDVersion: treat this field as an string null terminated.
Matthieu Patou
mat at matws.net
Fri Sep 11 09:57:04 MDT 2009
CDSVersion field contains one utf16 string and then garbage which pertubated the parsing.
We use subcontext to clearly define the size of the whole blob and then let the parser to find
the real length of the string.
This is a fix for bug 6706, many thanks to Gunter for the PIDL guidelines.
---
librpc/idl/netlogon.idl | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/librpc/idl/netlogon.idl b/librpc/idl/netlogon.idl
index 34081e2..1cc0f2b 100644
--- a/librpc/idl/netlogon.idl
+++ b/librpc/idl/netlogon.idl
@@ -1287,7 +1287,7 @@ interface netlogon
uint32 MinorVersion;
uint32 BuildNumber;
uint32 PlatformId;
- [charset(UTF16)] uint16 CSDVersion[128];
+ [subcontext(0),subcontext_size(256)] nstring CSDVersion;
uint16 ServicePackMajor;
uint16 ServicePackMinor;
netr_SuiteMask SuiteMask;
@@ -1372,7 +1372,7 @@ interface netlogon
uint32 dummy_long4;
} netr_OneDomainInfo;
- typedef [public,bitmap32bit] bitmap {
+ typedef [public,bitmap32bit] bitmap {
ENC_CRC32 = 0x00000001,
ENC_RSA_MD5 = 0x00000002,
ENC_RC4_HMAC_MD5 = 0x00000004,
--
1.6.0.4
--------------050900000100010105040903--
More information about the samba-technical
mailing list