diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-04-23 04:21:22 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:51:33 -0500 |
commit | 493a37ba663686b7bee3f7093d6650a24250f101 (patch) | |
tree | abcf06347f09b6468848308edce37f8ad28379b4 /source4/librpc/idl | |
parent | 1793845e08dafa2566d8713cbf21adcda1641f0f (diff) | |
download | samba-493a37ba663686b7bee3f7093d6650a24250f101.tar.gz samba-493a37ba663686b7bee3f7093d6650a24250f101.tar.bz2 samba-493a37ba663686b7bee3f7093d6650a24250f101.zip |
r335: added much better handling of servers that die unexpectedly during a
request (a dead socket). I discovered this when testing against Sun's
PC-NetLink.
cleaned up the naming of some of the samr requests
add IDL and test code for samr_QueryGroupMember(),
samr_SetMemberAttributesOfGroup() and samr_Shutdown(). (actually, I
didn't leave the samr_Shutdown() test in, as its fatal to windows
servers due to doing exactly what it says it does).
(This used to be commit 925bc2622c105dee4ffff809c6c35cd209a839f8)
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r-- | source4/librpc/idl/samr.idl | 54 |
1 files changed, 48 insertions, 6 deletions
diff --git a/source4/librpc/idl/samr.idl b/source4/librpc/idl/samr.idl index 8f8a96a819..170ccda08b 100644 --- a/source4/librpc/idl/samr.idl +++ b/source4/librpc/idl/samr.idl @@ -54,7 +54,13 @@ /******************/ /* Function: 0x04 */ - NTSTATUS samr_Shutdown (); + + /* + shutdown the SAM - once you call this the SAM will be dead + */ + NTSTATUS samr_Shutdown ( + [in,ref] policy_handle *handle + ); /******************/ /* Function: 0x05 */ @@ -401,13 +407,44 @@ [in] uint32 rid ); + /************************/ /* Function 0x19 */ - NTSTATUS samr_QUERY_GROUPMEM(); + /* + this isn't really valid IDL, but it does work. I suspect + I need to do some more pidl work to get this really right + */ + typedef struct { + uint32 count; + uint32 v[count]; + } samr_intArray; + + typedef struct { + samr_intArray *rids; + samr_intArray *unknown7; + } samr_ridArray; + + NTSTATUS samr_QueryGroupMember( + [in,ref] policy_handle *handle, + [out] uint32 *count, + [out] samr_ridArray rids + ); + /************************/ /* Function 0x1a */ - NTSTATUS samr_SET_MEMBER_ATTRIBUTES_OF_GROUP(); + + /* + win2003 seems to accept any data at all for the two integers + below, and doesn't seem to do anything with them that I can + see. Weird. I really expected the first integer to be a rid + and the second to be the attributes for that rid member. + */ + NTSTATUS samr_SetMemberAttributesOfGroup( + [in,ref] policy_handle *handle, + [in] uint32 unknown1, + [in] uint32 unknown2 + ); /************************/ @@ -457,14 +494,14 @@ /************************/ /* Function 0x1f */ - NTSTATUS samr_AddAliasMem( + NTSTATUS samr_AddAliasMember( [in,ref] policy_handle *handle, [in,ref] dom_sid2 *sid ); /************************/ /* Function 0x20 */ - NTSTATUS samr_DelAliasMem( + NTSTATUS samr_DeleteAliasMember( [in,ref] policy_handle *handle, [in,ref] dom_sid2 *sid ); @@ -1093,12 +1130,17 @@ [out] dom_sid2 *sid ); + /************************/ /* Function 0x42 */ NTSTATUS samr_SET_DSRM_PASSWORD(); /************************/ /* Function 0x43 */ - NTSTATUS samr_VALIDATE_PASSWORD(); + /* + I haven't been able to work out the format of this one yet. + Seems to start with a switch level for a union? + */ + NTSTATUS samr_ValidatePassword(); } |