From 767ce19bf8bf75b2ede9bd5c7cd5a6112b6e7acd Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 31 Dec 2005 04:31:02 +0000 Subject: r12635: use the new [validate] value() checking to fix the string types for the LSA pipe. Strangely, windows is not consistent for the LookupSids call. Sometimes the name is terminated and sometimes not?! It might depend on the type of rid (alias, group etc) ? (This used to be commit c0b7e0619a153f1da0fa76f176335d1b2afa340b) --- source4/librpc/idl/lsa.idl | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/source4/librpc/idl/lsa.idl b/source4/librpc/idl/lsa.idl index 8a141bcd54..454f73afeb 100644 --- a/source4/librpc/idl/lsa.idl +++ b/source4/librpc/idl/lsa.idl @@ -23,7 +23,7 @@ typedef [public] struct { [value(2*strlen_m(string))] uint16 length; [value(2*(strlen_m(string)+1))] uint16 size; - [flag(STR_SIZE4|STR_LEN4|STR_NOTERM|STR_LARGE_SIZE)] string *string; + [charset(UTF16),size_is(size/2),length_is(length/2)] uint16 *string; } lsa_StringLarge; typedef [public] struct { @@ -59,7 +59,7 @@ } lsa_LUID; typedef struct { - lsa_String name; + lsa_StringLarge name; lsa_LUID luid; } lsa_PrivEntry; @@ -144,7 +144,7 @@ } lsa_AuditEventsInfo; typedef struct { - lsa_String name; + lsa_StringLarge name; dom_sid2 *sid; } lsa_DomainInfo; @@ -279,7 +279,7 @@ /* Function: 0x0c */ typedef struct { - lsa_String name; + lsa_StringLarge name; dom_sid2 *sid; } lsa_TrustInformation; @@ -298,7 +298,7 @@ const int LSA_ENUM_TRUST_DOMAIN_MULTIPLIER = 60; typedef struct { - lsa_String name; + lsa_StringLarge name; dom_sid2 *sid; } lsa_DomainInformation; @@ -480,7 +480,7 @@ } lsa_TrustDomInfoEnum; typedef struct { - lsa_String netbios_name; + lsa_StringLarge netbios_name; } lsa_TrustDomainInfoName; typedef struct { @@ -498,8 +498,8 @@ } lsa_TrustDomainInfoBasic; typedef struct { - lsa_String domain_name; - lsa_String netbios_name; + lsa_StringLarge domain_name; + lsa_StringLarge netbios_name; dom_sid2 *sid; uint32 trust_direction; uint32 trust_type; @@ -602,7 +602,7 @@ NTSTATUS lsa_LookupPrivName ( [in] policy_handle *handle, [in] lsa_LUID *luid, - [out,unique] lsa_String *name + [out,unique] lsa_StringLarge *name ); @@ -611,7 +611,7 @@ NTSTATUS lsa_LookupPrivDisplayName ( [in] policy_handle *handle, [in] lsa_String *name, - [out,unique] lsa_String *disp_name, + [out,unique] lsa_StringLarge *disp_name, /* see http://www.microsoft.com/globaldev/nlsweb/ for language definitions */ [in,out] uint16 *language_id, @@ -637,7 +637,7 @@ typedef struct { uint32 count; - [size_is(count)] lsa_String *names; + [size_is(count)] lsa_StringLarge *names; } lsa_RightSet; NTSTATUS lsa_EnumAccountRights ( -- cgit