summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-04-19 20:49:42 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:51:19 -0500
commitdc8def7a7bc2b51d5e535c76eaf9df4eae128404 (patch)
tree80643e8523db1f3ad6d01e9686cda5d7e0f2415e
parent55da6e7f90d2a48a69ee37140f946131c6a03de6 (diff)
downloadsamba-dc8def7a7bc2b51d5e535c76eaf9df4eae128404.tar.gz
samba-dc8def7a7bc2b51d5e535c76eaf9df4eae128404.tar.bz2
samba-dc8def7a7bc2b51d5e535c76eaf9df4eae128404.zip
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)
-rw-r--r--source4/librpc/idl/netlogon.idl119
1 files changed, 81 insertions, 38 deletions
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 {