summaryrefslogtreecommitdiffstats
path: root/source/rpc_client/cli_netlogon.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-09-21 21:28:27 +0000
committerLuke Leighton <lkcl@samba.org>1999-09-21 21:28:27 +0000
commitd99eca020a255022dbc71f3671127343d75db59e (patch)
tree5cd7de499e2f32cef9d3648e99bba8ea6641e69e /source/rpc_client/cli_netlogon.c
parentcc19d5cc5c20665beb3b7c5fcf7787d54e37ea71 (diff)
downloadsamba-d99eca020a255022dbc71f3671127343d75db59e.tar.gz
samba-d99eca020a255022dbc71f3671127343d75db59e.tar.xz
samba-d99eca020a255022dbc71f3671127343d75db59e.zip
split matthew's sync command (only currently called from smbpasswd)
into a separate module
Diffstat (limited to 'source/rpc_client/cli_netlogon.c')
-rw-r--r--source/rpc_client/cli_netlogon.c74
1 files changed, 1 insertions, 73 deletions
diff --git a/source/rpc_client/cli_netlogon.c b/source/rpc_client/cli_netlogon.c
index 6f0d7e1c3a4..6b7db8ff6e9 100644
--- a/source/rpc_client/cli_netlogon.c
+++ b/source/rpc_client/cli_netlogon.c
@@ -715,22 +715,19 @@ domain %s.\n", timestring(), domain));
return False;
}
-BOOL do_sam_sync(struct cli_state *cli,
+BOOL do_sam_sync(struct cli_state *cli, uchar trust_passwd[16],
SAM_DELTA_HDR hdr_deltas[MAX_SAM_DELTAS],
SAM_DELTA_CTR deltas [MAX_SAM_DELTAS],
uint32 *num_deltas)
{
uint16 nt_pipe_fnum;
BOOL res = True;
- unsigned char trust_passwd[16];
*num_deltas = 0;
DEBUG(2,("Attempting SAM sync with PDC, domain: %s name: %s\n",
cli->domain, global_myname));
- res = res ? trust_get_passwd(trust_passwd, cli->domain, global_myname) : False;
-
/* open NETLOGON session. negotiate credentials */
res = res ? cli_nt_session_open(cli, PIPE_NETLOGON, &nt_pipe_fnum) : False;
@@ -755,72 +752,3 @@ BOOL do_sam_sync(struct cli_state *cli,
return True;
}
-BOOL synchronise_passdb(void)
-{
- struct cli_state cli;
- SAM_DELTA_HDR hdr_deltas[MAX_SAM_DELTAS];
- SAM_DELTA_CTR deltas[MAX_SAM_DELTAS];
- uint32 num;
-
- SAM_ACCOUNT_INFO *acc;
- struct smb_passwd pwd;
- fstring nt_name;
- unsigned char smb_passwd[16];
- unsigned char smb_nt_passwd[16];
-
- char *mode;
- BOOL success;
- BOOL ret;
- int i;
-
- if (!cli_connect_serverlist(&cli, lp_passwordserver()))
- {
- return False;
- }
-
- pstrcpy(cli.domain, lp_workgroup());
-
- ret = do_sam_sync(&cli, hdr_deltas, deltas, &num);
-
- if (ret)
- {
- for (i = 0; i < num; i++)
- {
- /* Currently only interested in accounts */
- if (hdr_deltas[i].type != 5)
- {
- continue;
- }
-
- acc = &deltas[i].account_info;
- pwdb_init_smb(&pwd);
-
- pwd.user_rid = acc->user_rid;
- unistr2_to_ascii(nt_name, &(acc->uni_acct_name), sizeof(fstring)-1);
- pwd.nt_name = nt_name;
- pwd.acct_ctrl = acc->acb_info;
- pwd.pass_last_set_time = nt_time_to_unix(&(acc->pwd_last_set_time));
-
- sam_pwd_hash(acc->user_rid, smb_passwd, acc->pass.buf_lm_pwd, 0);
- sam_pwd_hash(acc->user_rid, smb_nt_passwd, acc->pass.buf_nt_pwd, 0);
- pwd.smb_passwd = smb_passwd;
- pwd.smb_nt_passwd = smb_nt_passwd;
-
- mode = "modify";
- success = mod_smbpwd_entry(&pwd, True);
-
- if (!success)
- {
- mode = "add";
- success = add_smbpwd_entry(&pwd);
- }
-
- DEBUG(0, ("Attempted to %s account for %s: %s\n", mode,
- nt_name, success ? "OK" : "FAILED"));
- }
- }
-
- cli_ulogoff(&cli);
- cli_shutdown(&cli);
- return ret;
-}