Remove "user" from connection_struct
authorVolker Lendecke <vl@samba.org>
Thu, 8 May 2008 14:06:42 +0000 (16:06 +0200)
committerVolker Lendecke <vl@samba.org>
Sat, 10 May 2008 09:17:01 +0000 (11:17 +0200)
(This used to be commit 368454a27cb53a408ec416cbf37235b304592fb5)

14 files changed:
source3/include/smb.h
source3/lib/substitute.c
source3/modules/vfs_expand_msdfs.c
source3/modules/vfs_full_audit.c
source3/modules/vfs_recycle.c
source3/smbd/close.c
source3/smbd/conn.c
source3/smbd/fake_file.c
source3/smbd/lanman.c
source3/smbd/nttrans.c
source3/smbd/open.c
source3/smbd/service.c
source3/smbd/trans2.c
source3/torture/vfstest.c

index 6ef45070aa75d617f872a334888f753b6a334200..1d6aba9b693bce5c6097fe37343c431820100d71 100644 (file)
@@ -630,7 +630,6 @@ typedef struct connection_struct {
         */
        struct auth_serversupplied_info *server_info;
 
-       char *user; /* name of user who *opened* this connection */
        char client_address[INET6_ADDRSTRLEN]; /* String version of client IP address. */
 
        uint16 vuid; /* vuid of user who *opened* this connection, or UID_FIELD_INVALID */
index 5be5af663760628c4c2b84d73a863ec396e9faf5..17bcbcac9d8cf3fb613e1dace794975d01162711 100644 (file)
@@ -905,7 +905,7 @@ char *standard_sub_conn(TALLOC_CTX *ctx, connection_struct *conn, const char *st
 {
        return talloc_sub_advanced(ctx,
                                lp_servicename(SNUM(conn)),
-                               conn->user,
+                               conn->server_info->unix_name,
                                conn->connectpath,
                                conn->server_info->gid,
                                get_smb_user_name(),
index 62222c48ffbd1d265810527257a5fe1c24e1a115..133c5eb28b710a520f6ba88cfcf4197fdc60f00b 100644 (file)
@@ -145,7 +145,7 @@ static char *expand_msdfs_target(TALLOC_CTX *ctx,
 
        targethost = talloc_sub_advanced(ctx,
                                lp_servicename(SNUM(conn)),
-                               conn->user,
+                               conn->server_info->unix_name,
                                conn->connectpath,
                                conn->server_info->gid,
                                get_current_username(),
index 1b44e02375b0b40ec8c4f6f074c7447c7613a7b9..31069c16697258a253fbe20c129f925cdf0d24b4 100644 (file)
@@ -693,7 +693,8 @@ static char *audit_prefix(TALLOC_CTX *ctx, connection_struct *conn)
                return NULL;
        }
        return talloc_sub_advanced(ctx,
-                       lp_servicename(SNUM(conn)), conn->user,
+                       lp_servicename(SNUM(conn)),
+                       conn->server_info->unix_name,
                        conn->connectpath,
                        conn->server_info->gid,
                        get_current_username(),
index 27700367e640b58d81067e16448afc023f9ae7b9..abfae78b728d15535419134b0f010a4f388d5fdb 100644 (file)
@@ -432,7 +432,7 @@ static int recycle_unlink(vfs_handle_struct *handle, const char *file_name)
        int rc = -1;
 
        repository = talloc_sub_advanced(NULL, lp_servicename(SNUM(conn)),
-                                       conn->user,
+                                       conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
                                        get_current_username(),
index e27d5c44fa7650578d4794c8c8bfa7960477942e..df188bafe1d4afa03ae3500dc9df9cbc1c92fdc6 100644 (file)
@@ -581,7 +581,7 @@ static NTSTATUS close_normal_file(files_struct *fsp, enum file_close_type close_
        }
 
        DEBUG(2,("%s closed file %s (numopen=%d) %s\n",
-               conn->user,fsp->fsp_name,
+               conn->server_info->unix_name,fsp->fsp_name,
                conn->num_files_open,
                nt_errstr(status) ));
 
index ce3512c4ecb3d2a209fb19f1823223da77ce900b..e899af13194364d8e8097c59285c5807f9dbad4a 100644 (file)
@@ -151,7 +151,6 @@ find_again:
 
        num_open++;
 
-       string_set(&conn->user,"");
        string_set(&conn->dirpath,"");
        string_set(&conn->connectpath,"");
        string_set(&conn->origpath,"");
@@ -283,7 +282,6 @@ void conn_free_internal(connection_struct *conn)
        free_namearray(conn->veto_oplock_list);
        free_namearray(conn->aio_write_behind_list);
        
-       string_free(&conn->user);
        string_free(&conn->dirpath);
        string_free(&conn->connectpath);
        string_free(&conn->origpath);
index 31fe030f465e7c71987c337de0af6283926858ef..0a54c85cd05950e62ae6cdee9c284009b40ff1e4 100644 (file)
@@ -113,7 +113,8 @@ NTSTATUS open_fake_file(connection_struct *conn,
        if (current_user.ut.uid != 0) {
                DEBUG(3, ("open_fake_file_shared: access_denied to "
                          "service[%s] file[%s] user[%s]\n",
-                         lp_servicename(SNUM(conn)),fname,conn->user));
+                         lp_servicename(SNUM(conn)), fname,
+                         conn->server_info->unix_name));
                return NT_STATUS_ACCESS_DENIED;
 
        }
index 4309622b26396e47da8c68de729ebaf3a2c61cd5..413b916f7b79add00f797e7096c19c30467fafe6 100644 (file)
@@ -101,7 +101,7 @@ static int CopyExpanded(connection_struct *conn,
        }
        buf = talloc_sub_advanced(ctx,
                                lp_servicename(SNUM(conn)),
-                               conn->user,
+                               conn->server_info->unix_name,
                                conn->connectpath,
                                conn->server_info->gid,
                                get_current_username(),
@@ -152,7 +152,7 @@ static int StrlenExpanded(connection_struct *conn, int snum, char *s)
        }
        buf = talloc_sub_advanced(ctx,
                                lp_servicename(SNUM(conn)),
-                               conn->user,
+                               conn->server_info->unix_name,
                                conn->connectpath,
                                conn->server_info->gid,
                                get_current_username(),
@@ -182,7 +182,7 @@ static char *Expand(connection_struct *conn, int snum, char *s)
        }
        return talloc_sub_advanced(ctx,
                                lp_servicename(SNUM(conn)),
-                               conn->user,
+                               conn->server_info->unix_name,
                                conn->connectpath,
                                conn->server_info->gid,
                                get_current_username(),
@@ -3000,7 +3000,7 @@ static bool api_RNetServerGetInfo(connection_struct *conn,uint16 vuid,
                        SIVAL(p,6,PTR_DIFF(p2,*rdata));
                        comment = talloc_sub_advanced(ctx,
                                                lp_servicename(SNUM(conn)),
-                                               conn->user,
+                                               conn->server_info->unix_name,
                                                conn->connectpath,
                                                conn->server_info->gid,
                                                get_current_username(),
index bd34b5a361399ee9fc0161220f5d91f512561f20..b5546ea1e1962392289696b0ed829a2874f3f65c 100644 (file)
@@ -2037,8 +2037,9 @@ static void call_nt_transact_get_user_quota(connection_struct *conn,
 
        /* access check */
        if (current_user.ut.uid != 0) {
-               DEBUG(1,("get_user_quota: access_denied service [%s] user [%s]\n",
-                       lp_servicename(SNUM(conn)),conn->user));
+               DEBUG(1,("get_user_quota: access_denied service [%s] user "
+                        "[%s]\n", lp_servicename(SNUM(conn)),
+                        conn->server_info->unix_name));
                reply_doserror(req, ERRDOS, ERRnoaccess);
                return;
        }
@@ -2303,8 +2304,9 @@ static void call_nt_transact_set_user_quota(connection_struct *conn,
 
        /* access check */
        if (current_user.ut.uid != 0) {
-               DEBUG(1,("set_user_quota: access_denied service [%s] user [%s]\n",
-                       lp_servicename(SNUM(conn)),conn->user));
+               DEBUG(1,("set_user_quota: access_denied service [%s] user "
+                        "[%s]\n", lp_servicename(SNUM(conn)),
+                        conn->server_info->unix_name));
                reply_doserror(req, ERRDOS, ERRnoaccess);
                return;
        }
index 5c860f891de7dff781059522ac30dd69dee90289..546128c0e5788562781543081daf73ecce661c6e 100644 (file)
@@ -400,8 +400,9 @@ static NTSTATUS open_file(files_struct *fsp,
        fsp->wcp = NULL; /* Write cache pointer. */
 
        DEBUG(2,("%s opened file %s read=%s write=%s (numopen=%d)\n",
-                *current_user_info.smb_name ?
-                current_user_info.smb_name : conn->user,fsp->fsp_name,
+                *current_user_info.smb_name
+                ? current_user_info.smb_name : conn->server_info->unix_name,
+                fsp->fsp_name,
                 BOOLSTR(fsp->can_read), BOOLSTR(fsp->can_write),
                 conn->num_files_open + 1));
 
index fd072135e8c31e9f00b97984c8abb404b8b25ed1..c90d4d16bc273d2b9e97b7af2cf614cf15d44323 100644 (file)
@@ -820,7 +820,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
        if (*lp_force_group(snum)) {
 
                status = find_forced_group(
-                       conn->force_user, snum, conn->user,
+                       conn->force_user, snum, conn->server_info->unix_name,
                        &conn->server_info->ptok->user_sids[1],
                        &conn->server_info->gid);
 
@@ -833,11 +833,10 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
 
        conn->vuid = (vuser != NULL) ? vuser->vuid : UID_FIELD_INVALID;
 
-       string_set(&conn->user, conn->server_info->unix_name);
-
        {
                char *s = talloc_sub_advanced(talloc_tos(),
-                                       lp_servicename(SNUM(conn)), conn->user,
+                                       lp_servicename(SNUM(conn)),
+                                       conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
                                        get_current_username(),
@@ -958,7 +957,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
        /* execute any "root preexec = " line */
        if (*lp_rootpreexec(snum)) {
                char *cmd = talloc_sub_advanced(talloc_tos(),
-                                       lp_servicename(SNUM(conn)), conn->user,
+                                       lp_servicename(SNUM(conn)),
+                                       conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
                                        get_current_username(),
@@ -996,7 +996,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
        /* execute any "preexec = " line */
        if (*lp_preexec(snum)) {
                char *cmd = talloc_sub_advanced(talloc_tos(),
-                                       lp_servicename(SNUM(conn)), conn->user,
+                                       lp_servicename(SNUM(conn)),
+                                       conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
                                        get_current_username(),
@@ -1029,7 +1030,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
           to allow any filesystems needing user credentials to initialize
           themselves. */
 
-       if (SMB_VFS_CONNECT(conn, lp_servicename(snum), conn->user) < 0) {
+       if (SMB_VFS_CONNECT(conn, lp_servicename(snum),
+                           conn->server_info->unix_name) < 0) {
                DEBUG(0,("make_connection: VFS make connection failed!\n"));
                *pstatus = NT_STATUS_UNSUCCESSFUL;
                goto err_root_exit;
@@ -1096,7 +1098,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
                         conn->client_address );
                dbgtext( "%s", srv_is_signing_active() ? "signed " : "");
                dbgtext( "connect to service %s ", lp_servicename(snum) );
-               dbgtext( "initially as user %s ", conn->user );
+               dbgtext( "initially as user %s ",
+                        conn->server_info->unix_name );
                dbgtext( "(uid=%d, gid=%d) ", (int)geteuid(), (int)getegid() );
                dbgtext( "(pid %d)\n", (int)sys_getpid() );
        }
@@ -1316,7 +1319,8 @@ void close_cnum(connection_struct *conn, uint16 vuid)
        if (*lp_postexec(SNUM(conn)) && 
            change_to_user(conn, vuid))  {
                char *cmd = talloc_sub_advanced(talloc_tos(),
-                                       lp_servicename(SNUM(conn)), conn->user,
+                                       lp_servicename(SNUM(conn)),
+                                       conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
                                        get_current_username(),
@@ -1331,7 +1335,8 @@ void close_cnum(connection_struct *conn, uint16 vuid)
        /* execute any "root postexec = " line */
        if (*lp_rootpostexec(SNUM(conn)))  {
                char *cmd = talloc_sub_advanced(talloc_tos(),
-                                       lp_servicename(SNUM(conn)), conn->user,
+                                       lp_servicename(SNUM(conn)),
+                                       conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
                                        get_current_username(),
index 4d60eecda9ec3f24445401845e9ccccf9884c013..d5435533f907a757cc62e5989f7a5e7a251086a1 100644 (file)
@@ -2826,8 +2826,10 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)bsize, (unsigned
                        
                        /* access check */
                        if (current_user.ut.uid != 0) {
-                               DEBUG(0,("set_user_quota: access_denied service [%s] user [%s]\n",
-                                       lp_servicename(SNUM(conn)),conn->user));
+                               DEBUG(0,("set_user_quota: access_denied "
+                                        "service [%s] user [%s]\n",
+                                        lp_servicename(SNUM(conn)),
+                                        conn->server_info->unix_name));
                                reply_doserror(req, ERRDOS, ERRnoaccess);
                                return;
                        }
@@ -3267,7 +3269,8 @@ cap_low = 0x%x, cap_high = 0x%x\n",
                                /* access check */
                                if ((current_user.ut.uid != 0)||!CAN_WRITE(conn)) {
                                        DEBUG(0,("set_user_quota: access_denied service [%s] user [%s]\n",
-                                               lp_servicename(SNUM(conn)),conn->user));
+                                                lp_servicename(SNUM(conn)),
+                                                conn->server_info->unix_name));
                                        reply_doserror(req, ERRSRV, ERRaccess);
                                        return;
                                }
index 7e4ee624a120526779e53234bf954568725893e6..56e27eec1dc388d558ff83335cf38ea76669b8d0 100644 (file)
@@ -563,7 +563,6 @@ int main(int argc, char *argv[])
        sec_init();
        conn_init();
        vfs.conn = conn_new();
-       string_set(&vfs.conn->user,"vfstest");
        for (i=0; i < 1024; i++)
                vfs.files[i] = NULL;