From: Jeremy Allison Date: Tue, 24 Jul 2007 22:28:19 +0000 (+0000) Subject: r24036: Fix dfs rename bug in smbclient reported by Thomas Bork . X-Git-Tag: samba-4.0.0alpha6~801^2~5253 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=76f0168f4f89a53375da8847aae98ec0de5e1e16;p=thirdparty%2Fsamba.git r24036: Fix dfs rename bug in smbclient reported by Thomas Bork . Couldn't rename file as we weren't DFS enabling the target path. Jeremy. (This used to be commit cd66c133a1b010874ea9e7a500ea24c52011e523) --- diff --git a/source3/client/client.c b/source3/client/client.c index f2a5f8593fa..ce66e089304 100644 --- a/source3/client/client.c +++ b/source3/client/client.c @@ -2727,7 +2727,8 @@ static int cmd_rename(void) pstring src,dest; pstring buf,buf2; struct cli_state *targetcli; - pstring targetname; + pstring targetsrc; + pstring targetdest; pstrcpy(src,cur_dir); pstrcpy(dest,cur_dir); @@ -2741,13 +2742,21 @@ static int cmd_rename(void) pstrcat(src,buf); pstrcat(dest,buf2); - if ( !cli_resolve_path( "", cli, src, &targetcli, targetname ) ) { - d_printf("chown %s: %s\n", src, cli_errstr(cli)); + if ( !cli_resolve_path( "", cli, src, &targetcli, targetsrc ) ) { + d_printf("rename %s: %s\n", src, cli_errstr(cli)); + return 1; + } + + if ( !cli_resolve_path( "", cli, dest, &targetcli, targetdest ) ) { + d_printf("rename %s: %s\n", dest, cli_errstr(cli)); return 1; } - if (!cli_rename(targetcli, targetname, dest)) { - d_printf("%s renaming files\n",cli_errstr(targetcli)); + if (!cli_rename(targetcli, targetsrc, targetdest)) { + d_printf("%s renaming files %s -> %s \n", + cli_errstr(targetcli), + targetsrc, + targetdest); return 1; }