[SCM] Samba Shared Repository - branch v3-5-test updated

Karolin Seeger kseeger at samba.org
Thu Apr 7 13:06:08 MDT 2011


The branch, v3-5-test has been updated
       via  6d360c9 Fix bug #7080 - Quota only shown when logged as root.
      from  0d929df Fix for servers that don't put a path separator at the end of the service.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test


- Log -----------------------------------------------------------------
commit 6d360c9e5db64fbd96d353013b7836d771935b6d
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Apr 5 14:15:56 2011 -0700

    Fix bug #7080 - Quota only shown when logged as root.
    
    Ensure we also check conn->admin_user when rejecting non-root access.

-----------------------------------------------------------------------

Summary of changes:
 source3/smbd/fake_file.c |    2 +-
 source3/smbd/nttrans.c   |    4 ++--
 source3/smbd/trans2.c    |    5 +++--
 3 files changed, 6 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/fake_file.c b/source3/smbd/fake_file.c
index 6898793..e0256f2 100644
--- a/source3/smbd/fake_file.c
+++ b/source3/smbd/fake_file.c
@@ -126,7 +126,7 @@ NTSTATUS open_fake_file(struct smb_request *req, connection_struct *conn,
 	NTSTATUS status;
 
 	/* access check */
-	if (conn->server_info->utok.uid != 0) {
+	if (conn->server_info->utok.uid != 0 && !conn->admin_user) {
 		DEBUG(3, ("open_fake_file_shared: access_denied to "
 			  "service[%s] file[%s] user[%s]\n",
 			  lp_servicename(SNUM(conn)),
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index 3ff192b..f82820c 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -2310,7 +2310,7 @@ static void call_nt_transact_get_user_quota(connection_struct *conn,
 	ZERO_STRUCT(qt);
 
 	/* access check */
-	if (conn->server_info->utok.uid != 0) {
+	if (conn->server_info->utok.uid != 0 && !conn->admin_user) {
 		DEBUG(1,("get_user_quota: access_denied service [%s] user "
 			 "[%s]\n", lp_servicename(SNUM(conn)),
 			 conn->server_info->unix_name));
@@ -2580,7 +2580,7 @@ static void call_nt_transact_set_user_quota(connection_struct *conn,
 	ZERO_STRUCT(qt);
 
 	/* access check */
-	if (conn->server_info->utok.uid != 0) {
+	if (conn->server_info->utok.uid != 0 && !conn->admin_user) {
 		DEBUG(1,("set_user_quota: access_denied service [%s] user "
 			 "[%s]\n", lp_servicename(SNUM(conn)),
 			 conn->server_info->unix_name));
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 84139da..1a171d8 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -3156,7 +3156,8 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)bsize, (unsigned
 			fsp.fnum = -1;
 
 			/* access check */
-			if (conn->server_info->utok.uid != sec_initial_uid()) {
+			if (conn->server_info->utok.uid != sec_initial_uid() &&
+					!conn->admin_user) {
 				DEBUG(0,("set_user_quota: access_denied "
 					 "service [%s] user [%s]\n",
 					 lp_servicename(SNUM(conn)),
@@ -3643,7 +3644,7 @@ cap_low = 0x%x, cap_high = 0x%x\n",
 				ZERO_STRUCT(quotas);
 
 				/* access check */
-				if ((conn->server_info->utok.uid != sec_initial_uid())
+				if (((conn->server_info->utok.uid != sec_initial_uid()) && !conn->admin_user)
 				    ||!CAN_WRITE(conn)) {
 					DEBUG(0,("set_user_quota: access_denied service [%s] user [%s]\n",
 						 lp_servicename(SNUM(conn)),


-- 
Samba Shared Repository


More information about the samba-cvs mailing list