diff options
author | Jean-François Micouleau <jfm@samba.org> | 2001-11-21 23:25:30 +0000 |
---|---|---|
committer | Jean-François Micouleau <jfm@samba.org> | 2001-11-21 23:25:30 +0000 |
commit | b03e162127c0420cb2a0e978433d2dd439b0231f (patch) | |
tree | 4ee751000f0169a00fe129e367c31ff2f9db6fc8 /source3/include | |
parent | f146325e7df80b26616225017ef6a60ff5f2e349 (diff) | |
download | samba-b03e162127c0420cb2a0e978433d2dd439b0231f.tar.gz samba-b03e162127c0420cb2a0e978433d2dd439b0231f.tar.bz2 samba-b03e162127c0420cb2a0e978433d2dd439b0231f.zip |
samr_querydom_info level 1: found the meaning of the unknow fields. And
discovered that our reply is short by 4 bytes since day 1 of this code.
Added a decode function to rpcclient too.
splitted the STRING2 fields filling while trying to understand the win9x
userlist bug. (didn't fix the bug, but the reply looks closer to NT).
J.F.
(This used to be commit bfbe7f377e5fcb09e87bfc866196dfc51a8fe64d)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/rpc_samr.h | 52 |
1 files changed, 48 insertions, 4 deletions
diff --git a/source3/include/rpc_samr.h b/source3/include/rpc_samr.h index a29f96c107..7817579ba9 100644 --- a/source3/include/rpc_samr.h +++ b/source3/include/rpc_samr.h @@ -481,7 +481,12 @@ typedef struct q_samr_query_domain_info typedef struct sam_unknown_info_3_info { uint32 unknown_0; /* 0x0000 0000 */ - uint32 unknown_1; /* 0x8000 0000 */ + uint32 unknown_1; + + /* 0x8000 0000 */ /* DON'T forcibly disconnect remote users from server when logon hours expire*/ + + /* 0x0000 0000 */ /* forcibly disconnect remote users from server when logon hours expire*/ + } SAM_UNK_INFO_3; @@ -551,9 +556,11 @@ typedef struct sam_unknown_info_2_inf typedef struct sam_unknown_info_1_inf { - uint8 padding[12]; /* 12 bytes zeros */ - uint32 unknown_1; /* 0x8000 0000 */ - uint32 unknown_2; /* 0x0000 0000 */ + uint16 min_length_password; + uint16 password_history; + uint32 flag; + NTTIME expire; + NTTIME min_passwordage; } SAM_UNK_INFO_1; @@ -1750,5 +1757,42 @@ typedef struct sid_info_3 } DOM_SID3; +/* SAMR_Q_UNKNOWN_2E */ +typedef struct q_samr_unknown_2e_info +{ + POLICY_HND dom_pol; /* policy handle */ + uint16 switch_value; + +} SAMR_Q_UNKNOWN_2E; + +typedef struct sam_unknown_2e_info_12 +{ + uint32 duration_low; + uint32 duration_high; + uint32 reset_count_low; + uint32 reset_count_high; + uint32 bad_attempt_lockout; +} SAM_UNK_2E_INFO_12; + +typedef struct sam_unknown_2e_ctr_info +{ + union + { + SAM_UNK_2E_INFO_12 info12; + } info; + +} SAM_UNK_2E_CTR; + + +/* SAMR_R_UNKNOWN_2E - probably an open */ +typedef struct r_samr_unknown_2e_info +{ + uint32 ptr; + uint16 switch_value; + SAM_UNK_2E_CTR *ctr; + + uint32 status; /* return status */ + +} SAMR_R_UNKNOWN_2E; #endif /* _RPC_SAMR_H */ |