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/gen_ndr/netlogon.h | |
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/gen_ndr/netlogon.h')
-rw-r--r-- | librpc/gen_ndr/netlogon.h | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/librpc/gen_ndr/netlogon.h b/librpc/gen_ndr/netlogon.h index 892e770bad..7010e80843 100644 --- a/librpc/gen_ndr/netlogon.h +++ b/librpc/gen_ndr/netlogon.h @@ -744,6 +744,33 @@ union netr_CONTROL_DATA_INFORMATION { #define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 ) #define NETLOGON_NEG_AUTHENTICATED_RPC ( 0x40000000 ) +enum SyncStateEnum +#ifndef USE_UINT_ENUMS + { + 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 +} +#else + { __donnot_use_enum_SyncStateEnum=0x7FFFFFFF} +#define SYNCSTATE_NORMAL_STATE ( 0 ) +#define SYNCSTATE_DOMAIN_STATE ( 1 ) +#define SYNCSTATE_GROUP_STATE ( 2 ) +#define SYNCSTATE_UAS_BUILT_IN_GROUP_STATE ( 3 ) +#define SYNCSTATE_USER_STATE ( 4 ) +#define SYNCSTATE_GROUP_MEMBER_STATE ( 5 ) +#define SYNCSTATE_ALIAS_STATE ( 6 ) +#define SYNCSTATE_ALIAS_MEMBER_STATE ( 7 ) +#define SYNCSTATE_SAM_DONE_STATE ( 8 ) +#endif +; + /* bitmap netr_ChangeLogFlags */ #define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 ) #define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 ) @@ -1228,7 +1255,7 @@ struct netr_LogonControl { } in; struct { - union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */ + union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */ WERROR result; } out; @@ -1290,7 +1317,7 @@ struct netr_DatabaseSync2 { const char *computername;/* [charset(UTF16)] */ struct netr_Authenticator *credential;/* [ref] */ enum netr_SamDatabaseID database_id; - uint16_t restart_state; + enum SyncStateEnum restart_state; uint32_t preferredmaximumlength; struct netr_Authenticator *return_authenticator;/* [ref] */ uint32_t *sync_context;/* [ref] */ |