|
Matej Habrnal |
0b651c |
From 2d29ecb0067dad7f5abf7b469dde84484b1a79ed Mon Sep 17 00:00:00 2001
|
|
Matej Habrnal |
0b651c |
From: Jakub Filak <jfilak@redhat.com>
|
|
Matej Habrnal |
0b651c |
Date: Wed, 27 Aug 2014 08:45:24 +0200
|
|
Matej Habrnal |
0b651c |
Subject: [PATCH] a-a-s-p-data: reduce amount of error messages
|
|
Matej Habrnal |
0b651c |
|
|
Matej Habrnal |
0b651c |
Read each GPG key only once. The GPG key dirs may contain many symlinks
|
|
Matej Habrnal |
0b651c |
and if their target cannot be read, then we print an error message for
|
|
Matej Habrnal |
0b651c |
every symlink pointing to the unreadable file. What's worse, the error
|
|
Matej Habrnal |
0b651c |
messages show a path to the target, so users see several identical
|
|
Matej Habrnal |
0b651c |
messages in the system logs.
|
|
Matej Habrnal |
0b651c |
|
|
Matej Habrnal |
0b651c |
Related to rhbz#1133674
|
|
Matej Habrnal |
0b651c |
|
|
Matej Habrnal |
0b651c |
Signed-off-by: Jakub Filak <jfilak@redhat.com>
|
|
Matej Habrnal |
0b651c |
---
|
|
Matej Habrnal |
0b651c |
src/daemon/abrt-action-save-package-data.c | 16 +++++++++++-----
|
|
Matej Habrnal |
0b651c |
1 file changed, 11 insertions(+), 5 deletions(-)
|
|
Matej Habrnal |
0b651c |
|
|
Matej Habrnal |
0b651c |
diff --git a/src/daemon/abrt-action-save-package-data.c b/src/daemon/abrt-action-save-package-data.c
|
|
Matej Habrnal |
0b651c |
index 6dbcfc2..cc86327 100644
|
|
Matej Habrnal |
0b651c |
--- a/src/daemon/abrt-action-save-package-data.c
|
|
Matej Habrnal |
0b651c |
+++ b/src/daemon/abrt-action-save-package-data.c
|
|
Matej Habrnal |
0b651c |
@@ -91,16 +91,22 @@ static void load_gpg_keys(void)
|
|
Matej Habrnal |
0b651c |
if (strcmp(gpg_keys_dir, "") != 0)
|
|
Matej Habrnal |
0b651c |
{
|
|
Matej Habrnal |
0b651c |
log_debug("Reading gpg keys from '%s'", gpg_keys_dir);
|
|
Matej Habrnal |
0b651c |
+ GHashTable *done_set = g_hash_table_new(g_str_hash, g_str_equal);
|
|
Matej Habrnal |
0b651c |
GList *gpg_files = get_file_list(gpg_keys_dir, NULL /* we don't care about the file ext */);
|
|
Matej Habrnal |
0b651c |
- GList *tmp_gpp_files = gpg_files;
|
|
Matej Habrnal |
0b651c |
- while (tmp_gpp_files)
|
|
Matej Habrnal |
0b651c |
+ for (GList *iter = gpg_files; iter; iter = g_list_next(iter))
|
|
Matej Habrnal |
0b651c |
{
|
|
Matej Habrnal |
0b651c |
- log_debug("Loading gpg key '%s'", fo_get_fullpath((file_obj_t *)tmp_gpp_files->data));
|
|
Matej Habrnal |
0b651c |
- settings_setOpenGPGPublicKeys = g_list_append(settings_setOpenGPGPublicKeys, xstrdup(fo_get_fullpath((file_obj_t *)(tmp_gpp_files->data)) ));
|
|
Matej Habrnal |
0b651c |
- tmp_gpp_files = g_list_next(tmp_gpp_files);
|
|
Matej Habrnal |
0b651c |
+ const char *key_path = fo_get_fullpath((file_obj_t *)iter->data);
|
|
Matej Habrnal |
0b651c |
+
|
|
Matej Habrnal |
0b651c |
+ if (g_hash_table_contains(done_set, key_path))
|
|
Matej Habrnal |
0b651c |
+ continue;
|
|
Matej Habrnal |
0b651c |
+
|
|
Matej Habrnal |
0b651c |
+ g_hash_table_insert(done_set, (gpointer)key_path, NULL);
|
|
Matej Habrnal |
0b651c |
+ log_debug("Loading gpg key '%s'", key_path);
|
|
Matej Habrnal |
0b651c |
+ settings_setOpenGPGPublicKeys = g_list_append(settings_setOpenGPGPublicKeys, xstrdup(key_path));
|
|
Matej Habrnal |
0b651c |
}
|
|
Matej Habrnal |
0b651c |
|
|
Matej Habrnal |
0b651c |
g_list_free_full(gpg_files, (GDestroyNotify)free_file_obj);
|
|
Matej Habrnal |
0b651c |
+ g_hash_table_destroy(done_set);
|
|
Matej Habrnal |
0b651c |
}
|
|
Matej Habrnal |
0b651c |
}
|
|
Matej Habrnal |
0b651c |
|
|
Matej Habrnal |
0b651c |
--
|
|
Matej Habrnal |
0b651c |
1.9.3
|
|
Matej Habrnal |
0b651c |
|