From ce5063550ef45f7abb3ec2ec3cb52a190bb38af5 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Mon, 25 Jul 2016 09:11:08 +0200 Subject: [PATCH 36/44] Amend debug messages after failure of unlink MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some messages did not have errno or name of problematic file. There was also improper use of negative value. The function strerror was called with -1 instead of errno Reviewed-by: Petr Čech --- src/providers/ipa/ipa_init.c | 5 +++-- src/responder/common/responder_common.c | 3 ++- src/responder/secrets/local.c | 1 + src/sbus/sssd_dbus_server.c | 9 +++++---- src/tools/files.c | 3 ++- src/tools/tools_mc_util.c | 7 ++++--- src/util/util.c | 6 ++++-- 7 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/providers/ipa/ipa_init.c b/src/providers/ipa/ipa_init.c index 959cdb4a7c40c1be03dd1e7c66dee6e65ca76607..c31e195f48b2f369de1b78b38a0f3522d73d8dce 100644 --- a/src/providers/ipa/ipa_init.c +++ b/src/providers/ipa/ipa_init.c @@ -440,9 +440,10 @@ static void cleanup_ipa_preauth_indicator(void) ret = unlink(PAM_PREAUTH_INDICATOR); if (ret != EOK) { + ret = errno; DEBUG(SSSDBG_OP_FAILURE, - "Failed to remove preauth indicator file [%s].\n", - PAM_PREAUTH_INDICATOR); + "Failed to remove preauth indicator file [%s] %d [%s].\n", + PAM_PREAUTH_INDICATOR, ret, sss_strerror(ret)); } } diff --git a/src/responder/common/responder_common.c b/src/responder/common/responder_common.c index 02a64368cad60990436497865aa0c772a39cde5a..7f6264ae70e5073063b5cfcd73098eefad2ce653 100644 --- a/src/responder/common/responder_common.c +++ b/src/responder/common/responder_common.c @@ -629,7 +629,8 @@ int create_pipe_fd(const char *sock_name, int *_fd, mode_t umaskval) if (ret != 0 && errno != ENOENT) { ret = errno; DEBUG(SSSDBG_MINOR_FAILURE, - "Cannot remove old socket (errno=%d), bind might fail!\n", ret); + "Cannot remove old socket (errno=%d [%s]), bind might fail!\n", + ret, sss_strerror(ret)); } if (bind(fd, (struct sockaddr *)&addr, sizeof(addr)) == -1) { diff --git a/src/responder/secrets/local.c b/src/responder/secrets/local.c index 2a85ac06945322265fbd1012c9697728c37b77a0..470aec0e195a54dd2af2b929ff1b7a304331a214 100644 --- a/src/responder/secrets/local.c +++ b/src/responder/secrets/local.c @@ -627,6 +627,7 @@ int generate_master_key(const char *filename, size_t size) ret = unlink(filename); /* non-fatal failure */ if (ret != EOK) { + ret = errno; DEBUG(SSSDBG_MINOR_FAILURE, "Failed to remove file: %s - %d [%s]!\n", filename, ret, sss_strerror(ret)); diff --git a/src/sbus/sssd_dbus_server.c b/src/sbus/sssd_dbus_server.c index 0a1cace415b3514a6904e92a2d879538ce51a593..6cc4172a07118ff99bb6f122c3a1de25cee18c8c 100644 --- a/src/sbus/sssd_dbus_server.c +++ b/src/sbus/sssd_dbus_server.c @@ -103,8 +103,9 @@ create_socket_symlink(const char *filename, const char *symlink_filename) ret = unlink(symlink_filename); if (ret != 0) { ret = errno; - DEBUG(SSSDBG_CRIT_FAILURE, "Cannot remove old symlink: [%d][%s].\n", - ret, strerror(ret)); + DEBUG(SSSDBG_CRIT_FAILURE, + "Cannot remove old symlink '%s': [%d][%s].\n", + symlink_filename, ret, strerror(ret)); return EIO; } errno = 0; @@ -351,8 +352,8 @@ done: if (tmp_ret != EOK) { tmp_ret = errno; DEBUG(SSSDBG_MINOR_FAILURE, - "Failed to remove symbolic link: %d [%s]!\n", - tmp_ret, sss_strerror(tmp_ret)); + "Failed to remove symbolic link '%s': %d [%s]!\n", + symlink_filename, tmp_ret, sss_strerror(tmp_ret)); } } talloc_free(tmp_ctx); diff --git a/src/tools/files.c b/src/tools/files.c index 5364f5c0dd53aad71452e18b8d7f1f04532132a4..8f1aa68beeb2676b56733f49550de170b404c789 100644 --- a/src/tools/files.c +++ b/src/tools/files.c @@ -225,7 +225,8 @@ static int remove_tree_with_ctx(TALLOC_CTX *mem_ctx, if (ret != 0) { ret = errno; DEBUG(SSSDBG_CRIT_FAILURE, - "Removing file failed: [%d][%s]\n", ret, strerror(ret)); + "Removing file failed '%s': [%d][%s]\n", + result->d_name, ret, strerror(ret)); goto fail; } } diff --git a/src/tools/tools_mc_util.c b/src/tools/tools_mc_util.c index ce899eb3c674afe8271be526dc83aa909cbecf89..2516a1981ddd965d4cae8c469ed79aaef8fa7193 100644 --- a/src/tools/tools_mc_util.c +++ b/src/tools/tools_mc_util.c @@ -117,10 +117,11 @@ done: if (ret == EOK) { pret = unlink(mc_filename); if (pret == -1) { + pret = errno; DEBUG(SSSDBG_MINOR_FAILURE, - "Failed to unlink file %s. " - "Will be unlinked later by sssd_nss.\n", - mc_filename); + "Failed to unlink file %s, %d [%s]. " + "Will be unlinked later by sssd_nss.\n", + mc_filename, pret, strerror(pret)); } } } diff --git a/src/util/util.c b/src/util/util.c index 89abfe734873161008dc9a7a42e7a87364f8074a..d4878bfaf4f0e92672756f12137d79ec65ef48f6 100644 --- a/src/util/util.c +++ b/src/util/util.c @@ -990,13 +990,15 @@ static int unlink_dbg(const char *filename) ret = unlink(filename); if (ret != 0) { - if (errno == 2) { + ret = errno; + if (ret == ENOENT) { DEBUG(SSSDBG_TRACE_INTERNAL, "File already removed: [%s]\n", filename); return 0; } else { DEBUG(SSSDBG_CRIT_FAILURE, - "Cannot remove temporary file [%s]\n", filename); + "Cannot remove temporary file [%s] %d [%s]\n", + filename, ret, strerror(ret)); return -1; } } -- 2.4.11