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>
Wed, 10 Mar 2010 12:21:42 +0000 (13:21 +0100)
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>
source3/smbd/service.c

index e63e83ba7d7a5442cb4fb5d3c4e96f34b5d8b1de..76dcd22b269e03d9e2ac36810af42ca57251a058 100644 (file)
@@ -187,8 +187,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);
        }