diff options
author | Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de> | 2009-06-12 12:38:22 +0200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2009-06-18 13:49:25 +1000 |
commit | efe6552f0c1b2cf7e7f95987e7c808667166a303 (patch) | |
tree | cae01772b8433e1ba5361cc0ce979a861c702742 /librpc/idl | |
parent | f666da6940c2cc0c82419ec68b1a83bddfe680c9 (diff) | |
download | samba-efe6552f0c1b2cf7e7f95987e7c808667166a303.tar.gz samba-efe6552f0c1b2cf7e7f95987e7c808667166a303.tar.bz2 samba-efe6552f0c1b2cf7e7f95987e7c808667166a303.zip |
NETLOGON pipe improvements
Patch for bug #4939
This refactors the NETLOGON code related to this bug:
- Introduces a new "SYNCSTATE" enum required by the "DatabaseSync2" call (acc.
to WSPP)
- Make "DatabaseSync" dependant from "DatabaseSync2" (acc. to WSPP)
- Let "DatabaseSync2" return NT_STATUS_NOT_IMPLEMENTED (I'm not sure if this is
also true when a domain is running in mixed mode)
- Make "LogonControl" and "LogonControl2" dependant form "LogonControl2Ex"
(acc. to WSPP)
- Let "LogonControl2Ex" return WERR_NOT_SUPPORTED for now
Diffstat (limited to 'librpc/idl')
-rw-r--r-- | librpc/idl/netlogon.idl | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/librpc/idl/netlogon.idl b/librpc/idl/netlogon.idl index 65f62da017..4a90c2c87c 100644 --- a/librpc/idl/netlogon.idl +++ b/librpc/idl/netlogon.idl @@ -728,7 +728,6 @@ interface netlogon [size_is(num_deltas)] netr_DELTA_ENUM *delta_enum; } netr_DELTA_ENUM_ARRAY; - NTSTATUS netr_DatabaseDeltas( [in] [string,charset(UTF16)] uint16 logon_server[], [in] [string,charset(UTF16)] uint16 computername[], @@ -882,7 +881,7 @@ interface netlogon [in,unique] [string,charset(UTF16)] uint16 *logon_server, [in] netr_LogonControlCode function_code, [in] uint32 level, - [out,ref,switch_is(level)] netr_CONTROL_QUERY_INFORMATION *info + [out,ref,switch_is(level)] netr_CONTROL_QUERY_INFORMATION *query ); @@ -970,13 +969,25 @@ interface netlogon /*****************/ /* Function 0x10 */ + typedef enum { + SYNCSTATE_NORMAL_STATE = 0, + SYNCSTATE_DOMAIN_STATE = 1, + SYNCSTATE_GROUP_STATE = 2, + SYNCSTATE_UAS_BUILT_IN_GROUP_STATE = 3, + SYNCSTATE_USER_STATE = 4, + SYNCSTATE_GROUP_MEMBER_STATE = 5, + SYNCSTATE_ALIAS_STATE = 6, + SYNCSTATE_ALIAS_MEMBER_STATE = 7, + SYNCSTATE_SAM_DONE_STATE = 8 + } SyncStateEnum; + NTSTATUS netr_DatabaseSync2( [in] [string,charset(UTF16)] uint16 logon_server[], [in] [string,charset(UTF16)] uint16 computername[], [in,ref] netr_Authenticator *credential, [in,out,ref] netr_Authenticator *return_authenticator, [in] netr_SamDatabaseID database_id, - [in] uint16 restart_state, + [in] SyncStateEnum restart_state, [in,out,ref] uint32 *sync_context, [out,ref] netr_DELTA_ENUM_ARRAY **delta_enum_array, [in] uint32 preferredmaximumlength |