From dc8def7a7bc2b51d5e535c76eaf9df4eae128404 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 19 Apr 2004 20:49:42 +0000 Subject: r287: patch from Richard Renard to add AcctLockStr and the delete user and delete group levels of Deltas also reworked the Deltas IDL to use an enum to make it a little clearer (This used to be commit cabf93f8c8f5ad0f6f348e0f7e206b952690995c) --- source4/librpc/idl/netlogon.idl | 119 +++++++++++++++++++++++++++------------- 1 file changed, 81 insertions(+), 38 deletions(-) (limited to 'source4/librpc') diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl index 5b2d2aa1d3..db064bf0cd 100644 --- a/source4/librpc/idl/netlogon.idl +++ b/source4/librpc/idl/netlogon.idl @@ -81,6 +81,22 @@ interface netlogon [value(r->size)] uint16 length; unistr_noterm *string; } netr_String; + + typedef struct { + uint32 acct_lock_max_count; + uint32 acct_lock_offset; + uint32 acct_lock_actual_count; + ULONG8 lockout_duration; + ULONG8 reset_count; + uint32 bad_attempt_lockout; + uint32 dummy; + } netr_AcctLockCtr; + + typedef struct { + uint16 size; + uint16 length; + netr_AcctLockCtr *acct_lk_info; + } netr_AcctLockStr; typedef struct { netr_String domain_name; @@ -359,7 +375,7 @@ interface netlogon NTTIME domain_create_time; uint32 SecurityInformation; sec_desc_buf sdbuf; - netr_String unknown1; + netr_AcctLockStr account_lockout; netr_String unknown2; netr_String unknown3; netr_String unknown4; @@ -521,47 +537,74 @@ interface netlogon uint32 unknown8; } netr_DELTA_SECRET; + typedef enum { + NETR_DELTA_DOMAIN = 1, + NETR_DELTA_GROUP = 2, + NETR_DELTA_DELETE_GROUP = 3, + NETR_DELTA_RENAME_GROUP = 4, + NETR_DELTA_USER = 5, + NETR_DELTA_DELETE_USER = 6, + NETR_DELTA_RENAME_USER = 7, + NETR_DELTA_GROUP_MEMBER = 8, + NETR_DELTA_ALIAS = 9, + NETR_DELTA_UNKNOWN1 = 10, /* maybe delete alias? */ + NETR_DELTA_RENAME_ALIAS = 11, + NETR_DELTA_ALIAS_MEMBER = 12, + NETR_DELTA_POLICY = 13, + NETR_DELTA_TRUSTED_DOMAINS = 14, + NETR_DELTA_UNKNOWN2 = 15, + NETR_DELTA_ACCOUNTS = 16, + NETR_DELTA_UNKNOWN3 = 17, + NETR_DELTA_SECRET = 18, + NETR_DELTA_UNKNOWN4 = 19, /* maybe delete secret? */ + NETR_DELTA_DELETE_GROUP2 = 20, + NETR_DELTA_DELETE_USER2 = 21, + NETR_DELTA_MODIFY_COUNT = 22 + } netr_DeltaEnum; + typedef union { - [case(1)] netr_DELTA_DOMAIN *domain; - [case(2)] netr_DELTA_GROUP *group; - [case(4)] netr_DELTA_RENAME *rename_group; - [case(5)] netr_DELTA_USER *user; - [case(7)] netr_DELTA_RENAME *rename_user; - [case(8)] netr_DELTA_GROUP_MEMBER *group_member; - [case(9)] netr_DELTA_ALIAS *alias; - [case(11)] netr_DELTA_RENAME *rename_alias; - [case(12)] netr_DELTA_ALIAS_MEMBER *alias_member; - [case(13)] netr_DELTA_POLICY *policy; - [case(14)] netr_DELTA_TRUSTED_DOMAINS *trusted_domains; - [case(16)] netr_DELTA_ACCOUNTS *accounts; - [case(18)] netr_DELTA_SECRET *secret; - [case(20)] netr_DELTA_DELETE_USER *delete_group; - [case(21)] netr_DELTA_DELETE_USER *delete_user; - [case(22)] ULONG8 *modified_count; + [case(NETR_DELTA_DOMAIN)] netr_DELTA_DOMAIN *domain; + [case(NETR_DELTA_GROUP)] netr_DELTA_GROUP *group; + [case(NETR_DELTA_DELETE_GROUP)] ; /* rid only */ + [case(NETR_DELTA_RENAME_GROUP)] netr_DELTA_RENAME *rename_group; + [case(NETR_DELTA_USER)] netr_DELTA_USER *user; + [case(NETR_DELTA_DELETE_USER)] ; /* rid only */ + [case(NETR_DELTA_RENAME_USER)] netr_DELTA_RENAME *rename_user; + [case(NETR_DELTA_GROUP_MEMBER)] netr_DELTA_GROUP_MEMBER *group_member; + [case(NETR_DELTA_ALIAS)] netr_DELTA_ALIAS *alias; + [case(NETR_DELTA_RENAME_ALIAS)] netr_DELTA_RENAME *rename_alias; + [case(NETR_DELTA_ALIAS_MEMBER)] netr_DELTA_ALIAS_MEMBER *alias_member; + [case(NETR_DELTA_POLICY)] netr_DELTA_POLICY *policy; + [case(NETR_DELTA_TRUSTED_DOMAINS)] netr_DELTA_TRUSTED_DOMAINS *trusted_domains; + [case(NETR_DELTA_ACCOUNTS)] netr_DELTA_ACCOUNTS *accounts; + [case(NETR_DELTA_SECRET)] netr_DELTA_SECRET *secret; + [case(NETR_DELTA_DELETE_GROUP2)] netr_DELTA_DELETE_USER *delete_group; + [case(NETR_DELTA_DELETE_USER2)] netr_DELTA_DELETE_USER *delete_user; + [case(NETR_DELTA_MODIFY_COUNT)] ULONG8 *modified_count; } netr_DELTA_UNION; typedef union { - [case(1)] uint32 rid; - [case(2)] uint32 rid; - [case(3)] uint32 rid; - [case(4)] uint32 rid; - [case(5)] uint32 rid; - [case(6)] uint32 rid; - [case(7)] uint32 rid; - [case(8)] uint32 rid; - [case(9)] uint32 rid; - [case(10)] uint32 rid; - [case(11)] uint32 rid; - [case(12)] uint32 rid; - [case(13)] dom_sid2 *sid; - [case(14)] dom_sid2 *sid; - [case(15)] dom_sid2 *sid; - [case(16)] dom_sid2 *sid; - [case(17)] dom_sid2 *sid; - [case(18)] unistr *Name; - [case(19)] unistr *Name; - [case(20)] uint32 rid; - [case(21)] uint32 rid; + [case(NETR_DELTA_DOMAIN)] uint32 rid; + [case(NETR_DELTA_GROUP)] uint32 rid; + [case(NETR_DELTA_DELETE_GROUP)] uint32 rid; + [case(NETR_DELTA_RENAME_GROUP)] uint32 rid; + [case(NETR_DELTA_USER)] uint32 rid; + [case(NETR_DELTA_DELETE_USER)] uint32 rid; + [case(NETR_DELTA_RENAME_USER)] uint32 rid; + [case(NETR_DELTA_GROUP_MEMBER)] uint32 rid; + [case(NETR_DELTA_ALIAS)] uint32 rid; + [case(NETR_DELTA_UNKNOWN1)] uint32 rid; + [case(NETR_DELTA_RENAME_ALIAS)] uint32 rid; + [case(NETR_DELTA_ALIAS_MEMBER)] uint32 rid; + [case(NETR_DELTA_POLICY)] dom_sid2 *sid; + [case(NETR_DELTA_TRUSTED_DOMAINS)] dom_sid2 *sid; + [case(NETR_DELTA_UNKNOWN2)] dom_sid2 *sid; + [case(NETR_DELTA_ACCOUNTS)] dom_sid2 *sid; + [case(NETR_DELTA_UNKNOWN3)] dom_sid2 *sid; + [case(NETR_DELTA_SECRET)] unistr *name; + [case(NETR_DELTA_DELETE_GROUP2)] unistr *name; + [case(NETR_DELTA_DELETE_USER2)] uint32 rid; + [case(NETR_DELTA_MODIFY_COUNT)] uint32 rid; } netr_DELTA_ID_UNION; typedef struct { -- cgit