diff --git a/0038-report-client-fix-minor-python3-incompatibilities.patch b/0038-report-client-fix-minor-python3-incompatibilities.patch new file mode 100644 index 0000000..b2bb853 --- /dev/null +++ b/0038-report-client-fix-minor-python3-incompatibilities.patch @@ -0,0 +1,60 @@ +From c9878a3dca7e2fe48d88030c3c0c9cf1182face4 Mon Sep 17 00:00:00 2001 +From: Jakub Filak +Date: Mon, 8 Dec 2014 11:00:17 +0100 +Subject: [PATCH] report, client: fix minor python3 incompatibilities + +Signed-off-by: Jakub Filak +--- + src/client-python/__init__.py | 1 + + src/client-python/debuginfo.py | 4 ++-- + src/report-python/__init__.py | 2 +- + src/report-python/libreport-meh-test.py | 6 +++--- + 4 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/src/client-python/__init__.py b/src/client-python/__init__.py +index 8966f22..129149a 100644 +--- a/src/client-python/__init__.py ++++ b/src/client-python/__init__.py +@@ -76,3 +76,4 @@ def error_msg(fmt, *args): + def error_msg_and_die(fmt, *args): + sys.stderr.write("%s\n" % (fmt % args)) + sys.exit(1) ++ +diff --git a/src/client-python/debuginfo.py b/src/client-python/debuginfo.py +index 67faa45..421a0aa 100644 +--- a/src/client-python/debuginfo.py ++++ b/src/client-python/debuginfo.py +@@ -84,7 +84,7 @@ def unpack_rpm(package_file_name, files, tmp_dir, destdir, keeprpm, exact_files= + package_full_path = tmp_dir + "/" + package_file_name + log1("Extracting %s to %s", package_full_path, destdir) + log2("%s", files) +- print _("Extracting cpio from {0}").format(package_full_path) ++ print(_("Extracting cpio from {0}").format(package_full_path)) + unpacked_cpio_path = tmp_dir + "/unpacked.cpio" + try: + unpacked_cpio = open(unpacked_cpio_path, 'wb') +@@ -447,7 +447,7 @@ class DebugInfoDownload(YumBase): + print _("Download cancelled by user") + return RETURN_CANCEL_BY_USER + +- for pkg, files in package_files_dict.iteritems(): ++ for pkg, files in package_files_dict.items(): + dnlcb.downloaded_pkgs = downloaded_pkgs + repo.cache = 0 + remote = pkg.returnSimple('relativepath') +diff --git a/src/report-python/__init__.py b/src/report-python/__init__.py +index 71e2d62..6c75eb1 100644 +--- a/src/report-python/__init__.py ++++ b/src/report-python/__init__.py +@@ -236,7 +236,7 @@ def createPythonUnhandledExceptionSignature(**kwargs): + raise AttributeError("missing argument {0}".format(arg)) + + pd = problem_data() +- for (key, value) in kwargs.iteritems(): ++ for (key, value) in kwargs.items(): + pd.add(key, value) + product = getProduct() + if product: +-- +2.1.0 + diff --git a/0039-gui-ignore-a-A-ccesib-ility-le-words.patch b/0039-gui-ignore-a-A-ccesib-ility-le-words.patch new file mode 100644 index 0000000..b42237a --- /dev/null +++ b/0039-gui-ignore-a-A-ccesib-ility-le-words.patch @@ -0,0 +1,33 @@ +From 8b17f4c70c7c10ef849e5f5d788970dd741bf0cc Mon Sep 17 00:00:00 2001 +From: Jakub Filak +Date: Fri, 2 Jan 2015 23:46:41 +0100 +Subject: [PATCH] gui: ignore (a|A)ccesib(ility|le) words + +I am reluctant to use single "accesib" because I am afraid of false +negative results. + +Related: rhbz#1175720 + +Signed-off-by: Jakub Filak +--- + src/gui-wizard-gtk/ignored_words.conf | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/gui-wizard-gtk/ignored_words.conf b/src/gui-wizard-gtk/ignored_words.conf +index 600dd55..e538616 100644 +--- a/src/gui-wizard-gtk/ignored_words.conf ++++ b/src/gui-wizard-gtk/ignored_words.conf +@@ -2,6 +2,10 @@ access on a process. + access on the + accesses on a process. + accesses on the ++accessibility ++Accessibility ++accessible ++Accessible + accountsservice + account_for_vscrollbar + AccountsService +-- +2.1.0 + diff --git a/0040-gui-try-to-reduce-false-positive-sensitive-words.patch b/0040-gui-try-to-reduce-false-positive-sensitive-words.patch new file mode 100644 index 0000000..8b1fa7a --- /dev/null +++ b/0040-gui-try-to-reduce-false-positive-sensitive-words.patch @@ -0,0 +1,65 @@ +From 18940f5ce7d99f976bf336469df702fedd6999e1 Mon Sep 17 00:00:00 2001 +From: Jakub Filak +Date: Sat, 3 Jan 2015 23:15:27 +0100 +Subject: [PATCH] gui: try to reduce false positive sensitive words + +I used words suggested by Michael Catanzaro < @Catanzaro > and run +several grep commands to find all variants. + +Related: #311 + +Signed-off-by: Jakub Filak +--- + src/gui-wizard-gtk/ignored_words.conf | 32 +++++++++++++++++++++++++++++++- + 1 file changed, 31 insertions(+), 1 deletion(-) + +diff --git a/src/gui-wizard-gtk/ignored_words.conf b/src/gui-wizard-gtk/ignored_words.conf +index e538616..e6ae815 100644 +--- a/src/gui-wizard-gtk/ignored_words.conf ++++ b/src/gui-wizard-gtk/ignored_words.conf +@@ -10,11 +10,41 @@ accountsservice + account_for_vscrollbar + AccountsService + Cannot access memory ++EventKey ++event_key + gnome-ssh-askpass ++keyboard ++KEYBOARD ++keymap ++KEYMAP ++keyDown ++KeyDown ++KEYDOWN ++KEY_Down ++keyring ++KEYRING ++KeyUp ++KEYUP ++KeyEvent ++key_event ++KEY_EVENT ++keypress ++KeyPress ++key_press ++KEY_PRESS ++key_release ++KEY_RELEASE ++KeyValuePair ++KeyValuePairKeyExtractor ++keyup ++KEYUP ++ksshaskpass + libpciaccess.so + libsecret + login.so +-ksshaskpass ++libkeyutils ++PassOwnPtr ++PassRefPtr + This access was not denied. + # not considered sensitive + USER= +-- +2.1.0 + diff --git a/0041-Do-not-use-bool-in-OPT_BOOL-macro-it-expects-int.patch b/0041-Do-not-use-bool-in-OPT_BOOL-macro-it-expects-int.patch new file mode 100644 index 0000000..bc4cfd9 --- /dev/null +++ b/0041-Do-not-use-bool-in-OPT_BOOL-macro-it-expects-int.patch @@ -0,0 +1,71 @@ +From 7acd95d3488420f0cf0e5eff5688759b35e5febf Mon Sep 17 00:00:00 2001 +From: Jakub Filak +Date: Wed, 14 Jan 2015 11:54:02 +0100 +Subject: [PATCH] Do not use 'bool' in OPT_BOOL() macro : it expects 'int' + +Signed-off-by: Jakub Filak +--- + src/gui-wizard-gtk/main.c | 6 +++--- + src/plugins/reporter-ureport.c | 8 ++++---- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/gui-wizard-gtk/main.c b/src/gui-wizard-gtk/main.c +index 44918ec..41a8089 100644 +--- a/src/gui-wizard-gtk/main.c ++++ b/src/gui-wizard-gtk/main.c +@@ -117,13 +117,13 @@ static void + activate_wizard(GApplication *app, + gpointer user_data) + { +- create_assistant(GTK_APPLICATION(app), (bool)user_data); ++ create_assistant(GTK_APPLICATION(app), *(int *)user_data); + update_gui_state_from_problem_data(UPDATE_SELECTED_EVENT); + } + + int main(int argc, char **argv) + { +- bool expert_mode = false; ++ int expert_mode = 0; + + const char *prgname = "abrt"; + abrt_init(argv); +@@ -217,7 +217,7 @@ int main(int argc, char **argv) + + g_custom_logger = &show_error_as_msgbox; + GtkApplication *app = gtk_application_new("org.freedesktop.libreport.report", G_APPLICATION_NON_UNIQUE); +- g_signal_connect(app, "activate", G_CALLBACK(activate_wizard), (gpointer)expert_mode); ++ g_signal_connect(app, "activate", G_CALLBACK(activate_wizard), (gpointer)&expert_mode); + g_signal_connect(app, "startup", G_CALLBACK(startup_wizard), NULL); + /* Enter main loop */ + g_application_run(G_APPLICATION(app), argc, argv); +diff --git a/src/plugins/reporter-ureport.c b/src/plugins/reporter-ureport.c +index 367f00d..e8c1ed5 100644 +--- a/src/plugins/reporter-ureport.c ++++ b/src/plugins/reporter-ureport.c +@@ -47,7 +47,7 @@ int main(int argc, char **argv) + }; + + int ret = 1; /* "failure" (for now) */ +- bool insecure = !config.ur_ssl_verify; ++ int insecure = !config.ur_ssl_verify; + const char *conf_file = UREPORT_CONF_FILE_PATH; + const char *arg_server_url = NULL; + const char *client_auth = NULL; +@@ -56,11 +56,11 @@ int main(int argc, char **argv) + const char *ureport_hash = NULL; + bool ureport_hash_from_rt = false; + int rhbz_bug = -1; +- bool rhbz_bug_from_rt = false; ++ int rhbz_bug_from_rt = false; + const char *email_address = NULL; +- bool email_address_from_env = false; ++ int email_address_from_env = false; + char *comment = NULL; +- bool comment_file = NULL; ++ int comment_file = NULL; + struct dump_dir *dd = NULL; + struct options program_options[] = { + OPT__VERBOSE(&g_verbose), +-- +2.1.0 + diff --git a/0042-ureport-correct-variable-initializations.patch b/0042-ureport-correct-variable-initializations.patch new file mode 100644 index 0000000..a8d9533 --- /dev/null +++ b/0042-ureport-correct-variable-initializations.patch @@ -0,0 +1,35 @@ +From f68f48520a1fb3af37bfacd0bdb5c7c6824f6452 Mon Sep 17 00:00:00 2001 +From: Jakub Filak +Date: Wed, 14 Jan 2015 13:50:55 +0100 +Subject: [PATCH] ureport: correct variable initializations + +Signed-off-by: Jakub Filak +--- + src/plugins/reporter-ureport.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/plugins/reporter-ureport.c b/src/plugins/reporter-ureport.c +index e8c1ed5..cc3c59a 100644 +--- a/src/plugins/reporter-ureport.c ++++ b/src/plugins/reporter-ureport.c +@@ -54,13 +54,13 @@ int main(int argc, char **argv) + GList *auth_items = NULL; + const char *dump_dir_path = "."; + const char *ureport_hash = NULL; +- bool ureport_hash_from_rt = false; ++ int ureport_hash_from_rt = 0; + int rhbz_bug = -1; +- int rhbz_bug_from_rt = false; ++ int rhbz_bug_from_rt = 0; + const char *email_address = NULL; +- int email_address_from_env = false; ++ int email_address_from_env = 0; + char *comment = NULL; +- int comment_file = NULL; ++ int comment_file = 0; + struct dump_dir *dd = NULL; + struct options program_options[] = { + OPT__VERBOSE(&g_verbose), +-- +2.1.0 + diff --git a/0043-dump_dir-allow-semi-recursive-locking.patch b/0043-dump_dir-allow-semi-recursive-locking.patch new file mode 100644 index 0000000..f266873 --- /dev/null +++ b/0043-dump_dir-allow-semi-recursive-locking.patch @@ -0,0 +1,207 @@ +From dd4dcba832d420aec6c979b6e6eab2cda93f2b76 Mon Sep 17 00:00:00 2001 +From: Jakub Filak +Date: Tue, 20 Jan 2015 14:18:04 +0100 +Subject: [PATCH] dump_dir: allow (semi)recursive locking + +This patch only tries to mitigate the consequences of a bug in code +where someone tries to lock a dump directory while it is already locked +by the same process. This usually happens when a callee accepts a path +to directory and opens it on its own or when someone forgets to call +dd_unlock() or in all the unpredictable circumstance we usually have to +face in ABRT. + +It is not possible to implement the lock counter using only a symbolic +link and file system functions, thus I've decided to put the +responsibility of unlocking to the first dd_lock() caller and disallow +the consecutive callers to unlock the dump directory. + +Related to abrt/abrt#898 + +Signed-off-by: Jakub Filak +Signed-off-by: Matej Habrnal + +Conflicts: + tests/Makefile.am + tests/testsuite.at +--- + src/include/dump_dir.h | 6 ++++++ + src/lib/dump_dir.c | 25 +++++++++++++++++++------ + tests/Makefile.am | 3 ++- + tests/dump_dir.at | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ + tests/testsuite.at | 1 + + 5 files changed, 79 insertions(+), 7 deletions(-) + create mode 100644 tests/dump_dir.at + +diff --git a/src/include/dump_dir.h b/src/include/dump_dir.h +index 124511e..ed4c873 100644 +--- a/src/include/dump_dir.h ++++ b/src/include/dump_dir.h +@@ -55,6 +55,12 @@ struct dump_dir { + mode_t mode; + time_t dd_time; + char *dd_type; ++ ++ /* In case of recursive locking the first caller owns the lock and is ++ * responsible for unlocking. The consecutive dd_lock() callers acquire the ++ * lock but are not able to unlock the dump directory. ++ */ ++ int owns_lock; + }; + + void dd_close(struct dump_dir *dd); +diff --git a/src/lib/dump_dir.c b/src/lib/dump_dir.c +index 045a45b..15e7dcd 100644 +--- a/src/lib/dump_dir.c ++++ b/src/lib/dump_dir.c +@@ -216,6 +216,7 @@ int create_symlink_lockfile(const char* lock_file, const char* pid) + if (strcmp(pid_buf, pid) == 0) + { + log("Lock file '%s' is already locked by us", lock_file); ++ errno = EALREADY; + return 0; + } + if (isdigit_str(pid_buf)) +@@ -243,6 +244,7 @@ int create_symlink_lockfile(const char* lock_file, const char* pid) + } + + static const char *dd_check(struct dump_dir *dd) ++ + { + unsigned dirname_len = strlen(dd->dd_dirname); + char filename_buf[FILENAME_MAX+1]; +@@ -287,12 +289,18 @@ static int dd_lock(struct dump_dir *dd, unsigned sleep_usec, int flags) + int r = create_symlink_lockfile(lock_buf, pid_buf); + if (r < 0) + return r; /* error */ +- if (r > 0) ++ if (r > 0 || errno == EALREADY) + break; /* locked successfully */ + /* Other process has the lock, wait for it to go away */ + usleep(sleep_usec); + } + ++ /* Reset errno to 0 only if errno is EALREADY (used by ++ * create_symlink_lockfile() to signal that the dump directory is already ++ * locked by us) */ ++ if (!(dd->owns_lock = (errno != EALREADY))) ++ errno = 0; ++ + /* Are we called by dd_opendir (as opposed to dd_create)? */ + if (sleep_usec == WAIT_FOR_OTHER_PROCESS_USLEEP) /* yes */ + { +@@ -304,8 +312,10 @@ static int dd_lock(struct dump_dir *dd, unsigned sleep_usec, int flags) + */ + if (missing_file) + { +- xunlink(lock_buf); +- log_notice("Unlocked '%s' (no or corrupted '%s' file)", lock_buf, missing_file); ++ if (dd->owns_lock) ++ xunlink(lock_buf); ++ ++ log_warning("Unlocked '%s' (no or corrupted '%s' file)", lock_buf, missing_file); + if (--count == 0 || flags & DD_DONT_WAIT_FOR_LOCK) + { + errno = EISDIR; /* "this is an ordinary dir, not dump dir" */ +@@ -324,13 +334,16 @@ static void dd_unlock(struct dump_dir *dd) + { + if (dd->locked) + { +- dd->locked = 0; +- + unsigned dirname_len = strlen(dd->dd_dirname); + char lock_buf[dirname_len + sizeof("/.lock")]; + strcpy(lock_buf, dd->dd_dirname); + strcpy(lock_buf + dirname_len, "/.lock"); +- xunlink(lock_buf); ++ ++ if (dd->owns_lock) ++ xunlink(lock_buf); ++ ++ dd->owns_lock = 0; ++ dd->locked = 0; + + log_info("Unlocked '%s'", lock_buf); + } +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 1cfc206..503c440 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -42,7 +42,8 @@ TESTSUITE_AT = \ + report_python.at \ + xfuncs.at \ + string_list.at \ +- ureport.at ++ ureport.at \ ++ dump_dir.at + + EXTRA_DIST += $(TESTSUITE_AT) + TESTSUITE = $(srcdir)/testsuite +diff --git a/tests/dump_dir.at b/tests/dump_dir.at +new file mode 100644 +index 0000000..efec63f +--- /dev/null ++++ b/tests/dump_dir.at +@@ -0,0 +1,51 @@ ++# -*- Autotest -*- ++ ++AT_BANNER([dump_dir]) ++ ++## -------------- ## ++## recursive_lock ## ++## -------------- ## ++ ++AT_TESTFUN([recursive_lock], ++[[ ++#include "internal_libreport.h" ++#include ++#include ++ ++int main(int argc, char **argv) ++{ ++ g_verbose = 3; ++ ++ char *path = tmpnam(NULL); ++ struct dump_dir *dd = dd_create(path, -1L, DEFAULT_DUMP_DIR_MODE); ++ ++ char *lock_path = concat_path_file(path, ".lock"); ++ struct stat buf; ++ ++ assert(dd); ++ ++ assert(lstat(lock_path, &buf) == 0 && S_ISLNK(buf.st_mode)); ++ ++ dd_create_basic_files(dd, -1L, "/"); ++ dd_save_text(dd, "type", "custom"); ++ ++ struct dump_dir *dd2 = dd_opendir(path, DD_OPEN_READONLY); ++ assert(dd2->owns_lock == 0); ++ ++ struct dump_dir *dd3 = dd_opendir(path, 0); ++ assert(dd3->owns_lock == 0); ++ ++ dd_close(dd2); ++ assert(lstat(lock_path, &buf) == 0 && S_ISLNK(buf.st_mode)); ++ ++ dd_close(dd3); ++ assert(lstat(lock_path, &buf) == 0 && S_ISLNK(buf.st_mode)); ++ ++ dd_close(dd); ++ ++ assert(stat(lock_path, &buf) != 0 && errno == ENOENT); ++ free(lock_path); ++ ++ return 0; ++} ++]]) +diff --git a/tests/testsuite.at b/tests/testsuite.at +index abad32b..41107e7 100644 +--- a/tests/testsuite.at ++++ b/tests/testsuite.at +@@ -17,3 +17,4 @@ m4_include([xml_definition.at]) + m4_include([report_python.at]) + m4_include([string_list.at]) + m4_include([ureport.at]) ++m4_include([dump_dir.at]) +-- +2.1.0 + diff --git a/0044-ignored-words-passed-is-not-a-dirty-word.patch b/0044-ignored-words-passed-is-not-a-dirty-word.patch new file mode 100644 index 0000000..d869e69 --- /dev/null +++ b/0044-ignored-words-passed-is-not-a-dirty-word.patch @@ -0,0 +1,24 @@ +From a8e11769d6dc3e089a77faccdf618b4bfbeee0dd Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel +Date: Thu, 19 Feb 2015 19:21:38 +0100 +Subject: [PATCH] ignored words: "passed" is not a dirty word + +--- + src/gui-wizard-gtk/ignored_words.conf | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/gui-wizard-gtk/ignored_words.conf b/src/gui-wizard-gtk/ignored_words.conf +index e6ae815..39964bc 100644 +--- a/src/gui-wizard-gtk/ignored_words.conf ++++ b/src/gui-wizard-gtk/ignored_words.conf +@@ -45,6 +45,7 @@ login.so + libkeyutils + PassOwnPtr + PassRefPtr ++passed + This access was not denied. + # not considered sensitive + USER= +-- +2.1.0 + diff --git a/0045-ignored-words-fix-a-typo-in-SHELL-sbin-nologin.patch b/0045-ignored-words-fix-a-typo-in-SHELL-sbin-nologin.patch new file mode 100644 index 0000000..4fa8e3c --- /dev/null +++ b/0045-ignored-words-fix-a-typo-in-SHELL-sbin-nologin.patch @@ -0,0 +1,23 @@ +From 8323691693b3a1b80a60843fd279b4d1a43a7e03 Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel +Date: Thu, 19 Feb 2015 19:23:37 +0100 +Subject: [PATCH] ignored words: fix a typo in SHELL=/sbin/nologin + +--- + src/gui-wizard-gtk/ignored_words.conf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gui-wizard-gtk/ignored_words.conf b/src/gui-wizard-gtk/ignored_words.conf +index 39964bc..6af5d69 100644 +--- a/src/gui-wizard-gtk/ignored_words.conf ++++ b/src/gui-wizard-gtk/ignored_words.conf +@@ -50,5 +50,5 @@ This access was not denied. + # not considered sensitive + USER= + USERNAME= +-SHELL=/sbin/nologin/ ++SHELL=/sbin/nologin + SSH_ASKPASS= +-- +2.1.0 + diff --git a/0046-ignored-words-add-a-few-key-and-access-words.patch b/0046-ignored-words-add-a-few-key-and-access-words.patch new file mode 100644 index 0000000..dd596b3 --- /dev/null +++ b/0046-ignored-words-add-a-few-key-and-access-words.patch @@ -0,0 +1,62 @@ +From 6a12e483032955415bb4404c528fac96d48c90ec Mon Sep 17 00:00:00 2001 +From: Jakub Filak +Date: Thu, 19 Feb 2015 19:41:01 +0100 +Subject: [PATCH] ignored words: add a few 'key' and 'access' words + +Related: rhbz#1180135 + +Signed-off-by: Jakub Filak +--- + src/gui-wizard-gtk/ignored_words.conf | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/gui-wizard-gtk/ignored_words.conf b/src/gui-wizard-gtk/ignored_words.conf +index 6af5d69..19578b4 100644 +--- a/src/gui-wizard-gtk/ignored_words.conf ++++ b/src/gui-wizard-gtk/ignored_words.conf +@@ -12,7 +12,10 @@ AccountsService + Cannot access memory + EventKey + event_key ++escKey + gnome-ssh-askpass ++hotkey ++Hotkey + keyboard + KEYBOARD + keymap +@@ -29,9 +32,11 @@ KeyEvent + key_event + KEY_EVENT + keypress ++keyPress + KeyPress + key_press + KEY_PRESS ++keyRelease + key_release + KEY_RELEASE + KeyValuePair +@@ -39,6 +44,7 @@ KeyValuePairKeyExtractor + keyup + KEYUP + ksshaskpass ++libkeyutils.so + libpciaccess.so + libsecret + login.so +@@ -46,7 +52,11 @@ libkeyutils + PassOwnPtr + PassRefPtr + passed ++QNetworkAccessManager + This access was not denied. ++.keymap= ++(because of 'access') ++(because of 'key') + # not considered sensitive + USER= + USERNAME= +-- +2.1.0 + diff --git a/libreport.spec b/libreport.spec index 2c55845..aed4d75 100644 --- a/libreport.spec +++ b/libreport.spec @@ -7,7 +7,7 @@ Summary: Generic library for reporting various problems Name: libreport Version: 2.3.0 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: https://github.com/abrt/abrt/wiki/ABRT-Project @@ -53,6 +53,15 @@ Patch0034: 0034-problem_data-make-ks.cfg-file-editable.patch Patch0035: 0035-ureport-uReport_ContactEmail-setting-can-be-left-emp.patch Patch0036: 0036-forbidden-words-add-OpenStack-related-strings.patch Patch0037: 0037-anaconda-mark-anaconda-tb-as-editable-file-and-remov.patch +Patch0038: 0038-report-client-fix-minor-python3-incompatibilities.patch +Patch0039: 0039-gui-ignore-a-A-ccesib-ility-le-words.patch +Patch0040: 0040-gui-try-to-reduce-false-positive-sensitive-words.patch +Patch0041: 0041-Do-not-use-bool-in-OPT_BOOL-macro-it-expects-int.patch +Patch0042: 0042-ureport-correct-variable-initializations.patch +Patch0043: 0043-dump_dir-allow-semi-recursive-locking.patch +Patch0044: 0044-ignored-words-passed-is-not-a-dirty-word.patch +Patch0045: 0045-ignored-words-fix-a-typo-in-SHELL-sbin-nologin.patch +Patch0046: 0046-ignored-words-add-a-few-key-and-access-words.patch # git is need for '%%autosetup -S git' which automatically applies all the # patches above. Please, be aware that the patches must be generated @@ -715,6 +724,14 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Tue Feb 24 2015 Matej Habrnal 2.3.0-6 +- ignore (a|A)ccesib(ility|le) words +- try to reduce false positive sensitive words +- ureport: correct variable initializations +- allow (semi)recursive locking +- ignored words: add a few 'key' and 'access' words +- Resolves: #1175720 + * Fri Nov 28 2014 Jakub Filak 2.3.0-5 - anaconda: filter out rootpw lines - highglit OpenStack related strings