summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-09-10 18:34:57 +0000
committerJeremy Allison <jra@samba.org>2003-09-10 18:34:57 +0000
commitb5f07b9ca802747816c407e9c79bcfb4009d605f (patch)
tree0f35be8b9c15db832a23d6d8008955fbf92ebed2
parentec9f544561c31487b0fa2888da34b4ee0ec87c6a (diff)
downloadsamba-b5f07b9ca802747816c407e9c79bcfb4009d605f.tar.gz
samba-b5f07b9ca802747816c407e9c79bcfb4009d605f.tar.bz2
samba-b5f07b9ca802747816c407e9c79bcfb4009d605f.zip
Fix for bug #273 - smbd crash on machine account change.
Someone only half changed the code to use dc_name instead of remote machine... Found via back trace from Dariush Forouher <dariush@forouher.de>. Jeremy. (This used to be commit 963b24ac1a721a8b0d348b578f25b1d8cb7e2124)
-rw-r--r--source3/smbd/change_trust_pw.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/source3/smbd/change_trust_pw.c b/source3/smbd/change_trust_pw.c
index 80c9fcb258..1178400e4d 100644
--- a/source3/smbd/change_trust_pw.c
+++ b/source3/smbd/change_trust_pw.c
@@ -48,22 +48,20 @@ NTSTATUS change_trust_account_password( const char *domain, const char *remote_m
if ( !name_status_find( domain, 0x1b, 0x20, pdc_ip, dc_name) )
goto failed;
- }
- /* supoport old deprecated "smbpasswd -j DOMAIN -r MACHINE" behavior */
- else {
+ } else {
+ /* supoport old deprecated "smbpasswd -j DOMAIN -r MACHINE" behavior */
fstrcpy( dc_name, remote_machine );
}
/* if this next call fails, then give up. We can't do
password changes on BDC's --jerry */
- if (!NT_STATUS_IS_OK(cli_full_connection(&cli, global_myname(), remote_machine,
+ if (!NT_STATUS_IS_OK(cli_full_connection(&cli, global_myname(), dc_name,
NULL, 0,
"IPC$", "IPC",
"", "",
- "", 0, Undefined, NULL)))
- {
- DEBUG(0,("modify_trust_password: Connection to %s failed!\n", remote_machine));
+ "", 0, Undefined, NULL))) {
+ DEBUG(0,("modify_trust_password: Connection to %s failed!\n", dc_name));
nt_status = NT_STATUS_UNSUCCESSFUL;
goto failed;
}
@@ -75,7 +73,7 @@ NTSTATUS change_trust_account_password( const char *domain, const char *remote_m
if(cli_nt_session_open(cli, PI_NETLOGON) == False) {
DEBUG(0,("modify_trust_password: unable to open the domain client session to machine %s. Error was : %s.\n",
- remote_machine, cli_errstr(cli)));
+ dc_name, cli_errstr(cli)));
cli_nt_session_close(cli);
cli_ulogoff(cli);
cli_shutdown(cli);
@@ -83,8 +81,7 @@ NTSTATUS change_trust_account_password( const char *domain, const char *remote_m
goto failed;
}
- nt_status = trust_pw_find_change_and_store_it(cli, cli->mem_ctx,
- domain);
+ nt_status = trust_pw_find_change_and_store_it(cli, cli->mem_ctx, domain);
cli_nt_session_close(cli);
cli_ulogoff(cli);