Remove some references to get_current_username() and current_user_info
authorVolker Lendecke <vl@samba.org>
Sun, 11 May 2008 09:26:33 +0000 (11:26 +0200)
committerVolker Lendecke <vl@samba.org>
Sun, 25 May 2008 09:43:57 +0000 (11:43 +0200)
source/lib/afs.c
source/modules/vfs_expand_msdfs.c
source/modules/vfs_full_audit.c
source/modules/vfs_recycle.c
source/smbd/lanman.c
source/smbd/msdfs.c
source/smbd/service.c

index c4569d97bbfcf12ec8ce1635812cca1a555414e9..7193f0e46d500cdd5c8f67a05a0ad2102f09279e 100644 (file)
@@ -213,8 +213,6 @@ char *afs_createtoken_str(const char *username, const char *cell)
 
 bool afs_login(connection_struct *conn)
 {
-       extern userdom_struct current_user_info;
-       extern struct current_user current_user;
        DATA_BLOB ticket;
        char *afs_username = NULL;
        char *cell = NULL;
@@ -234,14 +232,14 @@ bool afs_login(connection_struct *conn)
        afs_username = talloc_sub_advanced(ctx,
                                SNUM(conn), conn->user,
                                conn->connectpath, conn->gid,
-                               get_current_username(),
-                               current_user_info.domain,
+                               conn->server_info->sanitized_username,
+                               pdb_get_domain(conn->server_info->sam_account),
                                afs_username);
        if (!afs_username) {
                return false;
        }
 
-       user_sid = &current_user.nt_user_token->user_sids[0];
+       user_sid = &conn->server_info->ptok->user_sids[0];
        afs_username = talloc_string_sub(talloc_tos(),
                                        afs_username,
                                        "%s",
index 133c5eb28b710a520f6ba88cfcf4197fdc60f00b..9b85ad2dda486a0b935cb185738a9244f48e0b74 100644 (file)
@@ -148,7 +148,7 @@ static char *expand_msdfs_target(TALLOC_CTX *ctx,
                                conn->server_info->unix_name,
                                conn->connectpath,
                                conn->server_info->gid,
-                               get_current_username(),
+                               conn->server_info->sanitized_username,
                                current_user_info.domain,
                                targethost);
 
index 31069c16697258a253fbe20c129f925cdf0d24b4..8718dbd8862e13eb9a92f91f8a7b533022c3fc31 100644 (file)
@@ -59,8 +59,6 @@
 
 #include "includes.h"
 
-extern userdom_struct current_user_info;
-
 static int vfs_full_audit_debug_level = DBGC_VFS;
 
 struct vfs_full_audit_private_data {
@@ -697,8 +695,8 @@ static char *audit_prefix(TALLOC_CTX *ctx, connection_struct *conn)
                        conn->server_info->unix_name,
                        conn->connectpath,
                        conn->server_info->gid,
-                       get_current_username(),
-                       current_user_info.domain,
+                       conn->server_info->sanitized_username,
+                       pdb_get_domain(conn->server_info->sam_account),
                        prefix);
 }
 
index abfae78b728d15535419134b0f010a4f388d5fdb..e6028cebdda14a3cffe2d1a94a2933bcff643ad9 100644 (file)
@@ -435,7 +435,7 @@ static int recycle_unlink(vfs_handle_struct *handle, const char *file_name)
                                        conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
-                                       get_current_username(),
+                                       conn->server_info->sanitized_username,
                                        current_user_info.domain,
                                        recycle_repository(handle));
        ALLOC_CHECK(repository, done);
index fce58d069b0fcf15a989ef2887425fb50fa3ed5c..31d4a398421b0e3221aa909b2a83bc9534fdd6a2 100644 (file)
@@ -103,7 +103,7 @@ static int CopyExpanded(connection_struct *conn,
                                conn->server_info->unix_name,
                                conn->connectpath,
                                conn->server_info->gid,
-                               get_current_username(),
+                               conn->server_info->sanitized_username,
                                pdb_get_domain(conn->server_info->sam_account),
                                buf);
        if (!buf) {
@@ -154,7 +154,7 @@ static int StrlenExpanded(connection_struct *conn, int snum, char *s)
                                conn->server_info->unix_name,
                                conn->connectpath,
                                conn->server_info->gid,
-                               get_current_username(),
+                               conn->server_info->sanitized_username,
                                pdb_get_domain(conn->server_info->sam_account),
                                buf);
        if (!buf) {
@@ -184,7 +184,7 @@ static char *Expand(connection_struct *conn, int snum, char *s)
                                conn->server_info->unix_name,
                                conn->connectpath,
                                conn->server_info->gid,
-                               get_current_username(),
+                               conn->server_info->sanitized_username,
                                pdb_get_domain(conn->server_info->sam_account),
                                buf);
 }
@@ -3010,7 +3010,7 @@ static bool api_RNetServerGetInfo(connection_struct *conn,uint16 vuid,
                                conn->server_info->unix_name,
                                conn->connectpath,
                                conn->server_info->gid,
-                               get_current_username(),
+                               conn->server_info->sanitized_username,
                                pdb_get_domain(conn->server_info->sam_account),
                                comment);
                        if (comment) {
index e4760ec4619ec7379ef4244ee3f97bfa115a3de4..de57d8def2689c7f47a9e69cffa52c1e68c7120f 100644 (file)
@@ -672,6 +672,17 @@ static NTSTATUS dfs_redirect(TALLOC_CTX *ctx,
                return NT_STATUS_OK;
        }
 
+       if (!( strequal(pdp->servicename, lp_servicename(SNUM(conn)))
+                       || (strequal(pdp->servicename, HOMES_NAME)
+                       && strequal(lp_servicename(SNUM(conn)),
+                               conn->server_info->sanitized_username) )) ) {
+
+               /* The given sharename doesn't match this connection. */
+               TALLOC_FREE(pdp);
+
+               return NT_STATUS_OBJECT_PATH_NOT_FOUND;
+       }
+
        status = dfs_path_lookup(ctx, conn, path_in, pdp,
                        search_wcard_flag, NULL, NULL);
        if (!NT_STATUS_IS_OK(status)) {
index 4092928de13d81465dd1bdad1e01568eb76e1a90..fbce22e975aba7a7c53d582b2a4746acf8a0dcd3 100644 (file)
@@ -840,8 +840,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
                                        conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
-                                       get_current_username(),
-                                       current_user_info.domain,
+                                       conn->server_info->sanitized_username,
+                                       pdb_get_domain(conn->server_info->sam_account),
                                        lp_pathname(snum));
                if (!s) {
                        conn_free(conn);
@@ -962,8 +962,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
                                        conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
-                                       get_current_username(),
-                                       current_user_info.domain,
+                                       conn->server_info->sanitized_username,
+                                       pdb_get_domain(conn->server_info->sam_account),
                                        lp_rootpreexec(snum));
                DEBUG(5,("cmd=%s\n",cmd));
                ret = smbrun(cmd,NULL);
@@ -1001,8 +1001,8 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
                                        conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
-                                       get_current_username(),
-                                       current_user_info.domain,
+                                       conn->server_info->sanitized_username,
+                                       pdb_get_domain(conn->server_info->sam_account),
                                        lp_preexec(snum));
                ret = smbrun(cmd,NULL);
                TALLOC_FREE(cmd);
@@ -1324,8 +1324,8 @@ void close_cnum(connection_struct *conn, uint16 vuid)
                                        conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
-                                       get_current_username(),
-                                       current_user_info.domain,
+                                       conn->server_info->sanitized_username,
+                                       pdb_get_domain(conn->server_info->sam_account),
                                        lp_postexec(SNUM(conn)));
                smbrun(cmd,NULL);
                TALLOC_FREE(cmd);
@@ -1340,8 +1340,8 @@ void close_cnum(connection_struct *conn, uint16 vuid)
                                        conn->server_info->unix_name,
                                        conn->connectpath,
                                        conn->server_info->gid,
-                                       get_current_username(),
-                                       current_user_info.domain,
+                                       conn->server_info->sanitized_username,
+                                       pdb_get_domain(conn->server_info->sam_account),
                                        lp_rootpostexec(SNUM(conn)));
                smbrun(cmd,NULL);
                TALLOC_FREE(cmd);