Fixed security bug when 'force user' and 'user only' are set.
authorJeremy Allison <jra@samba.org>
Tue, 23 Dec 1997 11:30:58 +0000 (11:30 +0000)
committerJeremy Allison <jra@samba.org>
Tue, 23 Dec 1997 11:30:58 +0000 (11:30 +0000)
Reported by Brian McCauley <B.A.McCauley@bham.ac.uk>.
Jeremy.
(This used to be commit 00067800a25d6f5fe11e833a01d5a7a1e76dcc11)

source3/smbd/uid.c

index b36fa4df067336278dfc6c2605e9fe0fa478843d..46a2de4f176281feec1a66955c89acc7c44c20c0 100644 (file)
@@ -222,10 +222,13 @@ BOOL become_user(connection_struct *conn, int cnum, uint16 vuid)
 
   snum = conn->service;
 
+  if((vuser != NULL) && !check_user_ok(conn, vuser, snum))
+    return False;
+
   if (conn->force_user || 
       lp_security() == SEC_SHARE ||
-      !(vuser) || (vuser->guest) ||
-      !check_user_ok(conn, vuser, snum))
+      !(vuser) || (vuser->guest)
+     )
   {
     uid = conn->uid;
     gid = conn->gid;