]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: smbd: always set vuid in check_user_ok()
authorRalph Boehme <slow@samba.org>
Thu, 22 Mar 2018 07:03:58 +0000 (08:03 +0100)
committerKarolin Seeger <kseeger@samba.org>
Mon, 13 Aug 2018 10:56:32 +0000 (12:56 +0200)
A SMB session reauth will have invalidated conn->vuid via
conn_clear_vuid_caches().

Ensure conn->vuid always has the vuid of the current user in
check_user_ok().

Bug: https://bugzilla.samba.org/show_bug.cgi?id=13351

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Thu Mar 22 18:26:04 CET 2018 on sn-devel-144

(cherry picked from commit 42d6dd2f30b6c3b3176bd1f378422a2eb62b1008)

source3/smbd/uid.c

index 6eb53920abf107946060a329796c251b57a04ab4..b24ae3cc3b07da1ce5a2dc75be45d425cc4aba46 100644 (file)
@@ -202,6 +202,7 @@ static bool check_user_ok(connection_struct *conn,
                        conn->session_info = ent->session_info;
                        conn->read_only = ent->read_only;
                        conn->share_access = ent->share_access;
+                       conn->vuid = ent->vuid;
                        return(True);
                }
        }
@@ -250,6 +251,7 @@ static bool check_user_ok(connection_struct *conn,
        ent->share_access = share_access;
        free_conn_session_info_if_unused(conn);
        conn->session_info = ent->session_info;
+       conn->vuid = ent->vuid;
        if (vuid == UID_FIELD_INVALID) {
                /*
                 * Not strictly needed, just make it really