summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2004-06-07 08:54:49 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:56:35 -0500
commit46c88d561f9a5cbaf2b70e937fbc20dff6d31703 (patch)
treeca3a6cd0b0a18052d56f48c87cb6ed9cf7965973 /source4/librpc
parentbd40d94a05e5f3353b54b2cc94d76c58be7e3766 (diff)
downloadsamba-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.idl26
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,