svn commit: samba r21247 - in branches: SAMBA_3_0/source/smbd SAMBA_3_0_25/source/smbd

jra at samba.org jra at samba.org
Thu Feb 8 20:31:19 GMT 2007


Author: jra
Date: 2007-02-08 20:31:18 +0000 (Thu, 08 Feb 2007)
New Revision: 21247

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

Log:
In the refactoring I dropped a RESOLVE_DFSPATH call
from setpathinfo. Return it and make sure all paths
go through a dfs resolve.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/smbd/trans2.c
   branches/SAMBA_3_0_25/source/smbd/trans2.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/trans2.c	2007-02-08 19:42:27 UTC (rev 21246)
+++ branches/SAMBA_3_0/source/smbd/trans2.c	2007-02-08 20:31:18 UTC (rev 21247)
@@ -4168,6 +4168,7 @@
 
 static NTSTATUS smb_set_file_unix_hlink(connection_struct *conn,
 				char *inbuf,
+				char *outbuf,
 				const char *pdata,
 				int total_data,
 				pstring fname)
@@ -4185,6 +4186,8 @@
 		return status;
 	}
 
+	RESOLVE_DFSPATH_STATUS(oldname, conn, inbuf, outbuf);
+
 	DEBUG(10,("smb_set_file_unix_hlink: SMB_SET_FILE_UNIX_LINK doing hard link %s -> %s\n",
 		fname, oldname));
 
@@ -4228,13 +4231,13 @@
 		return status;
 	}
 
+	RESOLVE_DFSPATH_STATUS(newname, conn, inbuf, outbuf);
+
 	/* Check the new name has no '/' characters. */
 	if (strchr_m(newname, '/')) {
 		return NT_STATUS_NOT_SUPPORTED;
 	}
 
-	RESOLVE_DFSPATH_STATUS(newname, conn, inbuf, outbuf);
-
 	/* Create the base directory. */
 	pstrcpy(base_name, fname);
 	p = strrchr_m(base_name, '/');
@@ -5237,6 +5240,9 @@
 		if (!NT_STATUS_IS_OK(status)) {
 			return ERROR_NT(status);
 		}
+
+		RESOLVE_DFSPATH(fname, conn, inbuf, outbuf);
+
 		status = unix_convert(conn, fname, False, NULL, &sbuf);
 		if (!NT_STATUS_IS_OK(status)) {
 			return ERROR_NT(status);
@@ -5423,6 +5429,7 @@
 			}
 			status = smb_set_file_unix_hlink(conn,
 						inbuf,
+						outbuf,
 						pdata,
 						total_data,
 						fname);

Modified: branches/SAMBA_3_0_25/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_0_25/source/smbd/trans2.c	2007-02-08 19:42:27 UTC (rev 21246)
+++ branches/SAMBA_3_0_25/source/smbd/trans2.c	2007-02-08 20:31:18 UTC (rev 21247)
@@ -4158,6 +4158,7 @@
 
 static NTSTATUS smb_set_file_unix_hlink(connection_struct *conn,
 				char *inbuf,
+				char *outbuf,
 				const char *pdata,
 				int total_data,
 				pstring fname)
@@ -4175,6 +4176,8 @@
 		return status;
 	}
 
+	RESOLVE_DFSPATH_STATUS(oldname, conn, inbuf, outbuf);
+
 	DEBUG(10,("smb_set_file_unix_hlink: SMB_SET_FILE_UNIX_LINK doing hard link %s -> %s\n",
 		fname, oldname));
 
@@ -4218,13 +4221,13 @@
 		return status;
 	}
 
+	RESOLVE_DFSPATH_STATUS(newname, conn, inbuf, outbuf);
+
 	/* Check the new name has no '/' characters. */
 	if (strchr_m(newname, '/')) {
 		return NT_STATUS_NOT_SUPPORTED;
 	}
 
-	RESOLVE_DFSPATH_STATUS(newname, conn, inbuf, outbuf);
-
 	/* Create the base directory. */
 	pstrcpy(base_name, fname);
 	p = strrchr_m(base_name, '/');
@@ -5231,6 +5234,9 @@
 		if (!NT_STATUS_IS_OK(status)) {
 			return ERROR_NT(status);
 		}
+
+		RESOLVE_DFSPATH(fname, conn, inbuf, outbuf);
+
 		status = unix_convert(conn, fname, False, NULL, &sbuf);
 		if (!NT_STATUS_IS_OK(status)) {
 			return ERROR_NT(status);
@@ -5417,6 +5423,7 @@
 			}
 			status = smb_set_file_unix_hlink(conn,
 						inbuf,
+						outbuf,
 						pdata,
 						total_data,
 						fname);



More information about the samba-cvs mailing list