svn commit: samba r17295 - in branches/SAMBA_3_0/source/smbd: .

jra at samba.org jra at samba.org
Fri Jul 28 23:09:13 GMT 2006


Author: jra
Date: 2006-07-28 23:09:12 +0000 (Fri, 28 Jul 2006)
New Revision: 17295

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

Log:
Back out the become_root_uid_only change on the POSIX
acls code. I'm pretty sure this was safe, but become_root()
does other things to the token stack that become_root_uid_only()
does not, and as we're going into a vfs redirectred function
I decided it wasn't safe for now.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/smbd/posix_acls.c
   branches/SAMBA_3_0/source/smbd/uid.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/posix_acls.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/posix_acls.c	2006-07-28 22:56:41 UTC (rev 17294)
+++ branches/SAMBA_3_0/source/smbd/posix_acls.c	2006-07-28 23:09:12 UTC (rev 17295)
@@ -2458,9 +2458,9 @@
 				DEBUG(5,("set_canon_ace_list: acl group control on and current user in file %s primary group.\n",
 					fsp->fsp_name ));
 
-				become_root_uid_only();
+				become_root();
 				sret = SMB_VFS_SYS_ACL_SET_FILE(conn, fsp->fsp_name, the_acl_type, the_acl);
-				unbecome_root_uid_only();
+				unbecome_root();
 				if (sret == 0) {
 					ret = True;	
 				}
@@ -2489,9 +2489,9 @@
 				DEBUG(5,("set_canon_ace_list: acl group control on and current user in file %s primary group.\n",
 					fsp->fsp_name ));
 
-				become_root_uid_only();
+				become_root();
 				sret = SMB_VFS_SYS_ACL_SET_FD(fsp, fsp->fh->fd, the_acl);
-				unbecome_root_uid_only();
+				unbecome_root();
 				if (sret == 0) {
 					ret = True;
 				}
@@ -3018,10 +3018,10 @@
 		/* Case (3) */
 		     ( has_restore_priv ) ) {
 
-			become_root_uid_only();
+			become_root();
 			/* Keep the current file gid the same - take ownership doesn't imply group change. */
 			ret = SMB_VFS_CHOWN(conn, fname, uid, (gid_t)-1);
-			unbecome_root_uid_only();
+			unbecome_root();
 			return ret;
 		}
 	}
@@ -3045,10 +3045,10 @@
 	*/
 	uid = current_user.ut.uid;
 
-	become_root_uid_only();
+	become_root();
 	/* Keep the current file gid the same. */
 	ret = SMB_VFS_FCHOWN(fsp, fsp->fh->fd, uid, (gid_t)-1);
-	unbecome_root_uid_only();
+	unbecome_root();
 
 	close_file_fchmod(fsp);
 
@@ -3226,9 +3226,9 @@
 								"current user in file %s primary group. Override delete_def_acl\n",
 								fsp->fsp_name ));
 
-							become_root_uid_only();
+							become_root();
 							sret = SMB_VFS_SYS_ACL_DELETE_DEF_FILE(conn, fsp->fsp_name);
-							unbecome_root_uid_only();
+							unbecome_root();
 						}
 
 						if (sret == -1) {
@@ -3273,9 +3273,9 @@
 								"current user in file %s primary group. Override chmod\n",
 								fsp->fsp_name ));
 
-							become_root_uid_only();
+							become_root();
 							sret = SMB_VFS_CHMOD(conn,fsp->fsp_name, posix_perms);
-							unbecome_root_uid_only();
+							unbecome_root();
 						}
 
 						if (sret == -1) {

Modified: branches/SAMBA_3_0/source/smbd/uid.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/uid.c	2006-07-28 22:56:41 UTC (rev 17294)
+++ branches/SAMBA_3_0/source/smbd/uid.c	2006-07-28 23:09:12 UTC (rev 17295)
@@ -420,4 +420,3 @@
 	pop_conn_ctx();
 	return True;
 }
-



More information about the samba-cvs mailing list