diff options
author | Matthew Chapman <matty@samba.org> | 1999-06-02 03:19:20 +0000 |
---|---|---|
committer | Matthew Chapman <matty@samba.org> | 1999-06-02 03:19:20 +0000 |
commit | 99e42c0656d3e1e3b8e06437a8a9082c12df22d2 (patch) | |
tree | db75fd259f749760beca37872888246158438ca9 /source3/include | |
parent | c2919e499a755014ade1381552f4d808f443d89f (diff) | |
download | samba-99e42c0656d3e1e3b8e06437a8a9082c12df22d2.tar.gz samba-99e42c0656d3e1e3b8e06437a8a9082c12df22d2.tar.bz2 samba-99e42c0656d3e1e3b8e06437a8a9082c12df22d2.zip |
Some more BDC-related fixes, mainly to the NET_SAM_SYNC RPC with respect
to alignment, missing fields, etc. - it should now work correctly.
There is still the problem of decoding the private data field.
(This used to be commit c3c25e762fbc30d5663323f23449c913f2ce4b0e)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 3 | ||||
-rw-r--r-- | source3/include/rpc_netlogon.h | 50 |
2 files changed, 32 insertions, 21 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 12958baa3a..4efc7f803c 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1708,9 +1708,10 @@ BOOL cli_net_srv_pwset(struct cli_state *cli, uint16 nt_pipe_fnum, BOOL cli_net_sam_logon(struct cli_state *cli, uint16 nt_pipe_fnum, NET_ID_INFO_CTR *ctr, NET_USER_INFO_3 *user_info3); BOOL cli_net_sam_logoff(struct cli_state *cli, uint16 nt_pipe_fnum, NET_ID_INFO_CTR *ctr); -BOOL cli_net_sam_sync(struct cli_state *cli, uint16 nt_pipe_fnum, uint32 database_id); +BOOL cli_net_sam_sync(struct cli_state *cli, uint16 nt_pipe_fnum, uint32 database_id, uint32 *num_deltas, SAM_DELTA_HDR *hdr_deltas, SAM_DELTA_CTR *deltas); BOOL change_trust_account_password(char *domain, char *remote_machine_list, uint16 sec_chan); +BOOL do_sam_sync(struct cli_state *cli); /*The following definitions come from rpc_client/cli_pipe.c */ diff --git a/source3/include/rpc_netlogon.h b/source3/include/rpc_netlogon.h index 2d8f5ae1b7..2c02e96d18 100644 --- a/source3/include/rpc_netlogon.h +++ b/source3/include/rpc_netlogon.h @@ -460,30 +460,38 @@ typedef struct sam_account_info_info UNIHDR hdr_dir_drive; UNIHDR hdr_logon_script; UNIHDR hdr_acct_desc; + UNIHDR hdr_workstations; - NTTIME time_1; - NTTIME time_2; - NTTIME time_3; + NTTIME logon_time; + NTTIME logoff_time; uint32 logon_divs; /* 0xA8 */ uint32 ptr_logon_hrs; - /* N.B. 8-byte alignment */ - NTTIME time_4; - NTTIME time_5; + uint16 bad_pwd_count; + uint16 logon_count; + NTTIME pwd_last_set_time; + NTTIME acct_expiry_time; + uint32 acb_info; - char reserved[36]; + uint8 nt_pwd[16]; + uint8 lm_pwd[16]; + uint8 nt_pwd_present; + uint8 lm_pwd_present; + uint8 pwd_expired; UNIHDR hdr_comment; - char unknown1[12]; + UNIHDR hdr_parameters; + uint16 country; + uint16 codepage; - BUFHDR2 hdr_pwd_info; + BUFHDR2 hdr_priv_data; BUFHDR2 hdr_sec_desc; /* security descriptor */ - UNIHDR hdr_profile; - char unknown2[24]; - NTTIME time_6; /* *** HIGH/LOW DWORDS THE WRONG WAY!!! *** */ - char unknown3[8]; + 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; @@ -491,13 +499,15 @@ typedef struct sam_account_info_info UNISTR2 uni_dir_drive; UNISTR2 uni_logon_script; UNISTR2 uni_acct_desc; + UNISTR2 uni_workstations; - uint32 unknown4; /* 0x4EC */ - uint32 unknown5; /* 0 */ + uint32 unknown1; /* 0x4EC */ + uint32 unknown2; /* 0 */ BUFFER4 buf_logon_hrs; UNISTR2 uni_comment; - BUFFER4 buf_pwd_info; + UNISTR2 uni_parameters; + BUFFER4 buf_priv_data; BUFFER4 buf_sec_desc; UNISTR2 uni_profile; @@ -571,8 +581,8 @@ typedef struct net_r_sam_sync_info uint32 ptr_deltas2; uint32 num_deltas2; - SAM_DELTA_HDR hdr_deltas[MAX_SAM_DELTAS]; - SAM_DELTA_CTR deltas[MAX_SAM_DELTAS]; + SAM_DELTA_HDR *hdr_deltas; + SAM_DELTA_CTR *deltas; uint32 status; @@ -605,8 +615,8 @@ typedef struct net_r_sam_deltas_info uint32 ptr_deltas; uint32 num_deltas2; - SAM_DELTA_HDR hdr_deltas[MAX_SAM_DELTAS]; - SAM_DELTA_CTR deltas[MAX_SAM_DELTAS]; + SAM_DELTA_HDR *hdr_deltas; + SAM_DELTA_CTR *deltas; uint32 status; |