summaryrefslogtreecommitdiff
path: root/source3/smbd/uid.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-05-11 00:25:27 +0200
committerVolker Lendecke <vl@samba.org>2008-05-11 00:25:27 +0200
commitaac9e7d1cafc7be5abdbc73a238b7585cdba4708 (patch)
tree8d61a62c88bd590646af4da3938d0db37793bbf7 /source3/smbd/uid.c
parent6b6bb484a8049c5acf88b94f9106e40d96bf56ae (diff)
downloadsamba-aac9e7d1cafc7be5abdbc73a238b7585cdba4708.tar.gz
samba-aac9e7d1cafc7be5abdbc73a238b7585cdba4708.tar.bz2
samba-aac9e7d1cafc7be5abdbc73a238b7585cdba4708.zip
With force user, we have the same base token for all vuids
(This used to be commit 0f19bc3f65bfc132aea1de1e76fcb4ee625a050f)
Diffstat (limited to 'source3/smbd/uid.c')
-rw-r--r--source3/smbd/uid.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source3/smbd/uid.c b/source3/smbd/uid.c
index 004e48a44f..310ad4d23a 100644
--- a/source3/smbd/uid.c
+++ b/source3/smbd/uid.c
@@ -109,7 +109,15 @@ static bool check_user_ok(connection_struct *conn, user_struct *vuser,int snum)
TALLOC_FREE(ent->server_info);
- ent->server_info = copy_serverinfo(conn, vuser->server_info);
+ /*
+ * If force_user was set, all server_info's are based on the same
+ * username-based faked one.
+ */
+
+ ent->server_info = copy_serverinfo(
+ conn,
+ conn->force_user ? conn->server_info : vuser->server_info);
+
if (ent->server_info == NULL) {
ent->vuid = UID_FIELD_INVALID;
return false;