diff options
Diffstat (limited to 'source3/include/rpc_netlogon.h')
-rw-r--r-- | source3/include/rpc_netlogon.h | 324 |
1 files changed, 34 insertions, 290 deletions
diff --git a/source3/include/rpc_netlogon.h b/source3/include/rpc_netlogon.h index 31d8a3c1e5..06caa53f4d 100644 --- a/source3/include/rpc_netlogon.h +++ b/source3/include/rpc_netlogon.h @@ -30,20 +30,43 @@ #define NET_SRVPWSET 0x06 #define NET_SAMLOGON 0x02 #define NET_SAMLOGOFF 0x03 -#define NET_AUTH 0x05 #define NET_AUTH2 0x0f #define NET_LOGON_CTRL2 0x0e #define NET_TRUST_DOM_LIST 0x13 -#define NET_SAM_SYNC 0x10 -#define NET_SAM_DELTAS 0x07 - /* Secure Channel types. used in NetrServerAuthenticate negotiation */ #define SEC_CHAN_WKSTA 2 #define SEC_CHAN_DOMAIN 4 -#define SEC_CHAN_BDC 6 +#if 0 +/* JRATEST.... */ +/* NET_USER_INFO_2 */ +typedef struct net_user_info_2 +{ + uint32 ptr_user_info; + + NTTIME logon_time; /* logon time */ + NTTIME logoff_time; /* logoff time */ + NTTIME kickoff_time; /* kickoff time */ + NTTIME pass_last_set_time; /* password last set time */ + NTTIME pass_can_change_time; /* password can change time */ + NTTIME pass_must_change_time; /* password must change time */ + +.... + uint32 user_id; /* User ID */ + uint32 group_id; /* Group ID */ +.... + uint32 num_groups2; /* num groups */ + DOM_GID gids[LSA_MAX_GROUPS]; /* group info */ + + UNIHDR hdr_logon_srv; /* logon server unicode string header */ + UNISTR2 uni_logon_dom; /* logon domain unicode string */ + DOM_SID2 dom_sid; +} NET_USER_INFO_2; +/* ! JRATEST.... */ +#endif + /* NET_USER_INFO_3 */ typedef struct net_user_info_3 { @@ -192,7 +215,7 @@ typedef struct net_q_trust_dom_info /* NET_R_TRUST_DOM_LIST - response to LSA Trusted Domains */ typedef struct net_r_trust_dom_info { - BUFFER2 uni_trust_dom_name; + UNISTR2 uni_trust_dom_name[MAX_TRUST_DOMS]; uint32 status; /* return code */ @@ -227,24 +250,8 @@ typedef struct net_r_req_chal_info } NET_R_REQ_CHAL; -/* NET_Q_AUTH */ -typedef struct net_q_auth_info -{ - DOM_LOG_INFO clnt_id; /* client identification info */ - DOM_CHAL clnt_chal; /* client-calculated credentials */ -} NET_Q_AUTH; - -/* NET_R_AUTH */ -typedef struct net_r_auth_info -{ - DOM_CHAL srv_chal; /* server-calculated credentials */ - - uint32 status; /* return code */ - -} NET_R_AUTH; - /* NET_Q_AUTH_2 */ typedef struct net_q_auth2_info { @@ -255,6 +262,7 @@ typedef struct net_q_auth2_info } NET_Q_AUTH_2; + /* NET_R_AUTH_2 */ typedef struct net_r_auth2_info { @@ -265,6 +273,7 @@ typedef struct net_r_auth2_info } NET_R_AUTH_2; + /* NET_Q_SRV_PWSET */ typedef struct net_q_srv_pwset_info { @@ -288,7 +297,7 @@ typedef struct net_network_info_2 uint32 ptr_id_info2; /* pointer to id_info_2 */ UNIHDR hdr_domain_name; /* domain name unicode header */ uint32 param_ctrl; /* param control (0x2) */ - BIGINT logon_id; /* logon ID */ + DOM_LOGON_ID logon_id; /* logon ID */ UNIHDR hdr_user_name; /* user name unicode header */ UNIHDR hdr_wksta_name; /* workstation name unicode header */ uint8 lm_chal[8]; /* lan manager 8 byte challenge */ @@ -309,7 +318,7 @@ typedef struct id_info_1 uint32 ptr_id_info1; /* pointer to id_info_1 */ UNIHDR hdr_domain_name; /* domain name unicode header */ uint32 param_ctrl; /* param control */ - BIGINT logon_id; /* logon ID */ + DOM_LOGON_ID logon_id; /* logon ID */ UNIHDR hdr_user_name; /* user name unicode header */ UNIHDR hdr_wksta_name; /* workstation name unicode header */ OWF_INFO lm_owf; /* LM OWF Password */ @@ -351,7 +360,7 @@ typedef struct sam_info /* NET_Q_SAM_LOGON */ typedef struct net_q_sam_logon_info { - DOM_SAM_INFO sam_id; + DOM_SAM_INFO sam_id; uint16 validation_level; } NET_Q_SAM_LOGON; @@ -390,270 +399,5 @@ typedef struct net_r_sam_logoff_info } NET_R_SAM_LOGOFF; -/* NET_Q_SAM_SYNC */ -typedef struct net_q_sam_sync_info -{ - UNISTR2 uni_srv_name; /* \\PDC */ - UNISTR2 uni_cli_name; /* BDC */ - DOM_CRED cli_creds; - DOM_CRED ret_creds; - - uint32 database_id; - uint32 restart_state; - uint32 sync_context; - - uint32 max_size; /* preferred maximum length */ - -} NET_Q_SAM_SYNC; - -#define MAX_GROUP_MEM 256 -#define MAX_SAM_DELTAS 256 - -/* SAM_DELTA_HDR */ -typedef struct sam_delta_hdr_info -{ - uint16 type; /* type of structure attached, see below */ - uint16 type2; - uint32 target_rid; - - uint32 type3; - uint32 ptr_delta; - -} SAM_DELTA_HDR; - -/* SAM_DOMAIN_INFO (0x1) */ -typedef struct sam_domain_info_info -{ - UNIHDR hdr_dom_name; - UNIHDR hdr_oem_info; - - BIGINT force_logoff; - uint16 min_pwd_len; - uint16 pwd_history_len; - BIGINT max_pwd_age; - BIGINT min_pwd_age; - BIGINT dom_mod_count; - NTTIME creation_time; - - BUFHDR2 hdr_sec_desc; /* security descriptor */ - UNIHDR hdr_unknown; - uint8 reserved[40]; - - UNISTR2 uni_dom_name; - UNISTR2 buf_oem_info; /* never seen */ - - BUFFER4 buf_sec_desc; - UNISTR2 buf_unknown; - -} SAM_DOMAIN_INFO; - -/* SAM_GROUP_INFO (0x2) */ -typedef struct sam_group_info_info -{ - UNIHDR hdr_grp_name; - DOM_GID gid; - UNIHDR hdr_grp_desc; - BUFHDR2 hdr_sec_desc; /* security descriptor */ - uint8 reserved[48]; - - UNISTR2 uni_grp_name; - UNISTR2 uni_grp_desc; - BUFFER4 buf_sec_desc; - -} SAM_GROUP_INFO; - -/* SAM_PWD */ -typedef struct sam_passwd_info -{ - /* this structure probably contains password history */ - /* this is probably a count of lm/nt pairs */ - uint32 unk_0; /* 0x0000 0002 */ - - UNIHDR hdr_lm_pwd; - uint8 buf_lm_pwd[16]; - - UNIHDR hdr_nt_pwd; - uint8 buf_nt_pwd[16]; - - UNIHDR hdr_empty_lm; - UNIHDR hdr_empty_nt; - -} SAM_PWD; - -/* SAM_ACCOUNT_INFO (0x5) */ -typedef struct sam_account_info_info -{ - UNIHDR hdr_acct_name; - UNIHDR hdr_full_name; - - uint32 user_rid; - uint32 group_rid; - - UNIHDR hdr_home_dir; - UNIHDR hdr_dir_drive; - UNIHDR hdr_logon_script; - UNIHDR hdr_acct_desc; - UNIHDR hdr_workstations; - - NTTIME logon_time; - NTTIME logoff_time; - - uint32 logon_divs; /* 0xA8 */ - uint32 ptr_logon_hrs; - - uint16 bad_pwd_count; - uint16 logon_count; - NTTIME pwd_last_set_time; - NTTIME acct_expiry_time; - - uint32 acb_info; - uint8 nt_pwd[16]; - uint8 lm_pwd[16]; - uint8 nt_pwd_present; - uint8 lm_pwd_present; - uint8 pwd_expired; - - UNIHDR hdr_comment; - UNIHDR hdr_parameters; - uint16 country; - uint16 codepage; - - BUFHDR2 hdr_sec_desc; /* security descriptor */ - - UNIHDR hdr_profile; - UNIHDR hdr_reserved[3]; /* space for more strings */ - uint32 dw_reserved[4]; /* space for more data - first two seem to - be an NTTIME */ - - UNISTR2 uni_acct_name; - UNISTR2 uni_full_name; - UNISTR2 uni_home_dir; - UNISTR2 uni_dir_drive; - UNISTR2 uni_logon_script; - UNISTR2 uni_acct_desc; - UNISTR2 uni_workstations; - - uint32 unknown1; /* 0x4EC */ - uint32 unknown2; /* 0 */ - - BUFFER4 buf_logon_hrs; - UNISTR2 uni_comment; - UNISTR2 uni_parameters; - SAM_PWD pass; - BUFFER4 buf_sec_desc; - UNISTR2 uni_profile; - -} SAM_ACCOUNT_INFO; - -/* SAM_GROUP_MEM_INFO (0x8) */ -typedef struct sam_group_mem_info_info -{ - uint32 ptr_rids; - uint32 ptr_attribs; - uint32 num_members; - uint8 unknown[16]; - - uint32 num_members2; - uint32 rids[MAX_GROUP_MEM]; - - uint32 num_members3; - uint32 attribs[MAX_GROUP_MEM]; - -} SAM_GROUP_MEM_INFO; - -/* SAM_ALIAS_INFO (0x9) */ -typedef struct sam_alias_info_info -{ - UNIHDR hdr_als_name; - uint32 als_rid; - BUFHDR2 hdr_sec_desc; /* security descriptor */ - UNIHDR hdr_als_desc; - uint8 reserved[40]; - - UNISTR2 uni_als_name; - BUFFER4 buf_sec_desc; - UNISTR2 uni_als_desc; - -} SAM_ALIAS_INFO; - -/* SAM_ALIAS_MEM_INFO (0xC) */ -typedef struct sam_alias_mem_info_info -{ - uint32 num_members; - uint32 ptr_members; - uint8 unknown[16]; - - uint32 num_sids; - uint32 ptr_sids[MAX_GROUP_MEM]; - DOM_SID2 sids[MAX_GROUP_MEM]; - -} SAM_ALIAS_MEM_INFO; - -/* SAM_DELTA_CTR */ -typedef union sam_delta_ctr_info -{ - SAM_DOMAIN_INFO domain_info ; - SAM_GROUP_INFO group_info ; - SAM_ACCOUNT_INFO account_info; - SAM_GROUP_MEM_INFO grp_mem_info; - SAM_ALIAS_INFO alias_info ; - SAM_ALIAS_MEM_INFO als_mem_info; - -} SAM_DELTA_CTR; - -/* NET_R_SAM_SYNC */ -typedef struct net_r_sam_sync_info -{ - DOM_CRED srv_creds; - - uint32 sync_context; - - uint32 ptr_deltas; - uint32 num_deltas; - uint32 ptr_deltas2; - uint32 num_deltas2; - - SAM_DELTA_HDR *hdr_deltas; - SAM_DELTA_CTR *deltas; - - uint32 status; - -} NET_R_SAM_SYNC; - - -/* NET_Q_SAM_DELTAS */ -typedef struct net_q_sam_deltas_info -{ - UNISTR2 uni_srv_name; - UNISTR2 uni_cli_name; - DOM_CRED cli_creds; - DOM_CRED ret_creds; - - uint32 database_id; - BIGINT dom_mod_count; /* domain mod count at last sync */ - - uint32 max_size; /* preferred maximum length */ - -} NET_Q_SAM_DELTAS; - -/* NET_R_SAM_DELTAS */ -typedef struct net_r_sam_deltas_info -{ - DOM_CRED srv_creds; - - BIGINT dom_mod_count; /* new domain mod count */ - - uint32 num_deltas; - uint32 ptr_deltas; - uint32 num_deltas2; - - SAM_DELTA_HDR *hdr_deltas; - SAM_DELTA_CTR *deltas; - - uint32 status; - -} NET_R_SAM_DELTAS; - - #endif /* _RPC_NETLOGON_H */ |