do not log chdir with level 0 if reason is access denied
authorChristian Ambach <christian.ambach@de.ibm.com>
Tue, 21 Jul 2009 11:56:17 +0000 (13:56 +0200)
committerMichael Adam <obnox@samba.org>
Tue, 28 Jul 2009 12:04:35 +0000 (14:04 +0200)
this changes the level of logs caused by users trying to access shares
or subdirectories for which they do not have access to in the ACL

this can fill up the samba log even with log level 0 and is more an
expected kind of logs that IMHO should not be logged with such a high
level.

All other errors while chdir() will still be logged with level 0

Signed-off-by: Christian Ambach <christian.ambach@de.ibm.com>
Signed-off-by: Michael Adam <obnox@samba.org>
source/smbd/service.c

index f463e456245047d012fcbd3e6561dac6a03fdc54..ac49f25d13719d10a26d60a0a1323fb73434dc95 100644 (file)
@@ -183,8 +183,8 @@ bool set_current_service(connection_struct *conn, uint16 flags, bool do_chdir)
        if (do_chdir &&
            vfs_ChDir(conn,conn->connectpath) != 0 &&
            vfs_ChDir(conn,conn->origpath) != 0) {
-               DEBUG(0,("chdir (%s) failed\n",
-                        conn->connectpath));
+                DEBUG(((errno!=EACCES)?0:3),("chdir (%s) failed, reason: %s\n",
+                         conn->connectpath, strerror(errno)));
                return(False);
        }