lib:util: Log mkdir error on correct debug levels
authorAndreas Schneider <asn@samba.org>
Mon, 27 Jan 2020 13:58:10 +0000 (14:58 +0100)
committerGünther Deschner <gd@samba.org>
Mon, 27 Jan 2020 15:55:24 +0000 (15:55 +0000)
For smbd we want an error and for smbclient we only want it in NOTICE
debug level.
The default log level of smbclient is log level 1 so we need notice to
not spam the user.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14253

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Mon Jan 27 15:55:24 UTC 2020 on sn-devel-184

lib/util/util.c

index 3bdeded5c1b6e29095f04ddfacea27235ac4fae8..0d9ffe5cb7b61bb897ac686845ace2d893cc1117 100644 (file)
@@ -353,9 +353,12 @@ _PUBLIC_ bool directory_create_or_exist(const char *dname,
        old_umask = umask(0);
        ret = mkdir(dname, dir_perms);
        if (ret == -1 && errno != EEXIST) {
-               DBG_WARNING("mkdir failed on directory %s: %s\n",
+               int dbg_level = geteuid() == 0 ? DBGLVL_ERR : DBGLVL_NOTICE;
+
+               DBG_PREFIX(dbg_level,
+                          ("mkdir failed on directory %s: %s\n",
                            dname,
-                           strerror(errno));
+                           strerror(errno)));
                umask(old_umask);
                return false;
        }