summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Chapman <matty@samba.org>1999-07-22 10:55:09 +0000
committerMatthew Chapman <matty@samba.org>1999-07-22 10:55:09 +0000
commit61b92043da228b911010c07279f98833d4ca31ef (patch)
tree112e65566a56ec0d07c683c1fd91234ca31242a8
parent30beb2dd109e26abbe4d773671909b1fdf3a0e62 (diff)
downloadsamba-61b92043da228b911010c07279f98833d4ca31ef.tar.gz
samba-61b92043da228b911010c07279f98833d4ca31ef.tar.bz2
samba-61b92043da228b911010c07279f98833d4ca31ef.zip
BDC support.
Fixing and clarifying SAM_PWD structure. (This used to be commit 8e36b07a0e8e7ea8b72e1b9e3b747795b2685e85)
-rw-r--r--source3/include/proto.h2
-rw-r--r--source3/include/rpc_netlogon.h10
-rw-r--r--source3/rpc_parse/parse_net.c10
3 files changed, 9 insertions, 13 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 758e394262..d7ab61cb61 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -791,6 +791,7 @@ void cred_hash1(unsigned char *out,unsigned char *in,unsigned char *key);
void cred_hash2(unsigned char *out,unsigned char *in,unsigned char *key);
void cred_hash3(unsigned char *out,unsigned char *in,unsigned char *key, int forw);
void SamOEMhash( unsigned char *data, unsigned char *key, int val);
+void sam_pwd_hash(uint32 rid, const uchar *in, uchar *out, int forw);
/*The following definitions come from libsmb/smbencrypt.c */
@@ -1765,6 +1766,7 @@ BOOL do_sam_sync(struct cli_state *cli,
SAM_DELTA_HDR hdr_deltas[MAX_SAM_DELTAS],
SAM_DELTA_CTR deltas [MAX_SAM_DELTAS],
uint32 *num_deltas);
+BOOL synchronise_passdb(void);
/*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 6e28280dcc..e8ea7a4dcb 100644
--- a/source3/include/rpc_netlogon.h
+++ b/source3/include/rpc_netlogon.h
@@ -450,20 +450,18 @@ typedef struct sam_group_info_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];
- uint32 ptr_1;
-
UNIHDR hdr_nt_pwd;
uint8 buf_nt_pwd[16];
- uint32 ptr_2;
- uint32 ptr_3;
- uint32 ptr_4;
- uint32 ptr_5;
+ UNIHDR hdr_empty_lm;
+ UNIHDR hdr_empty_nt;
} SAM_PWD;
diff --git a/source3/rpc_parse/parse_net.c b/source3/rpc_parse/parse_net.c
index b74fb7ab0d..79b49855a9 100644
--- a/source3/rpc_parse/parse_net.c
+++ b/source3/rpc_parse/parse_net.c
@@ -1338,15 +1338,11 @@ static void net_io_sam_passwd_info(char *desc, SAM_PWD *pwd,
smb_io_unihdr ("hdr_lm_pwd", &(pwd->hdr_lm_pwd), ps, depth);
prs_uint8s(False, "buf_lm_pwd", ps, depth, pwd->buf_lm_pwd, 16);
- prs_uint32("ptr_1 ", ps, depth, &(pwd->ptr_1 ));
-
smb_io_unihdr ("hdr_nt_pwd", &(pwd->hdr_nt_pwd), ps, depth);
prs_uint8s(False, "buf_nt_pwd", ps, depth, pwd->buf_nt_pwd, 16);
-
- prs_uint32("ptr_2 ", ps, depth, &(pwd->ptr_2 ));
- prs_uint32("ptr_3 ", ps, depth, &(pwd->ptr_3 ));
- prs_uint32("ptr_4 ", ps, depth, &(pwd->ptr_4 ));
- prs_uint32("ptr_5 ", ps, depth, &(pwd->ptr_5 ));
+
+ smb_io_unihdr("", &(pwd->hdr_empty_lm), ps, depth);
+ smb_io_unihdr("", &(pwd->hdr_empty_nt), ps, depth);
}
/*******************************************************************