The branch, v3-6-test has been updated
       via  3650b38 Fix bug #7080 - Quota only shown when logged as root.
      from  eb444c6 s3-libndr: add ../librpc/ndr/libndr.h include in some 
places.

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


- Log -----------------------------------------------------------------
commit 3650b386ccdaa65e8c8e8db719c16616ead8ec43
Author: Jeremy Allison <[email protected]>
Date:   Tue Apr 5 11:24:39 2011 -0700

    Fix bug #7080 - Quota only shown when logged as root.
    
    Remove the final incorrect uses of conn->session_info->utok.uid.
    When we're in the "admin users" list, then this value is not set
    to zero.
    
    Inspired by the comment on this bug by Dmitry Butskoy <[email protected]>.
    
    I'll create a different fix for 3.5.x.
    
    Jeremy.
    
    Autobuild-User: Jeremy Allison <[email protected]>
    Autobuild-Date: Tue Apr  5 21:53:59 CEST 2011 on sn-devel-104
    (cherry picked from commit b6a30be70266c07733ddfa2ae08d127e08560868)

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

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


Changeset truncated at 500 lines:

diff --git a/source3/modules/onefs_open.c b/source3/modules/onefs_open.c
index 19b2ea0..80f799c 100644
--- a/source3/modules/onefs_open.c
+++ b/source3/modules/onefs_open.c
@@ -1310,7 +1310,7 @@ NTSTATUS onefs_open_file_ntcreate(connection_struct *conn,
                new_file_created = True;
        }
 
-       set_share_mode(lck, fsp, conn->session_info->utok.uid, 0,
+       set_share_mode(lck, fsp, get_current_uid(conn), 0,
                       fsp->oplock_type);
 
        /* Handle strange delete on close create semantics. */
@@ -1666,7 +1666,7 @@ static NTSTATUS onefs_open_directory(connection_struct 
*conn,
                return NT_STATUS_DELETE_PENDING;
        }
 
-       set_share_mode(lck, fsp, conn->session_info->utok.uid, 0, NO_OPLOCK);
+       set_share_mode(lck, fsp, get_current_uid(conn), 0, NO_OPLOCK);
 
        /*
         * For directories the delete on close bit at open time seems
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index a7da776..2b54018 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -2512,7 +2512,7 @@ static void 
call_nt_transact_get_user_quota(connection_struct *conn,
        ZERO_STRUCT(qt);
 
        /* access check */
-       if (conn->session_info->utok.uid != 0) {
+       if (get_current_uid(conn) != 0) {
                DEBUG(1,("get_user_quota: access_denied service [%s] user "
                         "[%s]\n", lp_servicename(SNUM(conn)),
                         conn->session_info->unix_name));
@@ -2782,7 +2782,7 @@ static void 
call_nt_transact_set_user_quota(connection_struct *conn,
        ZERO_STRUCT(qt);
 
        /* access check */
-       if (conn->session_info->utok.uid != 0) {
+       if (get_current_uid(conn) != 0) {
                DEBUG(1,("set_user_quota: access_denied service [%s] user "
                         "[%s]\n", lp_servicename(SNUM(conn)),
                         conn->session_info->unix_name));
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 4890de3..fe06538 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -3203,7 +3203,7 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", 
(unsigned int)bsize, (unsigned
                        fsp.fnum = -1;
 
                        /* access check */
-                       if (conn->session_info->utok.uid != sec_initial_uid()) {
+                       if (get_current_uid(conn) != 0) {
                                DEBUG(0,("set_user_quota: access_denied "
                                         "service [%s] user [%s]\n",
                                         lp_servicename(SNUM(conn)),
@@ -3698,8 +3698,7 @@ cap_low = 0x%x, cap_high = 0x%x\n",
                                ZERO_STRUCT(quotas);
 
                                /* access check */
-                               if ((conn->session_info->utok.uid != 
sec_initial_uid())
-                                   ||!CAN_WRITE(conn)) {
+                               if ((get_current_uid(conn) != 0) || 
!CAN_WRITE(conn)) {
                                        DEBUG(0,("set_user_quota: access_denied 
service [%s] user [%s]\n",
                                                 lp_servicename(SNUM(conn)),
                                                 
conn->session_info->unix_name));


-- 
Samba Shared Repository

Reply via email to