summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-12-31 04:31:02 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:49:10 -0500
commit767ce19bf8bf75b2ede9bd5c7cd5a6112b6e7acd (patch)
tree43c1c83c015a4809929473d3859ac1aee2eb4561 /source4/librpc
parentff5c9a127335a35d5625c500d5cd6b5971fd1e13 (diff)
downloadsamba-767ce19bf8bf75b2ede9bd5c7cd5a6112b6e7acd.tar.gz
samba-767ce19bf8bf75b2ede9bd5c7cd5a6112b6e7acd.tar.bz2
samba-767ce19bf8bf75b2ede9bd5c7cd5a6112b6e7acd.zip
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)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/lsa.idl22
1 files 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 (