diff options
author | Andrew Bartlett <abartlet@samba.org> | 2004-06-07 08:54:49 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:56:35 -0500 |
commit | 46c88d561f9a5cbaf2b70e937fbc20dff6d31703 (patch) | |
tree | ca3a6cd0b0a18052d56f48c87cb6ed9cf7965973 /source4/librpc | |
parent | bd40d94a05e5f3353b54b2cc94d76c58be7e3766 (diff) | |
download | samba-46c88d561f9a5cbaf2b70e937fbc20dff6d31703.tar.gz samba-46c88d561f9a5cbaf2b70e937fbc20dff6d31703.tar.bz2 samba-46c88d561f9a5cbaf2b70e937fbc20dff6d31703.zip |
r1061: The start of the SamLogon call for the NETLOGON pipe.
Changes:
- Check for a valid 'pipe_state' in netr_ServerAuthenticate3 before
we dereference it
- removes the expansionroom[7] in the netr_SamInfo* structs to 7
individual elements.
- renames netr_SamInfo -> netr_SamInfo2
netr_SamInfo2 -> netr_SamInfo3
- Having the thing we always called an 'info3' being 'netr_SamInfo2'
was just too confusing.
- Expand and fill in extra details about users from the SAM, into
the server_info, for processing into the SamLogon reply.
- Add a dum_sid_dup() function to duplicate a struct dom_sid
The SamLogon code currently does not return supplementary groups, and is
only tested with Samba4 smbtorture.
Andrew Bartlett
(This used to be commit 6c92563b7961f15fc74b02601e105d5e1d04f04d)
Diffstat (limited to 'source4/librpc')
-rw-r--r-- | source4/librpc/idl/netlogon.idl | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl index a3e1e804dc..48154dc001 100644 --- a/source4/librpc/idl/netlogon.idl +++ b/source4/librpc/idl/netlogon.idl @@ -171,8 +171,14 @@ interface netlogon dom_sid2 *domain_sid; netr_LMSessionKey LMSessKey; uint32 AccountControl; - uint32 expansionroom[7]; - } netr_SamInfo; + uint32 unknown1; + uint32 unknown2; + uint32 unknown3; + uint32 unknown4; + uint32 unknown5; + uint32 unknown6; + uint32 unknown7; + } netr_SamInfo2; typedef struct { dom_sid2 *sid; @@ -205,10 +211,16 @@ interface netlogon dom_sid2 *domain_sid; netr_LMSessionKey LMSessKey; uint32 AccountControl; - uint32 expansionroom[7]; + uint32 unknown1; + uint32 unknown2; + uint32 unknown3; + uint32 unknown4; + uint32 unknown5; + uint32 unknown6; + uint32 unknown7; uint32 sidcount; [size_is(sidcount)] netr_SidAttr *sids; - } netr_SamInfo2; + } netr_SamInfo3; typedef struct { uint32 pac_size; @@ -227,8 +239,8 @@ interface netlogon } netr_PacInfo; typedef union { - [case(2)] netr_SamInfo *sam; - [case(3)] netr_SamInfo2 *sam2; + [case(2)] netr_SamInfo2 *sam2; + [case(3)] netr_SamInfo3 *sam3; [case(4)] netr_PacInfo *pac; [case(5)] netr_PacInfo *pac2; } netr_Validation; @@ -237,7 +249,7 @@ interface netlogon [in] unistr *server_name, [in] unistr *workstation, [in] netr_Authenticator *credential, - [in][out] netr_Authenticator *authenticator, + [in][out] netr_Authenticator *return_authenticator, [in] uint16 logon_level, [in] [switch_is(logon_level)] netr_LogonLevel logon, [in] uint16 validation_level, |