svn commit: samba r24036 - in branches: SAMBA_3_0_25/source/client SAMBA_3_2/source/client SAMBA_3_2_0/source/client

jra at samba.org jra at samba.org
Tue Jul 24 22:28:20 GMT 2007


Author: jra
Date: 2007-07-24 22:28:19 +0000 (Tue, 24 Jul 2007)
New Revision: 24036

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24036

Log:
Fix dfs rename bug in smbclient reported by Thomas Bork <tombork at web.de>.
Couldn't rename file as we weren't DFS enabling the target path.
Jeremy.

Modified:
   branches/SAMBA_3_0_25/source/client/client.c
   branches/SAMBA_3_2/source/client/client.c
   branches/SAMBA_3_2_0/source/client/client.c


Changeset:
Modified: branches/SAMBA_3_0_25/source/client/client.c
===================================================================
--- branches/SAMBA_3_0_25/source/client/client.c	2007-07-24 11:52:38 UTC (rev 24035)
+++ branches/SAMBA_3_0_25/source/client/client.c	2007-07-24 22:28:19 UTC (rev 24036)
@@ -2649,7 +2649,8 @@
 	pstring src,dest;
 	pstring buf,buf2;
 	struct cli_state *targetcli;
-	pstring targetname;
+	pstring targetsrc;
+	pstring targetdest;
   
 	pstrcpy(src,cur_dir);
 	pstrcpy(dest,cur_dir);
@@ -2663,15 +2664,23 @@
 	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_rename(targetcli, targetname, dest)) {
-		d_printf("%s renaming files\n",cli_errstr(targetcli));
+	if ( !cli_resolve_path( "", cli, dest, &targetcli, targetdest ) ) {
+		d_printf("rename %s: %s\n", dest, cli_errstr(cli));
 		return 1;
 	}
+
+	if (!cli_rename(targetcli, targetsrc, targetdest)) {
+		d_printf("%s renaming files %s -> %s \n",
+			cli_errstr(targetcli),
+			targetsrc,
+			targetdest);
+		return 1;
+	}
 	
 	return 0;
 }

Modified: branches/SAMBA_3_2/source/client/client.c
===================================================================
--- branches/SAMBA_3_2/source/client/client.c	2007-07-24 11:52:38 UTC (rev 24035)
+++ branches/SAMBA_3_2/source/client/client.c	2007-07-24 22:28:19 UTC (rev 24036)
@@ -2727,7 +2727,8 @@
 	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,15 +2742,23 @@
 	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_rename(targetcli, targetname, dest)) {
-		d_printf("%s renaming files\n",cli_errstr(targetcli));
+	if ( !cli_resolve_path( "", cli, dest, &targetcli, targetdest ) ) {
+		d_printf("rename %s: %s\n", dest, cli_errstr(cli));
 		return 1;
 	}
+
+	if (!cli_rename(targetcli, targetsrc, targetdest)) {
+		d_printf("%s renaming files %s -> %s \n",
+			cli_errstr(targetcli),
+			targetsrc,
+			targetdest);
+		return 1;
+	}
 	
 	return 0;
 }

Modified: branches/SAMBA_3_2_0/source/client/client.c
===================================================================
--- branches/SAMBA_3_2_0/source/client/client.c	2007-07-24 11:52:38 UTC (rev 24035)
+++ branches/SAMBA_3_2_0/source/client/client.c	2007-07-24 22:28:19 UTC (rev 24036)
@@ -2679,7 +2679,8 @@
 	pstring src,dest;
 	pstring buf,buf2;
 	struct cli_state *targetcli;
-	pstring targetname;
+	pstring targetsrc;
+	pstring targetdest;
   
 	pstrcpy(src,cur_dir);
 	pstrcpy(dest,cur_dir);
@@ -2693,15 +2694,23 @@
 	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_rename(targetcli, targetname, dest)) {
-		d_printf("%s renaming files\n",cli_errstr(targetcli));
+	if ( !cli_resolve_path( "", cli, dest, &targetcli, targetdest ) ) {
+		d_printf("rename %s: %s\n", dest, cli_errstr(cli));
 		return 1;
 	}
+
+	if (!cli_rename(targetcli, targetsrc, targetdest)) {
+		d_printf("%s renaming files %s -> %s \n",
+			cli_errstr(targetcli),
+			targetsrc,
+			targetdest);
+		return 1;
+	}
 	
 	return 0;
 }



More information about the samba-cvs mailing list