From 61650c58f26f4a473e29007f50176a45ab8a4f25 Mon Sep 17 00:00:00 2001 From: Jakub Filak Date: Nov 23 2015 16:52:30 +0000 Subject: New upstream release 2.7.1 CVE-2015-5273, CVE-2015-5287 Resolves: #1262252, #1284557 --- diff --git a/.gitignore b/.gitignore index 7ac1a98..eecca2f 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ abrt-1.1.13.tar.gz /abrt-2.6.1.tar.gz /abrt-2.6.2.tar.gz /abrt-2.7.0.tar.gz +/abrt-2.7.1.tar.gz diff --git a/0001-use-gettext-instead-of-lgettext-in-all-python-script.patch b/0001-use-gettext-instead-of-lgettext-in-all-python-script.patch deleted file mode 100644 index 4eeb7d4..0000000 --- a/0001-use-gettext-instead-of-lgettext-in-all-python-script.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 6cac02cec6f457e4ab4edca8cebe2cda8dc4061d Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Wed, 22 Jul 2015 15:22:31 +0200 -Subject: [PATCH] use gettext instead of lgettext in all python scripts - -This is related to the transition from Python2 to Python3. - -lgettext returns an array of bytes but we require string (because of Python3). -Without this patch the scripts exit with 'TypeError' exception ('must be str, -not bytes'). - -Related to rhbz#1245600 - -Signed-off-by: Matej Habrnal ---- - src/daemon/abrt-handle-upload.in | 2 +- - src/plugins/abrt-action-analyze-core.in | 2 +- - src/plugins/abrt-action-analyze-vmcore.in | 2 +- - src/plugins/abrt-action-check-oops-for-alt-component.in | 2 +- - src/plugins/abrt-action-check-oops-for-hw-error.in | 2 +- - src/plugins/abrt-action-install-debuginfo.in | 2 +- - src/plugins/abrt-action-perform-ccpp-analysis.in | 2 +- - src/plugins/abrt-action-ureport | 2 +- - src/plugins/abrt-gdb-exploitable | 2 +- - 9 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/src/daemon/abrt-handle-upload.in b/src/daemon/abrt-handle-upload.in -index dc630bc..3db6561 100755 ---- a/src/daemon/abrt-handle-upload.in -+++ b/src/daemon/abrt-handle-upload.in -@@ -18,7 +18,7 @@ GETTEXT_PROGNAME = "abrt" - import locale - import gettext - --_ = lambda x: gettext.lgettext(x) -+_ = lambda x: gettext.gettext(x) - - def init_gettext(): - try: -diff --git a/src/plugins/abrt-action-analyze-core.in b/src/plugins/abrt-action-analyze-core.in -index 486994a..448bdab 100644 ---- a/src/plugins/abrt-action-analyze-core.in -+++ b/src/plugins/abrt-action-analyze-core.in -@@ -12,7 +12,7 @@ GETTEXT_PROGNAME = "@PACKAGE@" - import locale - import gettext - --_ = lambda x: gettext.lgettext(x) -+_ = lambda x: gettext.gettext(x) - - - verbose = 0 -diff --git a/src/plugins/abrt-action-analyze-vmcore.in b/src/plugins/abrt-action-analyze-vmcore.in -index c3ae071..c91737f 100644 ---- a/src/plugins/abrt-action-analyze-vmcore.in -+++ b/src/plugins/abrt-action-analyze-vmcore.in -@@ -14,7 +14,7 @@ GETTEXT_PROGNAME = "abrt" - import locale - import gettext - --_ = lambda x: gettext.lgettext(x) -+_ = lambda x: gettext.gettext(x) - - def init_gettext(): - try: -diff --git a/src/plugins/abrt-action-check-oops-for-alt-component.in b/src/plugins/abrt-action-check-oops-for-alt-component.in -index 3dce42e..b5152c1 100644 ---- a/src/plugins/abrt-action-check-oops-for-alt-component.in -+++ b/src/plugins/abrt-action-check-oops-for-alt-component.in -@@ -9,7 +9,7 @@ import re - - GETTEXT_PROGNAME = "abrt" - --_ = gettext.lgettext -+_ = gettext.gettext - - tags = [ - "WARNING:", -diff --git a/src/plugins/abrt-action-check-oops-for-hw-error.in b/src/plugins/abrt-action-check-oops-for-hw-error.in -index ff8ff5d..400ed99 100644 ---- a/src/plugins/abrt-action-check-oops-for-hw-error.in -+++ b/src/plugins/abrt-action-check-oops-for-hw-error.in -@@ -9,7 +9,7 @@ import re - - GETTEXT_PROGNAME = "abrt" - --_ = gettext.lgettext -+_ = gettext.gettext - - def file_has_string(filename, string): - try: -diff --git a/src/plugins/abrt-action-install-debuginfo.in b/src/plugins/abrt-action-install-debuginfo.in -index ed453df..f70ebcd 100644 ---- a/src/plugins/abrt-action-install-debuginfo.in -+++ b/src/plugins/abrt-action-install-debuginfo.in -@@ -26,7 +26,7 @@ GETTEXT_PROGNAME = "abrt" - import locale - import gettext - --_ = lambda x: gettext.lgettext(x) -+_ = lambda x: gettext.gettext(x) - - def init_gettext(): - try: -diff --git a/src/plugins/abrt-action-perform-ccpp-analysis.in b/src/plugins/abrt-action-perform-ccpp-analysis.in -index fd75fd4..c25de96 100644 ---- a/src/plugins/abrt-action-perform-ccpp-analysis.in -+++ b/src/plugins/abrt-action-perform-ccpp-analysis.in -@@ -19,7 +19,7 @@ from reportclient import (ask_yes_no_yesforever, - - GETTEXT_PROGNAME = "abrt" - --_ = gettext.lgettext -+_ = gettext.gettext - - def handle_event(event_name, problem_dir): - """Helper function handling a single event -diff --git a/src/plugins/abrt-action-ureport b/src/plugins/abrt-action-ureport -index 1c63749..75e5c62 100755 ---- a/src/plugins/abrt-action-ureport -+++ b/src/plugins/abrt-action-ureport -@@ -17,7 +17,7 @@ GETTEXT_PROGNAME = "abrt" - import locale - import gettext - --_ = lambda x: gettext.lgettext(x) -+_ = lambda x: gettext.gettext(x) - - def init_gettext(): - try: -diff --git a/src/plugins/abrt-gdb-exploitable b/src/plugins/abrt-gdb-exploitable -index cfdf293..758c4c5 100755 ---- a/src/plugins/abrt-gdb-exploitable -+++ b/src/plugins/abrt-gdb-exploitable -@@ -14,7 +14,7 @@ import locale - import gdb - - GETTEXT_PROGNAME = "abrt" --_ = gettext.lgettext -+_ = gettext.gettext - - def init_gettext(): - try: --- -2.4.6 - diff --git a/0002-abrt-merge-pstoreoops-merge-files-in-descending-orde.patch b/0002-abrt-merge-pstoreoops-merge-files-in-descending-orde.patch deleted file mode 100644 index 90ccc4d..0000000 --- a/0002-abrt-merge-pstoreoops-merge-files-in-descending-orde.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 668014b725660785c43b880e73a9ff723abc0be5 Mon Sep 17 00:00:00 2001 -From: "knoha@redhat.com" -Date: Fri, 24 Jul 2015 07:56:02 +0200 -Subject: [PATCH] abrt-merge-pstoreoops: merge files in descending order - -fs/pstore reads the data from kmsg_dump_get_buffer(), which starts at -the end of the kmsg buffer, in a while loop and increases Part no. in -each iteration. - -Related: rhbz#1233662 - -Signed-off-by: Jakub Filak ---- - src/hooks/abrt-merge-pstoreoops.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/hooks/abrt-merge-pstoreoops.c b/src/hooks/abrt-merge-pstoreoops.c -index 6fc3109..36f1e0b 100644 ---- a/src/hooks/abrt-merge-pstoreoops.c -+++ b/src/hooks/abrt-merge-pstoreoops.c -@@ -64,9 +64,9 @@ int compare_oops_texts(const void *a, const void *b) - return -1; - if (aa->panic_no > bb->panic_no) - return 1; -- if (aa->part_no < bb->part_no) -+ if (aa->part_no > bb->part_no) - return -1; -- return (aa->part_no > bb->part_no); -+ return (aa->part_no < bb->part_no); - } - - int main(int argc, char **argv) --- -2.4.6 - diff --git a/0006-pass-encoded-Unicode-to-hashlib.sha1.update.patch b/0006-pass-encoded-Unicode-to-hashlib.sha1.update.patch deleted file mode 100644 index d4a567e..0000000 --- a/0006-pass-encoded-Unicode-to-hashlib.sha1.update.patch +++ /dev/null @@ -1,44 +0,0 @@ -From ed7aaffdcac4f29cd513cd4c1086339512320a1c Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Fri, 24 Jul 2015 13:47:15 +0200 -Subject: [PATCH] pass encoded Unicode to hashlib.sha1.update() - -Python 3 compatibility commit. - -Related: rhbz#1246459 - -Signed-off-by: Jakub Filak ---- - src/plugins/abrt-action-check-oops-for-hw-error.in | 2 +- - src/plugins/abrt-action-generate-machine-id | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/plugins/abrt-action-check-oops-for-hw-error.in b/src/plugins/abrt-action-check-oops-for-hw-error.in -index 400ed99..1695ddb 100644 ---- a/src/plugins/abrt-action-check-oops-for-hw-error.in -+++ b/src/plugins/abrt-action-check-oops-for-hw-error.in -@@ -88,7 +88,7 @@ if __name__ == "__main__": - oops_hash = hashlib.sha1() - with open("backtrace", "r") as btfile: - for line in btfile: -- oops_hash.update(line) -+ oops_hash.update(line.encode()) - - with open_or_die("uuid", "w") as f: - f.write(oops_hash.hexdigest()) -diff --git a/src/plugins/abrt-action-generate-machine-id b/src/plugins/abrt-action-generate-machine-id -index 1005b2c..63b5c93 100644 ---- a/src/plugins/abrt-action-generate-machine-id -+++ b/src/plugins/abrt-action-generate-machine-id -@@ -63,7 +63,7 @@ def generate_machine_id_dmidecode(): - data = dmixp.xpathEval(k) - for d in data: - # Update the hash as we find the fields we are looking for -- machine_id.update(d.get_content()) -+ machine_id.update(d.get_content().encode()) - - del dmixp - del xmldoc --- -2.4.6 - diff --git a/0007-vmcore-read-vmcore-by-chunks.patch b/0007-vmcore-read-vmcore-by-chunks.patch deleted file mode 100644 index a172ec5..0000000 --- a/0007-vmcore-read-vmcore-by-chunks.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 8f26482402179dc64b9488be05ef9686922446ec Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Fri, 24 Jul 2015 13:50:00 +0200 -Subject: [PATCH] vmcore: read vmcore by chunks - -Reading vmcore by lines was not a good idea and the switch to Python 3 -makes it impossible because of the binary format of that file (the file -does not contain only valid Unicode strings and that raises -UnicodeDecodeError from the for statement). - -Signed-off-by: Jakub Filak ---- - src/hooks/abrt_harvest_vmcore.py.in | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/src/hooks/abrt_harvest_vmcore.py.in b/src/hooks/abrt_harvest_vmcore.py.in -index c5e7d53..61a6e57 100644 ---- a/src/hooks/abrt_harvest_vmcore.py.in -+++ b/src/hooks/abrt_harvest_vmcore.py.in -@@ -214,9 +214,12 @@ def harvest_vmcore(): - hashobj = hashlib.sha1() - # Iterate over the file a line at a time in order to not load the whole - # vmcore file -- with open(os.path.join(f_full, 'vmcore'), 'r') as corefile: -- for line in corefile: -- hashobj.update(line) -+ with open(os.path.join(f_full, 'vmcore'), 'rb') as corefile: -+ while True: -+ chunk = corefile.read(8192) -+ if not chunk: -+ break -+ hashobj.update(chunk) - - dd = create_abrtd_info(destdirnew, hashobj.hexdigest()) - if dd is None: --- -2.4.6 - diff --git a/0008-abrt-auto-reporting-fix-related-to-conditional-compi.patch b/0008-abrt-auto-reporting-fix-related-to-conditional-compi.patch deleted file mode 100644 index a738522..0000000 --- a/0008-abrt-auto-reporting-fix-related-to-conditional-compi.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6099fa38833e0679f32488770e59e10b6ac72b6d Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Tue, 28 Jul 2015 13:17:25 +0200 -Subject: [PATCH] abrt-auto-reporting: fix related to conditional compilation - -We discovered that conditional compilation in abrt-auto-reporting does not -work. We forgot add -DAUTHENTICATED_AUTOREPORTING=1 flag if -AUTHENTICATED_AUTOREPORTING is enabled. - -Related to rhbz#1191572 ---- - src/daemon/Makefile.am | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/daemon/Makefile.am b/src/daemon/Makefile.am -index a8f3fa2..563923a 100644 ---- a/src/daemon/Makefile.am -+++ b/src/daemon/Makefile.am -@@ -122,6 +122,11 @@ abrt_auto_reporting_CPPFLAGS = \ - -I$(srcdir)/../lib \ - $(LIBREPORT_CFLAGS) \ - -D_GNU_SOURCE -+ -+if AUTHENTICATED_AUTOREPORTING -+abrt_auto_reporting_CPPFLAGS += -DAUTHENTICATED_AUTOREPORTING=1 -+endif -+ - abrt_auto_reporting_LDADD = \ - ../lib/libabrt.la \ - $(LIBREPORT_LIBS) --- -2.4.3 - diff --git a/0010-doc-fix-related-to-conditional-compilation-of-man-pa.patch b/0010-doc-fix-related-to-conditional-compilation-of-man-pa.patch deleted file mode 100644 index e8ce118..0000000 --- a/0010-doc-fix-related-to-conditional-compilation-of-man-pa.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 930d035e7a56ecb18414b56d1fa906f2948b2d9e Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Tue, 28 Jul 2015 16:20:47 +0200 -Subject: [PATCH] doc: fix related to conditional compilation of man page - -abrt-auto-reporting.txt is a copy of either -abrt-auto-reporting-authenticated.txt or -abrt-auto-reporting-unauthenticated.txt. abrt-auto-reporting.txt file always -exists because MAN1_TXT variable contains it and is distributed (the file is listed -in the EXTRA_DIST variable). It would be difficult to ensure -to have abrt-auto-reporting.txt in the MAN1_TXT and exclude it -from the EXTRA_DIST. So enforce copy, to get the right version of man page, seems -like the easiest way. - -Related to rhbz#1191572 - -Signed-off-by: Matej Habrnal ---- - doc/Makefile.am | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/doc/Makefile.am b/doc/Makefile.am -index f39c3bf..fdd08cf 100644 ---- a/doc/Makefile.am -+++ b/doc/Makefile.am -@@ -82,6 +82,15 @@ MAN_SOURCE = - MAN_SOURCE += abrt-auto-reporting-authenticated.txt - MAN_SOURCE += abrt-auto-reporting-unauthenticated.txt - -+# abrt-auto-reporting.txt is a copy of either -+# abrt-auto-reporting-authenticated.txt or -+# abrt-auto-reporting-unauthenticated.txt. abrt-auto-reporting.txt file always -+# exists because MAN1_TXT variable contains it and is distributed (the file is listed -+# in the EXTRA_DIST variable). It would be difficult to ensure -+# to have abrt-auto-reporting.txt in the MAN1_TXT and exclude it -+# from the EXTRA_DIST. So enforce copy, to get the right version of man page, seems -+# like the easiest way. -+.PHONY: abrt-auto-reporting.txt - if AUTHENTICATED_AUTOREPORTING - abrt-auto-reporting.txt: abrt-auto-reporting-authenticated.txt - else --- -2.4.3 - diff --git a/0012-dbus-ensure-expected-bytes-width-of-DBus-numbers.patch b/0012-dbus-ensure-expected-bytes-width-of-DBus-numbers.patch deleted file mode 100644 index f1418a0..0000000 --- a/0012-dbus-ensure-expected-bytes-width-of-DBus-numbers.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 7fe8403abed51dc951aa497bf149c19d61a19555 Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Wed, 28 Oct 2015 00:21:12 +0100 -Subject: [PATCH] dbus: ensure expected bytes width of DBus numbers - -t - UINT64 - guint64 (unsigned long is not wide enough on 32bit architectures) - -Resolves: rhbz#1256456 - -Signed-off-by: Jakub Filak ---- - src/dbus/abrt-dbus.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/dbus/abrt-dbus.c b/src/dbus/abrt-dbus.c -index 44778a2..500ddb2 100644 ---- a/src/dbus/abrt-dbus.c -+++ b/src/dbus/abrt-dbus.c -@@ -625,8 +625,8 @@ static void handle_method_call(GDBusConnection *connection, - - g_variant_builder_add(response_builder, "{s(its)}", - element_name, -- element_info->flags, -- size, -+ (gint32)element_info->flags, -+ (guint64)size, - element_info->content); - } - --- -2.5.0 - diff --git a/0018-dbus-api-unify-reporting-of-errors.patch b/0018-dbus-api-unify-reporting-of-errors.patch deleted file mode 100644 index 6faaa0b..0000000 --- a/0018-dbus-api-unify-reporting-of-errors.patch +++ /dev/null @@ -1,99 +0,0 @@ -From e027392d560aa5f4cf11151bf8b53183502ac464 Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Tue, 11 Aug 2015 09:54:55 +0200 -Subject: [PATCH] dbus-api: unify reporting of errors - -User ERR_PTR for failures in all functions because some of the functions -use NULL as a valid response (NULL is an empty GList). - -Related: rhbz#1224984 - -Signed-off-by: Jakub Filak ---- - src/include/libabrt.h | 16 +++++++++------- - src/lib/problem_api_dbus.c | 2 +- - 2 files changed, 10 insertions(+), 8 deletions(-) - -diff --git a/src/include/libabrt.h b/src/include/libabrt.h -index 4e73a0d..da565f9 100644 ---- a/src/include/libabrt.h -+++ b/src/include/libabrt.h -@@ -163,7 +163,7 @@ void koops_print_suspicious_strings_filtered(const regex_t **filterout); - - Requires authorization - -- @return 0 if successfull non-zeru on failure -+ @return 0 if successful; non-zero on failure - */ - int chown_dir_over_dbus(const char *problem_dir_path); - -@@ -181,7 +181,7 @@ int test_exist_over_dbus(const char *problem_id, const char *element_name); - - Might require authorization - -- @return Positive number if such the proble is complete, 0 if doesn't and negative number if an error occurs. -+ @return Positive number if the problem is complete, 0 if doesn't and negative number if an error occurs. - */ - int dbus_problem_is_complete(const char *problem_id); - -@@ -198,7 +198,8 @@ char *load_text_over_dbus(const char *problem_id, const char *element_name); - @brief Delets multiple problems specified by their id (as returned from problem_data_save) - - @param problem_dir_paths List of problem ids -- @return 0 if operation was successfull, non-zero on failure -+ -+ @return 0 if operation was successful, non-zero on failure - */ - - int delete_problem_dirs_over_dbus(const GList *problem_dir_paths); -@@ -206,21 +207,21 @@ int delete_problem_dirs_over_dbus(const GList *problem_dir_paths); - /** - @brief Fetches given problem elements for specified problem id - -- @return on failures returns non zero value and emits error message -+ @return returns non-zero value on failures and prints error message - */ - int fill_problem_data_over_dbus(const char *problem_dir_path, const char **elements, problem_data_t *problem_data); - - /** - @brief Fetches problem information for specified problem id - -- @return problem_data_t or NULL on failure -+ @return a valid pointer to problem_data_t or ERR_PTR on failure - */ - problem_data_t *get_problem_data_dbus(const char *problem_dir_path); - - /** - @brief Fetches full problem data for specified problem id - -- @return problem_data_t or ERR_PTR on failure -+ @return a valid pointer to problem_data_t or ERR_PTR on failure - */ - problem_data_t *get_full_problem_data_over_dbus(const char *problem_dir_path); - -@@ -228,7 +229,8 @@ problem_data_t *get_full_problem_data_over_dbus(const char *problem_dir_path); - @brief Fetches all problems from problem database - - @param authorize If set to true will try to fetch even problems owned by other users (will require root authorization over policy kit) -- @return List of problem ids or NULL on failure -+ -+ @return List of problem ids or ERR_PTR on failure (NULL is an empty list) - */ - GList *get_problems_over_dbus(bool authorize); - -diff --git a/src/lib/problem_api_dbus.c b/src/lib/problem_api_dbus.c -index ce5c47b..0bf86e2 100644 ---- a/src/lib/problem_api_dbus.c -+++ b/src/lib/problem_api_dbus.c -@@ -165,7 +165,7 @@ problem_data_t *get_problem_data_dbus(const char *problem_dir_path) - { - error_msg(_("Can't get problem data from abrt-dbus")); - problem_data_free(pd); -- return NULL; -+ return ERR_PTR; - } - - return pd; --- -2.4.3 - diff --git a/0019-cli-fix-testing-of-DBus-API-return-codes.patch b/0019-cli-fix-testing-of-DBus-API-return-codes.patch deleted file mode 100644 index a7b150d..0000000 --- a/0019-cli-fix-testing-of-DBus-API-return-codes.patch +++ /dev/null @@ -1,56 +0,0 @@ -From de667f35fe7fd1d4a5fde8f5d0419387c33db9a2 Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Tue, 11 Aug 2015 10:01:53 +0200 -Subject: [PATCH] cli: fix testing of DBus API return codes - -The DBus wrapper functions uses ERR_PTR to report an error, so the -callers has to test the returned pointers for NULL and for ERR_PTR. - -Related: rhbz#1224984 - -Signed-off-by: Jakub Filak ---- - src/cli/list.c | 3 +++ - src/cli/status.c | 5 ++++- - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/cli/list.c b/src/cli/list.c -index 68dda47..d069695 100644 ---- a/src/cli/list.c -+++ b/src/cli/list.c -@@ -36,6 +36,9 @@ static problem_data_t *load_problem_data(const char *problem_id) - - /* First, check if there is a problem with the passed id */ - GList *problems = get_problems_over_dbus(g_cli_authenticate); -+ if (problems == ERR_PTR) -+ return NULL; -+ - GList *item = g_list_find_custom(problems, problem_id, (GCompareFunc)strcmp); - - /* (git requires at least 5 char hash prefix, we do the same) */ -diff --git a/src/cli/status.c b/src/cli/status.c -index 0635289..3620cea 100644 ---- a/src/cli/status.c -+++ b/src/cli/status.c -@@ -27,6 +27,9 @@ static unsigned int count_problem_dirs(unsigned long since) - unsigned count = 0; - - GList *problems = get_problems_over_dbus(g_cli_authenticate); -+ if (problems == ERR_PTR) -+ return count; -+ - for (GList *iter = problems; iter != NULL; iter = g_list_next(iter)) - { - const char *problem_id = (const char *)iter->data; -@@ -37,7 +40,7 @@ static unsigned int count_problem_dirs(unsigned long since) - } - - char *time_str = load_text_over_dbus(problem_id, FILENAME_LAST_OCCURRENCE); -- if (time_str == NULL) -+ if (time_str == ERR_PTR || time_str == NULL) - { - log_debug("Not counting problem %s: failed to get time element", problem_id); - continue; --- -2.4.3 - diff --git a/0021-ccpp-fix-comment-related-to-MakeCompatCore-option-in.patch b/0021-ccpp-fix-comment-related-to-MakeCompatCore-option-in.patch deleted file mode 100644 index de953aa..0000000 --- a/0021-ccpp-fix-comment-related-to-MakeCompatCore-option-in.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 452fd36a5eac35dff14dbaf3a128c2b0e562db41 Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Tue, 11 Aug 2015 16:17:40 +0200 -Subject: [PATCH] ccpp: fix comment related to 'MakeCompatCore' option in - CCpp.conf - -The comment fits only on the default core_pattern template. -If the core_pattern is not default, the comment does not fit. - -Related to rhbz#1252384 - -Signed-off-by: Matej Habrnal ---- - doc/abrt-CCpp.conf.txt | 9 +++++++-- - src/hooks/CCpp.conf | 9 +++++++-- - 2 files changed, 14 insertions(+), 4 deletions(-) - -diff --git a/doc/abrt-CCpp.conf.txt b/doc/abrt-CCpp.conf.txt -index 498d53d..cf9b213 100644 ---- a/doc/abrt-CCpp.conf.txt -+++ b/doc/abrt-CCpp.conf.txt -@@ -11,8 +11,13 @@ The configuration file consists of items in the format "Option = Value". - Ithe following items are recognized: - - MakeCompatCore = 'yes' / 'no' ...:: -- If you also want to dump file named "core" -- in crashed process' current dir, set to "yes". -+ CCpp hook writes its template to the "/proc/sys/kernel/core_pattern" file -+ and stores the original template in the "/var/run/abrt/saved_core_pattern" -+ file. If you want CCpp hook to create a core dump file named according to -+ the original template as well, set 'MakeCompatCore' to 'yes'. -+ If the original template string starts with "|", the string "core" is used -+ instead of the template. -+ For more information about naming core dump files see 'man 5 core'. - - SaveBinaryImage = 'yes' / 'no' ...:: - Do you want a copy of crashed binary be saved? -diff --git a/src/hooks/CCpp.conf b/src/hooks/CCpp.conf -index 92d7438..03b9b03 100644 ---- a/src/hooks/CCpp.conf -+++ b/src/hooks/CCpp.conf -@@ -1,7 +1,12 @@ - # Configuration file for CCpp hook - --# If you also want to dump file named "core" --# in crashed process' current dir, set to "yes" -+# CCpp hook writes its template to the "/proc/sys/kernel/core_pattern" file -+# and stores the original template in the "/var/run/abrt/saved_core_pattern" -+# file. If you want CCpp hook to create a core dump file named according to -+# the original template as well, set 'MakeCompatCore' to 'yes'. -+# If the original template string starts with "|", the string "core" is used -+# instead of the template. -+# For more information about naming core dump files see 'man 5 core'. - MakeCompatCore = yes - - # Do you want a copy of crashed binary be saved? --- -2.4.3 - diff --git a/0023-ccpp-use-global-TID.patch b/0023-ccpp-use-global-TID.patch deleted file mode 100644 index ff1f7d5..0000000 --- a/0023-ccpp-use-global-TID.patch +++ /dev/null @@ -1,37 +0,0 @@ -From d4758cf4c0c153ee41ddca06dcb213b210f4dd8b Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Wed, 12 Aug 2015 17:40:12 +0200 -Subject: [PATCH] ccpp: use global TID - -'%i' is TID of the thread from the crashed process's PID namespace but -abrt-hook-ccpp is run by kernel in the init PID namespace, so '%i' -is TID of a completely unrelated process. - -For mode details see 'man 5 core'. - -Related: rhbz#1252590 - -Signed-off-by: Jakub Filak ---- - src/hooks/abrt-install-ccpp-hook.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/hooks/abrt-install-ccpp-hook.in b/src/hooks/abrt-install-ccpp-hook.in -index 13832ab..707c57d 100755 ---- a/src/hooks/abrt-install-ccpp-hook.in -+++ b/src/hooks/abrt-install-ccpp-hook.in -@@ -11,9 +11,9 @@ SAVED_PATTERN_DIR="@VAR_RUN@/abrt" - SAVED_PATTERN_FILE="@VAR_RUN@/abrt/saved_core_pattern" - HOOK_BIN="@libexecdir@/abrt-hook-ccpp" - # Must match percent_specifiers[] order in abrt-hook-ccpp.c: --PATTERN="|$HOOK_BIN %s %c %p %u %g %t %e %P %i" -+PATTERN="|$HOOK_BIN %s %c %p %u %g %t %e %P %I" - # Same, but with bogus "executable name" parameter --PATTERN1="|$HOOK_BIN %s %c %p %u %g %t e %P %i" -+PATTERN1="|$HOOK_BIN %s %c %p %u %g %t e %P %I" - - # core_pipe_limit specifies how many dump_helpers can run at the same time - # 0 - means unlimited, but it's not guaranteed that /proc/ of crashing --- -2.4.3 - diff --git a/0027-correct-usage-of-abrt-gdb-exploitable.patch b/0027-correct-usage-of-abrt-gdb-exploitable.patch deleted file mode 100644 index ed88659..0000000 --- a/0027-correct-usage-of-abrt-gdb-exploitable.patch +++ /dev/null @@ -1,46 +0,0 @@ -From d3e01c97970b11d400aad2058bc215778da95513 Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Mon, 17 Aug 2015 09:34:22 +0200 -Subject: [PATCH] correct usage of abrt-gdb-exploitable - -Fixes #988 -Related to bugzilla.redhat.com/1253590 - -Signed-off-by: Jakub Filak ---- - src/plugins/abrt-action-analyze-vulnerability | 2 +- - src/plugins/abrt-gdb-exploitable | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/plugins/abrt-action-analyze-vulnerability b/src/plugins/abrt-action-analyze-vulnerability -index aa63ff0..be5a492 100755 ---- a/src/plugins/abrt-action-analyze-vulnerability -+++ b/src/plugins/abrt-action-analyze-vulnerability -@@ -30,7 +30,7 @@ export SIGNO_OF_THE_COREDUMP - # with explanation if severity is >= 4 - GDBOUT=$( - gdb --batch \ -- -ex 'python execfile("/usr/libexec/abrt-gdb-exploitable")' \ -+ -ex 'python exec(open("/usr/libexec/abrt-gdb-exploitable").read())' \ - -ex 'core-file ./coredump' \ - -ex 'abrt-exploitable 4 ./exploitable' \ - 2>&1 \ -diff --git a/src/plugins/abrt-gdb-exploitable b/src/plugins/abrt-gdb-exploitable -index 758c4c5..ac19668 100755 ---- a/src/plugins/abrt-gdb-exploitable -+++ b/src/plugins/abrt-gdb-exploitable -@@ -1,9 +1,9 @@ - #!/usr/bin/python3 - # This is a GDB plugin. - # Usage: --# gdb --batch -ex 'python execfile("THIS_FILE")' -ex run -ex abrt-exploitable PROG -+# gdb --batch -ex 'python exec(open("THIS_FILE").read())' -ex run -ex abrt-exploitable PROG - # or --# gdb --batch -ex 'python execfile("THIS_FILE")' -ex 'core COREDUMP' -ex abrt-exploitable -+# gdb --batch -ex 'python exec(open("THIS_FILE").read())' -ex 'core COREDUMP' -ex abrt-exploitable - - import sys - import os --- -2.4.3 - diff --git a/0028-a-a-s-p-d-add-bash-on-the-package-blacklist.patch b/0028-a-a-s-p-d-add-bash-on-the-package-blacklist.patch deleted file mode 100644 index 71250b0..0000000 --- a/0028-a-a-s-p-d-add-bash-on-the-package-blacklist.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5938d89ac666e825aa880691fc109ae79b848f7a Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Thu, 20 Aug 2015 09:40:59 +0200 -Subject: [PATCH] a-a-s-p-d: add bash on the package blacklist - -In case of this package, the reported data doesn't yield sufficient information -to solve a bug. - -Related to rhbz#1250379 - -Signed-off-by: Matej Habrnal ---- - src/daemon/abrt-action-save-package-data.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon/abrt-action-save-package-data.conf b/src/daemon/abrt-action-save-package-data.conf -index 27b9607..0129399 100644 ---- a/src/daemon/abrt-action-save-package-data.conf -+++ b/src/daemon/abrt-action-save-package-data.conf -@@ -7,7 +7,7 @@ OpenGPGCheck = yes - - # Blacklisted packages - # --BlackList = nspluginwrapper, valgrind, strace, mono-core, firefox -+BlackList = nspluginwrapper, valgrind, strace, mono-core, firefox, bash - - # Process crashes in executables which do not belong to any package? - # --- -2.5.0 - diff --git a/0029-cli-don-t-start-reporting-of-not-reportable-problems.patch b/0029-cli-don-t-start-reporting-of-not-reportable-problems.patch deleted file mode 100644 index da7d8a1..0000000 --- a/0029-cli-don-t-start-reporting-of-not-reportable-problems.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 37794a0573fd7b3586e72071d27f27f173459142 Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Thu, 20 Aug 2015 11:15:59 +0200 -Subject: [PATCH] cli: don't start reporting of not-reportable problems - -If the reported problem data contains 'not-reportable' element, the -reporting process fails unexpectedly and after the reporter already spent some -time on it. - -This commit ensures that the reporting process won't start, so -abrt-cli's behaviour will be consistent with ABRT GUI. - -However, this is not an ideal solution because we might want to allow -the reporter to report the problem directly to developers via e-mail. - -Closes #986 - -Signed-off-by: Jakub Filak ---- - src/cli/report.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/cli/report.c b/src/cli/report.c -index 19b4c51..cc4035e 100644 ---- a/src/cli/report.c -+++ b/src/cli/report.c -@@ -36,6 +36,15 @@ int _cmd_report(const char **dirs_strv, int remove) - continue; - } - -+ const int not_reportable = test_exist_over_dbus(real_problem_id, FILENAME_NOT_REPORTABLE); -+ if (not_reportable != 0) -+ { -+ error_msg(_("Problem '%s' cannot be reported"), real_problem_id); -+ free(real_problem_id); -+ ++ret; -+ continue; -+ } -+ - const int res = chown_dir_over_dbus(real_problem_id); - if (res != 0) - { --- -2.5.0 - diff --git a/0032-convert-all-ex.message-stmts-to-str-ex.patch b/0032-convert-all-ex.message-stmts-to-str-ex.patch deleted file mode 100644 index 3d866bd..0000000 --- a/0032-convert-all-ex.message-stmts-to-str-ex.patch +++ /dev/null @@ -1,85 +0,0 @@ -From fe4196bd067e938303ec3cdee7c912e84cea6aa0 Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Tue, 25 Aug 2015 08:25:19 +0200 -Subject: [PATCH] convert all 'ex.message' stmts to 'str(ex)' - -Python 3 exceptions do not have the 'message' attribute. -The 'message' attribute has been deprecated since Python 2.6 -https://www.python.org/dev/peps/pep-0352/ - -Signed-off-by: Jakub Filak ---- - src/plugins/abrt-action-generate-machine-id | 2 +- - src/plugins/abrt-action-notify | 12 ++++++------ - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/src/plugins/abrt-action-generate-machine-id b/src/plugins/abrt-action-generate-machine-id -index 63b5c93..c547d7c 100644 ---- a/src/plugins/abrt-action-generate-machine-id -+++ b/src/plugins/abrt-action-generate-machine-id -@@ -110,7 +110,7 @@ def generate_machine_id(generators): - ids[sd] = workers[sd]() - except RuntimeError as ex: - logging.error("Machine-ID generator '{0}' failed: {1}" -- .format(sd, ex.message)) -+ .format(sd, str(ex))) - - return ids - -diff --git a/src/plugins/abrt-action-notify b/src/plugins/abrt-action-notify -index 716de45..ca8f807 100644 ---- a/src/plugins/abrt-action-notify -+++ b/src/plugins/abrt-action-notify -@@ -116,7 +116,7 @@ def emit_crash_dbus_signal(problem_data): - bus.send_message(msg) - except dbus.exceptions.DBusException as ex: - raise RuntimeError("Failed to emit D-Bus Crash signal: {0}" -- .format(ex.message)) -+ .format(str(ex))) - finally: - if bus is not None: - bus.close() -@@ -213,7 +213,7 @@ if __name__ == "__main__": - PD = build_notification_problem_data(DIR_PATH) - except ValueError as ex: - sys.stderr.write("Cannot notify '{0}': {1}\n". -- format(DIR_PATH, ex.message)) -+ format(DIR_PATH, str(ex))) - sys.exit(RETURN_FAILURE) - - # The execution must continue because we should try to notify via all -@@ -223,13 +223,13 @@ if __name__ == "__main__": - emit_crash_dbus_signal(PD) - except RuntimeError as ex: - sys.stderr.write("Cannot notify '{0}' via D-Bus: {1}\n". -- format(DIR_PATH, ex.message)) -+ format(DIR_PATH, str(ex))) - return_status = RETURN_FAILURE - except KeyError as ex: - # this is a bug in build_notification_problem_data() - sys.stderr.write("BUG: problem data misses required element '{0}'" - " required for D-Bus notification\n" -- .format(ex.message)) -+ .format(str(ex))) - - return_status = RETURN_FAILURE - -@@ -247,13 +247,13 @@ if __name__ == "__main__": - run_autoreport(PD, event_name) - except RuntimeError as ex: - sys.stderr.write("Cannot notify '{0}' via uReport: {1}\n". -- format(DIR_PATH, ex.message)) -+ format(DIR_PATH, str(ex))) - return_status = RETURN_FAILURE - except KeyError as ex: - # this is a bug in build_notification_problem_data() - sys.stderr.write( - "BUG: problem data misses required element '{0}'" -- " required for uReport notification\n".format(ex.message)) -+ " required for uReport notification\n".format(str(ex))) - - return_status = RETURN_FAILURE - --- -2.5.0 - diff --git a/0033-introduce-bodhi2-to-abrt-bodhi.patch b/0033-introduce-bodhi2-to-abrt-bodhi.patch deleted file mode 100644 index e8a6df0..0000000 --- a/0033-introduce-bodhi2-to-abrt-bodhi.patch +++ /dev/null @@ -1,317 +0,0 @@ -From 084a2aaa6373f178d6bf1ac66c196476d2faa438 Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Tue, 25 Aug 2015 16:03:51 +0200 -Subject: [PATCH] introduce bodhi2 to abrt-bodhi - -Resolves: rhbz#1256493 - -Signed-off-by: Jakub Filak ---- - configure.ac | 1 + - src/plugins/Makefile.am | 2 + - src/plugins/bodhi.c | 197 +++++++++++++++++++++++++++--------------------- - 3 files changed, 114 insertions(+), 86 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b372e12..1013e3b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -376,6 +376,7 @@ PKG_CHECK_MODULES([JSON_C], [json], [ - if test -z "$NO_BODHI" - then - PKG_CHECK_MODULES([LIBREPORT_WEB], [libreport-web]) -+PKG_CHECK_MODULES([HAWKEY], [hawkey]) - AM_CONDITIONAL(BUILD_BODHI, true) - else - AM_CONDITIONAL(BUILD_BODHI, false) -diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am -index aa426ff..1c1ff8a 100644 ---- a/src/plugins/Makefile.am -+++ b/src/plugins/Makefile.am -@@ -366,10 +366,12 @@ abrt_bodhi_SOURCES = \ - $(LIBREPORT_WEB_CFLAGS) \ - $(JSON_C_CFLAGS) \ - $(RPM_CFLAGS) \ -+ $(HAWKEY_CFLAGS) \ - -D_GNU_SOURCE - abrt_bodhi_LDADD = \ - $(JSON_C_LIBS) \ - $(RPM_LIBS) \ -+ $(HAWKEY_LIBS) \ - $(LIBREPORT_LIBS) \ - $(LIBREPORT_WEB_LIBS) - endif -diff --git a/src/plugins/bodhi.c b/src/plugins/bodhi.c -index fcdbd83..831f5ff 100644 ---- a/src/plugins/bodhi.c -+++ b/src/plugins/bodhi.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -32,85 +33,103 @@ - /* bodhi returns json structure - - { -- "num_items":2, -- "title":"2 updats found", -- "tg_flash":null, -- "updates":[ -- { -- "status":"stable", -- "close_bugs":true, -- "request":null, -- "date_submitted":"2011-03-18 17:25:14", -- "unstable_karma":-3, -- "submitter":"twaugh", -- "critpath":false, -- "approved":null, -- "stable_karma":2, -- "date_pushed":"2011-03-19 05:34:27", -- "builds":[ -- { -- "nvr":"system-config-printer-1.3.2-1.fc15", -- "package":{ -- "suggest_reboot":false, -- "committers":[ -- "twaugh", -- "jpopelka" -- ], -- "name":"system-config-printer" -- } -- }, -- { -- .... -- } -- ], -- "title":"system-config-printer-1.3.2-1.fc15", -- "notes":"This update fixes several bugs and re-enables translations that were accidentally disabled.", -- "date_modified":null, -- "nagged":null, -- "bugs":[ -- { -- "bz_id":685098, -- "security":false, -- "parent":false, -- "title":"[abrt] system-config-printer-1.3.1-1.fc15: authconn.py:197:_connect:RuntimeError: failed to connect to server" -- }, -- { -- ... -- } -- ], -- "comments":[ -- { -- "group":null, -- "karma":0, -- "anonymous":false, -- "author":"bodhi", -- "timestamp":"2011-03-18 17:26:34", -- "text":"This update has been submitted for testing by twaugh. " -- }, -- { -- ... -- } -- ], -- "critpath_approved":false, -- "updateid":"FEDORA-2011-3596", -- "karma":0, -- "release":{ -- "dist_tag":"dist-f15", -- "id_prefix":"FEDORA", -- "locked":false, -- "name":"F15", -- "long_name":"Fedora 15" -- }, -- "type":"bugfix" -- }, -- { -- ... -- } -- ] -+ "rows_per_page": 20, -+ "total": 1, -+ "chrome": true, -+ "display_user": true, -+ "pages": 1, -+ "updates": [ -+ { -+ "close_bugs": true, -+ "old_updateid": "FEDORA-2015-13720", -+ "pushed": true, -+ "require_testcases": false, -+ "critpath": false, -+ "date_approved": null, -+ "stable_karma": null, -+ "date_pushed": "2015-08-19 04:49:00", -+ "requirements": null, -+ "severity": "unspecified", -+ "title": "hwloc-1.11.0-3.fc22", -+ "suggest": "unspecified", -+ "require_bugs": false, -+ "comments": [ -+ { -+ "bug_feedback": [], -+ "user_id": 91, -+ "text": "This update has been submitted for testing by jhladky. ", -+ "testcase_feedback": [], -+ "karma_critpath": 0, -+ "update": 21885, -+ "update_id": 21885, -+ "karma": 0, -+ "anonymous": false, -+ "timestamp": "2015-08-18 13:38:35", -+ "id": 166016, -+ "user": {"stacks": [], -+ "name": "bodhi", -+ "avatar": "https://apps.fedoraproject.org/img/icons/bodhi-24.png"} -+ }, -+ { -+ ... -+ } -+ ], -+ "updateid": "FEDORA-2015-13720", -+ "cves": [], -+ "type": "bugfix", -+ "status": "testing", -+ "date_submitted": "2015-08-18 13:37:26", -+ "unstable_karma": null, -+ "submitter": "jhladky", -+ "user": -+ { -+ "stacks": [], -+ "buildroot_overrides": [], -+ "name": "jhladky", -+ "avatar": "https://seccdn.libravatar.org/avatar/b838b78fcf707a13cdaeb1c846d514e614d617cbf2c106718e71cb397607f59b?s=24&d=retro" -+ }, -+ "locked": false, -+ "builds": [{"override": null, -+ "nvr": "hwloc-1.11.0-3.fc22"}], -+ "date_modified": null, -+ "test_cases": [], -+ "notes": "Fix for BZ1253977", -+ "request": null, -+ "bugs": [ -+ { -+ "bug_id": 1253977, -+ "security": false, -+ "feedback": [], -+ "parent": false, -+ "title": "conflict between hwloc-libs-1.11.0-1.fc22.i686 and hwloc-libs-1.11.0-1.fc22.x86_64" -+ } -+ ], -+ "alias": "FEDORA-2015-13720", -+ "karma": 0, -+ "release": -+ { -+ "dist_tag": "f22", -+ "name": "F22", -+ "testing_tag": "f22-updates-testing", -+ "pending_stable_tag": "f22-updates-pending", -+ "long_name": "Fedora 22", -+ "state": "current", -+ "version": "22", -+ "override_tag": "f22-override", -+ "branch": "f22", -+ "id_prefix": "FEDORA", -+ "pending_testing_tag": "f22-updates-testing-pending", -+ "stable_tag": "f22-updates", -+ "candidate_tag": "f22-updates-candidate" -+ } -+ } -+ ], -+ "display_request": true, -+ "page": 1 - } - */ - --static const char *bodhi_url = "https://admin.fedoraproject.org/updates"; -+static const char *bodhi_url = "https://bodhi.fedoraproject.org/updates"; - - struct bodhi { - char *nvr; -@@ -202,7 +221,7 @@ static GHashTable *bodhi_parse_json(json_object *json, const char *release) - { - - int num_items = 0; -- bodhi_read_value(json, "num_items", &num_items, BODHI_READ_INT); -+ bodhi_read_value(json, "total", &num_items, BODHI_READ_INT); - if (num_items <= 0) - return NULL; - -@@ -241,13 +260,19 @@ static GHashTable *bodhi_parse_json(json_object *json, const char *release) - b = xzalloc(sizeof(struct bodhi)); - - char *name = NULL; -+ long ign_e; -+ char *ign_v, *ign_r, *ign_a; -+ - json_object *build = json_object_array_get_idx(builds_item, k); - - bodhi_read_value(build, "nvr", &b->nvr, BODHI_READ_STR); - -- json_object *package = NULL; -- bodhi_read_value(build, "package", &package, BODHI_READ_JSON_OBJ); -- bodhi_read_value(package, "name", &name, BODHI_READ_STR); -+ if (hy_split_nevra(b->nvr, &name, &ign_e, &ign_v, &ign_r, &ign_a)) -+ error_msg_and_die("hawkey failed to parse '%s'", b->nvr); -+ -+ free(ign_v); -+ free(ign_r); -+ free(ign_a); - - struct bodhi *bodhi_tbl_item = g_hash_table_lookup(bodhi_table, name); - if (bodhi_tbl_item && rpmvercmp(bodhi_tbl_item->nvr, b->nvr) > 0) -@@ -287,7 +312,7 @@ static GHashTable *bodhi_parse_json(json_object *json, const char *release) - - static GHashTable *bodhi_query_list(const char *query, const char *release) - { -- char *bodhi_url_bugs = xasprintf("%s/list", bodhi_url); -+ char *bodhi_url_bugs = xasprintf("%s/?%s", bodhi_url, query); - - post_state_t *post_state = new_post_state(POST_WANT_BODY - | POST_WANT_SSL_VERIFY -@@ -298,8 +323,8 @@ static GHashTable *bodhi_query_list(const char *query, const char *release) - NULL - }; - -- post_string(post_state, bodhi_url_bugs, "application/x-www-form-urlencoded", -- headers, query); -+ get(post_state, bodhi_url_bugs, "application/x-www-form-urlencoded", -+ headers); - - if (post_state->http_resp_code != 200) - { -@@ -397,7 +422,7 @@ int main(int argc, char **argv) - { - if (release) - { -- query = strbuf_append_strf(query, "release=%s&", release); -+ query = strbuf_append_strf(query, "releases=%s&", release); - } - else - { -@@ -414,7 +439,7 @@ int main(int argc, char **argv) - map_string_t *osinfo = new_map_string(); - problem_data_get_osinfo(problem_data, osinfo); - parse_osinfo_for_rhts(osinfo, &product, &version); -- query = strbuf_append_strf(query, "release=f%s&", version); -+ query = strbuf_append_strf(query, "releases=f%s&", version); - free(product); - free(version); - free_map_string(osinfo); -@@ -424,7 +449,7 @@ int main(int argc, char **argv) - if (argv[optind]) - { - char *escaped = g_uri_escape_string(argv[optind], NULL, 0); -- query = strbuf_append_strf(query, "package=%s&", escaped); -+ query = strbuf_append_strf(query, "packages=%s&", escaped); - free(escaped); - } - --- -2.5.0 - diff --git a/0035-ccpp-do-not-break-the-reporting-if-a-bodhi-fails.patch b/0035-ccpp-do-not-break-the-reporting-if-a-bodhi-fails.patch deleted file mode 100644 index b50343a..0000000 --- a/0035-ccpp-do-not-break-the-reporting-if-a-bodhi-fails.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 7cf5d9fe151713b65314c714c9968f04367691fe Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Wed, 26 Aug 2015 08:28:07 +0200 -Subject: [PATCH] ccpp: do not break the reporting if a-bodhi fails - -Related: rhbz#1256493 - -Signed-off-by: Jakub Filak ---- - src/plugins/abrt-action-analyze-ccpp-local.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/plugins/abrt-action-analyze-ccpp-local.in b/src/plugins/abrt-action-analyze-ccpp-local.in -index de131c8..5a42a03 100644 ---- a/src/plugins/abrt-action-analyze-ccpp-local.in -+++ b/src/plugins/abrt-action-analyze-ccpp-local.in -@@ -39,7 +39,7 @@ if [ $? = 0 ]; then - bug_id=$(reporter-bugzilla -h "`cat duphash`") - if $WITH_BODHI; then - if test -n "$bug_id"; then -- abrt-bodhi -r -b $bug_id -+ abrt-bodhi -r -b $bug_id || : - fi - fi - fi --- -2.5.0 - diff --git a/0036-bodhi-add-ignoring-of-Rawhide.patch b/0036-bodhi-add-ignoring-of-Rawhide.patch deleted file mode 100644 index a93b156..0000000 --- a/0036-bodhi-add-ignoring-of-Rawhide.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 783f4ea59bfcd7f563a3b0ab0012f41fcd289eff Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Wed, 26 Aug 2015 13:18:26 +0200 -Subject: [PATCH] bodhi: add ignoring of Rawhide - -Resolves: rhbz#1256493 - -Signed-off-by: Matej Habrnal ---- - src/plugins/bodhi.c | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -diff --git a/src/plugins/bodhi.c b/src/plugins/bodhi.c -index 831f5ff..9149347 100644 ---- a/src/plugins/bodhi.c -+++ b/src/plugins/bodhi.c -@@ -422,6 +422,10 @@ int main(int argc, char **argv) - { - if (release) - { -+ /* There are no bodhi updates for Rawhide */ -+ if (strcasecmp(release, "rawhide") == 0) -+ error_msg_and_die("Reselase \"%s\" is not supported",release); -+ - query = strbuf_append_strf(query, "releases=%s&", release); - } - else -@@ -439,10 +443,21 @@ int main(int argc, char **argv) - map_string_t *osinfo = new_map_string(); - problem_data_get_osinfo(problem_data, osinfo); - parse_osinfo_for_rhts(osinfo, &product, &version); -- query = strbuf_append_strf(query, "releases=f%s&", version); -+ -+ /* There are no bodhi updates for Rawhide */ -+ bool rawhide = strcasecmp(release, "rawhide") == 0; -+ if (!rawhide) -+ query = strbuf_append_strf(query, "releases=f%s&", version); -+ - free(product); - free(version); - free_map_string(osinfo); -+ -+ if (rawhide) -+ { -+ strbuf_free(query); -+ error_msg_and_die("Reselase \"Rawhide\" is not supported"); -+ } - } - } - --- -2.5.0 - diff --git a/0037-bodhi-add-parsing-of-error-responses.patch b/0037-bodhi-add-parsing-of-error-responses.patch deleted file mode 100644 index f783937..0000000 --- a/0037-bodhi-add-parsing-of-error-responses.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 878d29d13773d035fc6a41d6b2c402f021e10dbd Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Wed, 26 Aug 2015 13:41:27 +0200 -Subject: [PATCH] bodhi: add parsing of error responses - -Resolves: rhbz#1256493 - -Signed-off-by: Matej Habrnal ---- - src/plugins/bodhi.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 69 insertions(+), 1 deletion(-) - -diff --git a/src/plugins/bodhi.c b/src/plugins/bodhi.c -index 9149347..b348a26 100644 ---- a/src/plugins/bodhi.c -+++ b/src/plugins/bodhi.c -@@ -217,6 +217,58 @@ static void print_bodhi(struct bodhi *b) - } - #endif - -+/* bodhi returns following json structure in case of error -+{ -+ "status": "error", -+ "errors": -+ [ -+ { -+ "location": "querystring", -+ "name": "releases", -+ "description": "Invalid releases specified: Rawhide" -+ } -+ ] -+} -+*/ -+static void bodhi_print_errors_from_json(json_object *json) -+{ -+ -+ json_object *errors_array = NULL; -+ bodhi_read_value(json, "errors", &errors_array, BODHI_READ_JSON_OBJ); -+ if (!errors_array) -+ { -+ error_msg("Error: unable to read 'errors' array from json"); -+ return; -+ } -+ -+ int errors_len = json_object_array_length(errors_array); -+ for (int i = 0; i < errors_len; ++i) -+ { -+ json_object *error = json_object_array_get_idx(errors_array, i); -+ if (!error) -+ { -+ error_msg("Error: unable to get 'error[%d]'", i); -+ json_object_put(errors_array); -+ return; -+ } -+ -+ char *desc_item = NULL; -+ bodhi_read_value(error, "description", &desc_item, BODHI_READ_STR); -+ if (!desc_item) -+ { -+ error_msg("Error: unable to get 'description' from 'error[%d]'", i); -+ continue; -+ } -+ -+ error_msg("Error: %s", desc_item); -+ json_object_put(error); -+ free(desc_item); -+ } -+ -+ json_object_put(errors_array); -+ return; -+} -+ - static GHashTable *bodhi_parse_json(json_object *json, const char *release) - { - -@@ -326,7 +378,7 @@ static GHashTable *bodhi_query_list(const char *query, const char *release) - get(post_state, bodhi_url_bugs, "application/x-www-form-urlencoded", - headers); - -- if (post_state->http_resp_code != 200) -+ if (post_state->http_resp_code != 200 && post_state->http_resp_code != 400) - { - char *errmsg = post_state->curl_error_msg; - if (errmsg && errmsg[0]) -@@ -340,6 +392,22 @@ static GHashTable *bodhi_query_list(const char *query, const char *release) - if (is_error(json)) - error_msg_and_die("fatal: unable parse response from bodhi server"); - -+ /* we must check the http_resp_code because only error responses contain -+ * 'status' item. 'bodhi_read_value' function prints an error message in -+ * the case it did not found the item */ -+ if (post_state->http_resp_code != 200) -+ { -+ char *status_item = NULL; -+ bodhi_read_value(json, "status", &status_item, BODHI_READ_STR); -+ if (status_item != NULL && strcmp(status_item, "error") == 0) -+ { -+ free(status_item); -+ bodhi_print_errors_from_json(json); -+ json_object_put(json); -+ xfunc_die(); // error_msg are printed in bodhi_print_errors_from_json -+ } -+ } -+ - GHashTable *bodhi_table = bodhi_parse_json(json, release); - json_object_put(json); - free_post_state(post_state); --- -2.5.0 - diff --git a/0042-doc-actualize-the-abrt-bodhi-man-page.patch b/0042-doc-actualize-the-abrt-bodhi-man-page.patch deleted file mode 100644 index 9c3a163..0000000 --- a/0042-doc-actualize-the-abrt-bodhi-man-page.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 655a356abb1f0557690fa21a0d008af472c56788 Mon Sep 17 00:00:00 2001 -From: Matej Habrnal -Date: Wed, 2 Sep 2015 12:29:31 +0200 -Subject: [PATCH] doc: actualize the abrt-bodhi man page - -Parameters -d and -u were not in the man page. - -Signed-off-by: Matej Habrnal ---- - doc/abrt-bodhi.txt | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/doc/abrt-bodhi.txt b/doc/abrt-bodhi.txt -index 945a4a9..fe790d6 100644 ---- a/doc/abrt-bodhi.txt -+++ b/doc/abrt-bodhi.txt -@@ -7,7 +7,7 @@ abrt-bodhi - The ABRT bodhi client. - - SYNOPSIS - -------- --'abrt-bodhi' [-v] [-r[RELEASE]] (-b ID1[,ID2,...] | PKG-NAME) [PKG-NAME]... -+'abrt-bodhi' [-v] [-r[RELEASE]] [-u URL] [-d DIR] (-b ID1[,ID2,...] | PKG-NAME) [PKG-NAME]... - - DESCRIPTION - ----------- -@@ -25,6 +25,12 @@ OPTIONS - -b, --bugs ID1,ID2,.. - Specify any number of Bugzilla IDs (--bugs=1234,5678) - -+-d, --problem-dir DIR:: -+ Path to problem directory -+ -+-u, --url URL:: -+ Specify a bodhi server url -+ - AUTHORS - ------- - * ABRT team --- -2.5.0 - diff --git a/0046-bodhi-fix-a-segfault-when-testing-an-os-release-opt-.patch b/0046-bodhi-fix-a-segfault-when-testing-an-os-release-opt-.patch deleted file mode 100644 index 6e4b603..0000000 --- a/0046-bodhi-fix-a-segfault-when-testing-an-os-release-opt-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From afe242542e3c372a05de51a7259f417c1df058d2 Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Mon, 7 Sep 2015 10:23:30 +0200 -Subject: [PATCH] bodhi: fix a segfault when testing an os-release opt for - 'rawhide' - -Resolves: rhbz#1260259 - -Signed-off-by: Jakub Filak ---- - src/plugins/bodhi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/plugins/bodhi.c b/src/plugins/bodhi.c -index b348a26..bbd88f7 100644 ---- a/src/plugins/bodhi.c -+++ b/src/plugins/bodhi.c -@@ -513,7 +513,7 @@ int main(int argc, char **argv) - parse_osinfo_for_rhts(osinfo, &product, &version); - - /* There are no bodhi updates for Rawhide */ -- bool rawhide = strcasecmp(release, "rawhide") == 0; -+ bool rawhide = strcasecmp(version, "rawhide") == 0; - if (!rawhide) - query = strbuf_append_strf(query, "releases=f%s&", version); - --- -2.5.0 - diff --git a/abrt.spec b/abrt.spec index 62af06e..3912195 100644 --- a/abrt.spec +++ b/abrt.spec @@ -48,8 +48,8 @@ Summary: Automatic bug detection and reporting tool Name: abrt -Version: 2.7.0 -Release: 4%{?dist} +Version: 2.7.1 +Release: 1%{?dist} License: GPLv2+ Group: Applications/System URL: https://abrt.readthedocs.org/ @@ -59,7 +59,6 @@ Patch0: disable-OpenGPGCheck-in-Fedora-Rawhide.patch # git format-patch %%{Version} --topo-order -N -M; # i=1; for p in `ls 0*.patch`; do printf "Patch%04d: %s\n" $i $p; ((i++)); done -Patch0012: 0012-dbus-ensure-expected-bytes-width-of-DBus-numbers.patch # '%%autosetup -S git' -> git BuildRequires: git @@ -763,7 +762,7 @@ killall abrt-dbus >/dev/null 2>&1 || : %{_mandir}/man5/abrt_event.conf.5.gz %config(noreplace) %{_sysconfdir}/libreport/events.d/smart_event.conf %{_mandir}/man5/smart_event.conf.5.gz -%dir %attr(0751, abrt, abrt) %{_localstatedir}/spool/%{name} +%dir %attr(0751, root, abrt) %{_localstatedir}/spool/%{name} %dir %attr(0700, abrt, abrt) %{_localstatedir}/spool/%{name}-upload # abrtd runs as root %dir %attr(0755, root, root) %{_localstatedir}/run/%{name} @@ -893,6 +892,7 @@ killall abrt-dbus >/dev/null 2>&1 || : %{_mandir}/man*/abrt-action-analyze-core.* %{_mandir}/man*/abrt-action-analyze-vulnerability.* %{_mandir}/man*/abrt-action-perform-ccpp-analysis.* +%{_mandir}/man*/abrt-dump-journal-core.* %files addon-upload-watch %defattr(-,root,root,-) @@ -946,7 +946,9 @@ killall abrt-dbus >/dev/null 2>&1 || : %{_initrddir}/abrt-xorg %endif %{_bindir}/abrt-dump-xorg +%{_bindir}/abrt-dump-journal-xorg %{_mandir}/man1/abrt-dump-xorg.1* +%{_mandir}/man1/abrt-dump-journal-xorg.1* %if %{?have_kexec_tools} == 1 %files addon-vmcore @@ -1084,6 +1086,19 @@ killall abrt-dbus >/dev/null 2>&1 || : %config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh %changelog +* Mon Nov 23 2015 Jakub Filak 2.7.1-1 +- CVE-2015-5287: switch owner of /var/spool/abrt to 'root' +- CVE-2015-5287: ccpp: save abrt core files only if DebugLevel > 0 +- CVE-2015-5287: ccpp: save abrt core files only to new files +- CVE-2015-5287: abrt configuration: introduce DebugLevel +- CVE-2015-5273: a-a-i-d-to-abrt-cache: make own random temporary directory +- ccpp: make crashes of processes with locked memory not-reportable +- xorg: introduce tool abrt-dump-journal-xorg +- abrt-xorg.service: change due to abrt-dump-journal-xorg +- a-d-journal-core: set root owner for created dump directory +- spec: add missing man page for abrt-dump-journal-core +- Resolves: #1262252, #1284557 + * Sat Nov 14 2015 Zbigniew Jędrzejewski-Szmek - 2.7.0-4 - Update requires on python-argcomplete - Move completion script to /usr diff --git a/sources b/sources index ce9bff2..606202a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1e132c42d1f0161db95c82c0c720e697 abrt-2.7.0.tar.gz +fee268003142e35fc72fa8a52941dd80 abrt-2.7.1.tar.gz