Compare commits

..

195 commits

Author SHA1 Message Date
Fedora Release Engineering
0baf939494 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 03:23:57 +00:00
Michal Srb
fb86abde3b a-a-save-container-data: validate input
Resolves: CVE-2025-12744

Signed-off-by: Michal Srb <michal@redhat.com>
2025-12-04 20:32:21 +01:00
Michal Srb
b36cf8c499 Update to 2.17.7
Signed-off-by: Michal Srb <michal@redhat.com>
2025-10-02 10:36:26 +02:00
Python Maint
ba57e0bbb5 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 12:06:17 +02:00
Python Maint
54bdc1243f Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 12:37:49 +02:00
Adam Williamson
026c727cd2 Bump release 2025-08-01 10:49:36 -07:00
Adam Williamson
3e192a597d Obsolete fros packages
fros was recently retired:
https://src.fedoraproject.org/rpms/fros/c/1d5c887
it was added to comps to support abrt-desktop:
https://pagure.io/fedora-comps/c/e845f70
so it seems most appropriate to have abrt obsolete it, if we
don't just use obsolete-packages.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-07-25 14:27:51 -07:00
Fedora Release Engineering
ea69665c75 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 16:42:37 +00:00
Python Maint
b8a18969b7 Rebuilt for Python 3.14 2025-06-03 15:33:02 +02:00
Zbigniew Jędrzejewski-Szmek
3063be65d9 Add sysusers.d config file to allow rpm to create users/groups automatically 2025-01-23 17:02:44 +01:00
Fedora Release Engineering
c76a737f5a Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 10:29:17 +00:00
David Abdurachmanov
67fc5aa756 Disable Requires on kexec-tools for riscv64
kexec is supported for riscv64 on the kernel side, but the tooling side
is not yet upstreamed. Status is unknown.

See recent failed kexec-tools builds on riscv64 here:
http://fedora.riscv.rocks/koji/packageinfo?packageID=17577

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
2024-12-02 09:59:50 +00:00
Neal Gompa
1bb8628644 Drop container handler (rhbz#2295150) 2024-09-11 12:56:30 +02:00
Michal Srb
d48adf4500 Update to upstream release 2.17.6
Signed-off-by: Michal Srb <michal@redhat.com>
2024-09-01 15:24:09 +02:00
Fedora Release Engineering
e5b49f4be8 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 16:31:08 +00:00
Zbigniew Jędrzejewski-Szmek
66812b6c92 Drop call to marshalparser
This is now done automatically by add-determinism:
https://fedoraproject.org/wiki/Changes/ReproduciblePackageBuilds
2024-06-18 13:04:35 +02:00
Python Maint
af451300aa Rebuilt for Python 3.13 2024-06-09 02:46:55 +02:00
Michal Srb
202231f9cb Update to 2.17.5
Signed-off-by: Michal Srb <michal@redhat.com>
2024-02-19 19:59:39 +01:00
Michal Srb
e8f18508da Update to upstream release 2.17.4
Signed-off-by: Michal Srb <michal@redhat.com>
2024-02-12 22:59:07 +01:00
Michal Srb
58c69f3384 Update spec file
Signed-off-by: Michal Srb <michal@redhat.com>
2024-02-05 22:35:28 +01:00
Michal Srb
7fea67f0ed Update to upstream release 2.17.2
Signed-off-by: Michal Srb <michal@redhat.com>
2024-02-04 23:45:24 +01:00
Fedora Release Engineering
7eebe59cc3 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 22:34:46 +00:00
Fedora Release Engineering
f1adb64577 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 12:03:02 +00:00
Fedora Release Engineering
32054b4681 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 12:49:45 +00:00
Python Maint
bbc9c5edc4 Rebuilt for Python 3.12 2023-07-01 11:44:59 +02:00
Michal Srb
e76a84e22d Update to upstream release 2.17.1
Signed-off-by: Michal Srb <michal@redhat.com>
2023-06-30 13:29:27 +02:00
Python Maint
7073ad4346 Rebuilt for Python 3.12 2023-06-28 19:02:20 +02:00
Matěj Grabovský
1f0eac990d Update to upstream release 2.17.0
Signed-off-by: Matěj Grabovský <mgrabovs@redhat.com>
2023-05-22 11:38:48 +02:00
Michal Srb
e65ab2c3e6 Update to upstream release 2.16.1
Signed-off-by: Michal Srb <michal@redhat.com>
2023-03-30 11:37:17 +02:00
Matěj Grabovský
8c7bdb1523 Use SPDX format for license field
See [the wiki][1] for details.

[1]: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1
2023-02-02 15:54:58 +01:00
Fedora Release Engineering
e73a64df97 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 21:19:42 +00:00
Michal Srb
50a321fe1d Update to upstream release 2.16.0
Signed-off-by: Michal Srb <michal@redhat.com>
2022-10-24 18:27:21 +02:00
Michal Srb
a20ba81e1d abrt-journal: First seek the journal tail and then set filters
Resolves: rhbz#2128662

Signed-off-by: Michal Srb <michal@redhat.com>
2022-10-19 15:41:54 +02:00
Michal Srb
c8a122775e applet: Update GLib constant name
This fixes FTBFS in F37+

Signed-off-by: Michal Srb <michal@redhat.com>
2022-10-12 09:59:26 +02:00
Michal Srb
4f63977e6d Adjust gating.yaml for non-Rawhide release
Fedora CI still doesn't run the generic tests
for non-Rawhide releases :/

Signed-off-by: Michal Srb <michal@redhat.com>
2022-10-12 09:44:21 +02:00
Michal Srb
534292e248 abrt-journal: call sd_journal_get_fd() right after sd_journal_open()
Resolves: rhbz#2128662

Signed-off-by: Michal Srb <michal@redhat.com>
2022-10-12 09:43:01 +02:00
Fedora Release Engineering
d3f14892f8 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 20:22:13 +00:00
Michal Srb
1e992dd7d9 Fix FTBFS
Resolves: rhbz#2093924

Signed-off-by: Michal Srb <michal@redhat.com>
2022-06-16 13:24:42 +02:00
Python Maint
f144023834 Rebuilt for Python 3.11 2022-06-15 18:15:40 +02:00
Michal Srb
3f24d62289 Update to 2.15.1
Signed-off-by: Michal Srb <michal@redhat.com>
2022-03-10 21:48:33 +01:00
Fedora Release Engineering
f9fd407b73 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 20:51:29 +00:00
Matěj Grabovský
fcc2f68d2d Rebuild for testing 2022-01-19 14:54:57 +01:00
Matěj Grabovský
15bea33e03 tests: Add one more conflicting package 2022-01-19 12:27:20 +01:00
Matěj Grabovský
0302f37126 New upstream release 2.15.0 2022-01-17 19:27:36 +01:00
Miro Hrončok
88895e18b5 Fix issues with conflicting multilib packages 2022-01-12 16:24:16 +01:00
Matěj Grabovský
1c9f6e51cf Bump release for rebuild 2022-01-06 15:10:12 +01:00
Matěj Grabovský
810fcb1911 Do not install conflicting packages in test 2022-01-06 14:56:23 +01:00
Matěj Grabovský
1b8bae307a Rebuild for satyr 0.39 2021-12-22 11:22:22 +01:00
Matěj Grabovský
7c6ec28dde Backport Python lazy loading patch (rhbz#2007664) 2021-09-27 12:34:36 +02:00
Fedora Release Engineering
d99ab08e76 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 17:11:34 +00:00
Fedora Release Engineering
e3d620d8fc - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 12:16:28 +00:00
Björn Esser
1d49502fa7
Rebuild for versioned symbols in json-c 2021-07-10 11:51:13 +02:00
Python Maint
4f59333992 Rebuilt for Python 3.10 2021-06-07 17:17:41 +02:00
Michal Fabik
61c2c079e0 Bump release to rebuild in new side tag
Signed-off-by: Michal Fabik <mfabik@redhat.com>
2021-06-04 15:02:12 +02:00
Python Maint
f99a7f835a Rebuilt for Python 3.10 2021-06-04 11:19:26 +02:00
Michal Fabik
a4e0effc61 Rebuild against libreport-2.15.2
Signed-off-by: Michal Fabik <mfabik@redhat.com>
2021-06-02 20:59:37 +02:00
Michal Fabik
094983af73 New upstream release 2.14.6
Signed-off-by: Michal Fabik <mfabik@redhat.com>
2021-05-25 12:52:10 +02:00
Michal Fabik
81ec67df39 Merge #8 Add simple smoke test 2021-05-05 09:42:57 +00:00
Sérgio M. Basto
26627dbec3 Add dependency on python3-systemd
commit 566e2eaacb21e07a8301c3e16408924c46045ad9
Author: Matěj Grabovský <mgrabovs@redhat.com>
Date:   Wed Jan 13 12:16:57 2021 +0100

    spec: Add dependency on python3-systemd

    abrt-action-check-oops-for-hw-error from the abrt-addon-vmcore package
    imports systemd.journal but the python3-systemd package is not declared
    as a dependency, which causes the script to crash if python3-systemd is
    not installed on the system.

    This commit fixes this by adding the formal dependency in the spec file.

    Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1914170
2021-05-01 20:29:26 +01:00
Sérgio M. Basto
126031c321 Obsoletes abrt-plugin-sosreport, to fix upgrade path 2021-04-30 22:41:16 +01:00
Michal Fabik
a1c9e8ff22 Add simple smoke test 2021-03-09 12:23:00 +01:00
Zbigniew Jędrzejewski-Szmek
074ab8b76c Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:14:14 +01:00
Michal Židek
7e13959917 gating: Add gating.yaml 2021-02-17 13:58:09 +01:00
Fedora Release Engineering
dacf4e649a - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-25 23:44:28 +00:00
Michal Fabik
003b0187a1 New upstream release 2.14.5
Signed-off-by: Michal Fabik <mfabik@redhat.com>
2020-12-01 15:21:38 +01:00
Miro Hrončok
82eb0a22c3 Use autoreconf in %build instead of plain autoconf
This way, when stuff is fixed in automake, the source tarball does not need
to be re-generated in upstream to use the fix.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1897489
2020-11-13 11:17:17 +01:00
Matěj Grabovský
511e6ce6d4 Add upstream patch for an invalid read bug 2020-10-13 11:11:22 +02:00
Matěj Grabovský
1ab9d3859f Add patch for #1881745 2020-09-24 10:07:28 +02:00
Michal Fabik
00422605f4 spec: Add Provides to Obsoletes
Signed-off-by: Michal Fabik <mfabik@redhat.com>
2020-08-24 09:38:50 +02:00
Michal Fabik
3de7b9d0b7 New upstream release 2.14.4
Signed-off-by: Michal Fabik <mfabik@redhat.com>
2020-08-21 11:47:18 +02:00
Michal Fabik
5e37f50192 New upstream release 2.14.3
Signed-off-by: Michal Fabik <mfabik@redhat.com>
2020-08-21 11:47:15 +02:00
Adam Williamson
92ab2eb5b3 Rebuild for libreport soname bump 2020-08-13 16:42:48 -07:00
Ernestas Kulik
935456c7d9 Add patch for #1860903 2020-07-28 16:28:09 +02:00
Fedora Release Engineering
d8a4ccc6c2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 11:40:43 +00:00
Miro Hrončok
a2bcded0dc Rebuilt for Python 3.9 2020-05-24 09:41:56 +02:00
Ernestas Kulik
18305b2c50 Add fix for #1836190 2020-05-21 16:21:26 +02:00
Michal Fabik
438b4b73c7 New upstream release 2.14.2
Signed-off-by: Michal Fabik <mfabik@redhat.com>
2020-05-12 10:11:37 +02:00
Ernestas Kulik
9f7a213711 Bump libreport dependency 2020-04-25 11:12:34 +02:00
Michal Fabik
bf7b8afe4a New upstream release 2.14.1
Signed-off-by: Michal Fabik <mfabik@redhat.com>
2020-04-24 18:15:58 +02:00
Björn Esser
61c6c411a8 Rebuild (json-c) 2020-04-22 00:01:43 +02:00
Ernestas Kulik
e161563d64 Bump libreport dependency 2020-02-07 10:52:02 +01:00
Ernestas Kulik
400b28eb78 Sync spec changes from upstream 2020-02-07 09:32:24 +01:00
Ernestas Kulik
c84c5d2738 Update to 2.14.0 2020-02-07 08:45:18 +01:00
Igor Raits
5f74b5e407
Backport few more patches to fix compatibility with new libreport
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-02-07 08:00:55 +01:00
Igor Raits
10288b9c6d
Add patch to fix build with new libreport
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-02-07 07:41:21 +01:00
Igor Raits
2bb52e3881
Rebuild for satyr 0.30
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-02-07 07:25:47 +01:00
Martin Kutlak
68a77d6ad6 Fix typo in spec file
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2020-01-31 10:44:31 +01:00
Martin Kutlak
8f4c491a4b Add patch for possibly unitialized variable
Removed comments after endifs.

Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2020-01-31 10:42:41 +01:00
Martin Kutlak
c7d2242d98 patch: Fix build failure with gcc -fno-common
Resolves: rhbz#1795820

Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2020-01-30 17:10:50 +01:00
Fedora Release Engineering
4d76ca5e3a - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 11:08:18 +00:00
Ernestas Kulik
0c014bfd3a Bump release
Oops.
2020-01-14 14:01:49 +01:00
Ernestas Kulik
507c1e9e86 Drop scriptlets for abrt-ccpp.service
It’s been dropped, no use in triggering disabling or restarting. The
preset has had abrt-ccpp replaced with abrt-journal-core forever now as
well, so let’s just do it.
2020-01-14 13:58:06 +01:00
Matěj Grabovský
cbad6eeeab Use correct paths for installed Python modules
This patch is pulled from upstream.
2019-10-16 14:02:50 +02:00
Matěj Grabovský
ac861159ca New upstream release 2.13.0
Signed-off-by: Matěj Grabovský <mgrabovs@redhat.com>
2019-10-11 16:32:47 +02:00
Miro Hrončok
f182793f33 Rebuilt for Python 3.8.0rc1 (#1748018) 2019-10-03 13:50:11 +02:00
Miro Hrončok
9e6bef580f Rebuilt for Python 3.8 2019-08-17 18:45:15 +02:00
Ernestas Kulik
df2a70c73b Update to 2.12.2
Signed-off-by: Ernestas Kulik <ekulik@redhat.com>
2019-08-01 14:31:16 +02:00
Fedora Release Engineering
3e5d6a98ef - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-24 17:28:02 +00:00
Martin Kutlak
a2c5fdd9e8 Add patch to fix failing a-a-list-dsos on rawhide
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2019-07-12 17:36:43 +02:00
Martin Kutlak
6b11b1ff26 New upstream release version 2.12.1
* Remove gen-version from spec
- This is upstream script to generate version. This is not needed in dist-git.

[2.12.1]
Added
- Require dbus-tools for dbus-send command.

Changed
- ABRT won't process crashes coming from unpackaged applications by default.
- Completely removed support for Python2.
- Update new ABRT icon.
- retrace-client defaults to https.
- Updated man pages.
- Removed configurations from /usr/share/abrt.
- Removed provides for abrt-python packages.

Fixed
- Gracefully handle exceptions comming from abrt-action-generate-machine-id.
- Gracefully handle exceptions comming from abrt-action-install-debuginfo.
- Use correct name of environment variable for retrace-server.

Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2019-07-03 17:54:51 +02:00
Igor Gnatenko
f9e6665820
Rebuild for RPM 4.15
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-06-11 00:13:16 +02:00
Igor Gnatenko
17aa2db63d
Rebuild for RPM 4.15
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-06-10 17:41:59 +02:00
Miro Hrončok
1ee4720bca BR git explicitly, it is used in %prep
Previously, it was pulled in transitively,
that is no longer true.

  Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.k6RazT
  ...
  + /usr/bin/git init -q
  /var/tmp/rpm-tmp.k6RazT: line 42: /usr/bin/git: No such file or directory
  error: Bad exit status from /var/tmp/rpm-tmp.k6RazT (%prep)
2019-04-04 15:45:29 +02:00
Ernestas Kulik
67f63a5ca4 Bump release
Forgot to do that, too.

Signed-off-by: Ernestas Kulik <ekulik@redhat.com>
2019-02-05 16:49:11 +01:00
Ernestas Kulik
5dfc50845c Bump dependencies
Forgot to do that the first time.

Signed-off-by: Ernestas Kulik <ekulik@redhat.com>
2019-02-05 16:47:56 +01:00
Ernestas Kulik
c7b20eb399 Update to 2.12.0
Signed-off-by: Ernestas Kulik <ekulik@redhat.com>
2019-02-04 14:33:29 +01:00
Fedora Release Engineering
ebf644594c - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 12:53:03 +00:00
Igor Gnatenko
eadff202bc
Remove obsolete scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-27 12:37:15 +01:00
Matej Marusak
9d7d233bf9 Bump up release
Signed-off-by: Matej Marusak <mmarusak@redhat.com>
2019-01-12 12:41:33 +01:00
Matej Marusak
8086e64036 Fix use after free in applet
Fixes BZ#1665521

Signed-off-by: Matej Marusak <mmarusak@redhat.com>
2019-01-12 12:39:07 +01:00
Matej Marusak
509bd67e3d Include forgotten macro
Signed-off-by: Matej Marusak <mmarusak@redhat.com>
2019-01-08 15:13:11 +01:00
Matej Marusak
895d076624 Update to work with new glib
Signed-off-by: Matej Marusak <mmarusak@redhat.com>
2019-01-08 14:46:39 +01:00
Matej Marusak
50039757c0 New upstream release
Signed-off-by: Matej Marusak <mmarusak@redhat.com>
2019-01-08 12:00:40 +01:00
Martin Kutlak
8dd747fded Remove omitted patches
Forgot to remove these in 92d1203917

Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2018-10-08 15:31:11 +02:00
Martin Kutlak
92d1203917 New upstream release 2.11.0
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2018-10-08 15:20:06 +02:00
Adam Williamson
bcfb1b554d Backport several bugfix commits, inc. gdb bt generation fail
Generation of gdb backtraces in 2.10.10 is entirely broken. As
I was backporting that fix, I saw three other bug fix commits
that looked significant, so backported those too. One is needed
for the package to build at all (the g_type_class_add_private
replacement).
2018-09-15 15:14:00 -07:00
Igor Gnatenko
d26d504519
%{python_sitearch} → %{python2_sitearch}
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-07-30 00:22:30 +02:00
Igor Gnatenko
c6814312f9
%{python_sitelib} → %{python2_sitelib}
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-07-29 23:12:01 +02:00
Fedora Release Engineering
4ac8f5f7a9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-12 19:56:23 +00:00
Jason Tibbitts
a09a33c9f5 Remove needless use of %defattr 2018-07-10 00:09:12 -05:00
Miro Hrončok
3c2253dc6d Rebuilt for Python 3.7 2018-06-18 18:17:04 +02:00
Miro Hrončok
042464a929 Set PYTHON to python3 during install
...to avoid ambiguous python invocation

Fixes a FTBFS https://bugzilla.redhat.com/show_bug.cgi?id=1589314
2018-06-08 18:22:35 +02:00
Matej Marusak
dcab69a1fb New version 2.10.10
Signed-off-by: Matej Marusak <mmarusak@redhat.com>
2018-05-31 11:10:41 +02:00
Matej Habrnal
2c14e84f08 abrt do not require python2 if "with python3"
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2018-05-10 13:16:29 +02:00
Matej Habrnal
81b08b87c0 abrt-addon-ccpp do not require python2 if "with python3"
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2018-05-09 10:18:59 +02:00
Matej Habrnal
437b080e9a drop python2-abrt-addon requires
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2018-05-03 10:56:51 +02:00
Matej Habrnal
c9a0a107d9 Fix python requires in spec file
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2018-04-27 13:25:04 +02:00
Matej Habrnal
4f98a322c2 New upstream release 2.10.9
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2018-04-27 13:13:39 +02:00
Björn Esser
648b4c8601
Rebuilt for libjson-c.so.4 (json-c v0.13.1) on fc28 2018-03-27 10:11:14 +02:00
Matej Habrnal
fa6bf827b2 New version 2.10.8
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2018-03-21 11:52:41 +01:00
Björn Esser
22482fb18b
Rebuilt for libjson-c.so.4 (json-c v0.13.1) 2018-03-06 15:14:36 +01:00
Matej Habrnal
dc422cf7ed New version 2.10.7
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2018-02-26 15:27:37 +01:00
Matej Habrnal
e06dcb57e7 New version 2.10.6
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2018-02-21 16:34:57 +01:00
Igor Gnatenko
6b7ef25742 Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-13 23:00:48 +01:00
Igor Gnatenko
7b19a66f3c
Escape macros in %changelog
Reference: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Y2ZUKK2B7T2IKXPMODNF6HB2O5T5TS6H/
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-09 09:04:06 +01:00
Fedora Release Engineering
09e4addde4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 01:46:08 +00:00
Igor Gnatenko
4684ea4866 Remove obsolete scriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-01-05 23:23:42 +01:00
Iryna Shcherbina
d663542b40 Fix ambiguous Python 2 dependency declarations 2017-12-11 14:39:41 +01:00
Björn Esser
37ad20102e
Rebuilt for libjson-c.so.3 2017-12-10 23:04:55 +01:00
Julius Milan
85802ca9d7 New version 2.10.5
Signed-off-by: Julius Milan <jmilan@redhat.com>
2017-11-02 19:54:22 +01:00
Martin Kutlak
a074333d28 Drop GPG check patch for unsigned packages
Rawhide packages are signed.
https://fedoraproject.org/wiki/Releases/Rawhide

Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2017-09-27 10:21:34 +02:00
Martin Kutlak
6a0f0e431a Fix log renaming to log_warning
Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2017-08-30 14:35:12 +02:00
Matej Habrnal
d2918af2e6 New version 2.10.4
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2017-08-28 13:06:51 +02:00
Zbigniew Jędrzejewski-Szmek
49b1bc1549 Fix %_isa and add some missing Provides 2017-08-19 18:39:14 -04:00
Zbigniew Jędrzejewski-Szmek
afd3ea3bea Finish renaming of python binary packages
I messed up previous commit, sorry.
2017-08-19 10:17:11 -04:00
Zbigniew Jędrzejewski-Szmek
f36c5ca8dc Rename python binary packages 2017-08-19 07:14:33 -04:00
Igor Gnatenko
2fe9ae6400 Hacks for RPM 4.14 support
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-08-11 12:27:27 +02:00
Igor Gnatenko
baf8fefda7 Rebuilt after RPM update (№ 3)
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-08-11 10:39:26 +02:00
Igor Gnatenko
9b73a80599 Rebuilt for RPM soname bump
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-08-10 22:06:39 +02:00
Igor Gnatenko
248ea8cdf4 Rebuilt for RPM soname bump
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-08-10 20:19:43 +02:00
Fedora Release Engineering
5349e70f0a - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 17:21:56 +00:00
Fedora Release Engineering
7ef5a567fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 02:31:58 +00:00
Martin Kutlak
7de0bef650 Fix sources
I accidently commited wrong sources file in commit 253f3b.

Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2017-06-16 10:14:02 +02:00
Martin Kutlak
253f3b5e24 New version 2.10.3
Resolves: #1452160, #1444924, #1437956

Signed-off-by: Martin Kutlak <mkutlak@redhat.com>
2017-06-15 17:51:01 +02:00
Matej Habrnal
e8a62759b3 abrt-desktop shouldn't require gdb but gdb-headless
abrt-desktop required gdb which which pulls in gcc among other things.

Resolves: #1452336

Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2017-05-19 10:17:53 +02:00
Matej Habrnal
a170e2f896 create /var/lib/abrt because of abrt-migration
abrt-addon-ccpp has to create /var/lib/abrt because
abrt-migration file is placed here.

Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2017-04-27 10:33:50 +02:00
Matej Habrnal
3c50298685 New version 2.10.2
Resolves: #1439821

Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2017-04-25 13:04:41 +02:00
Matej Habrnal
ba27e114c2 New version 2.10.1
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2017-03-16 12:50:11 +01:00
Fedora Release Engineering
d5ced8a4cf - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 05:41:51 +00:00
Igor Gnatenko
bdca143d24 Rebuild for xmlrpc-c
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-01-21 14:49:59 +01:00
Matej Habrnal
345ed6c98e Allow rpm to be optional at build time and bug fixes
Resolves #1413637, #1413451

Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2017-01-18 10:53:54 +01:00
Matej Habrnal
540f6e7795 New version 2.10.0
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2017-01-03 12:56:21 +01:00
Miro Hrončok
a96f20b524 Rebuild for Python 3.6 2016-12-19 18:20:36 +01:00
Jakub Filak
21561ba82c New upstream release 2.9.0
Signed-off-by: Jakub Filak <jfilak@redhat.com>
2016-09-10 07:33:25 +02:00
Fedora Release Engineering
c649b7d724 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages 2016-07-19 06:29:40 +00:00
Matej Habrnal
e2f4733fc4 New upstream release 2.8.2
Resolves #1357264

Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2016-07-18 12:14:41 +02:00
Matej Habrnal
168feccb11 New upstream release 2.8.1
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2016-05-25 09:48:30 +02:00
Matej Habrnal
cd3efeaff4 Fix broken pipe error in a-a-install-debuginfo
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2016-04-11 09:50:01 +02:00
Matej Habrnal
a22abdb1f3 python3 addon: workaround a bug in traceback
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2016-03-07 15:33:46 +01:00
Matej Habrnal
ba94a9992a blacklist Firefox's plugin-container and turn off compat cores
Resolves: #1308840
2016-02-23 16:05:36 +01:00
Matej Habrnal
04b13c6fc9 drop %e from the core_pattern
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2016-02-10 10:43:04 +01:00
Matej Habrnal
ba52311fcb New version 2.8.0
Resolves: #1304310
2016-02-03 15:05:21 +01:00
Matej Habrnal
ee087b960d New version 2.7.2
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2016-02-02 14:31:00 +01:00
Jakub Filak
61650c58f2 New upstream release 2.7.1
CVE-2015-5273, CVE-2015-5287

Resolves: #1262252, #1284557
2015-11-23 17:52:30 +01:00
Zbigniew Jędrzejewski-Szmek
55488e54c7 Update requires on python-argcomplete 2015-11-14 15:00:41 -05:00
Jakub Filak
46dc322c41 Rebuilt for Python3.5 rebuild 2015-11-06 11:06:27 +01:00
Jakub Filak
820caf519c Fix broken problem details in abrt-cli/gnome-abrt 2015-10-28 00:34:04 +01:00
Matej Habrnal
52400fcf42 New version 2.7.0
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2015-10-15 16:37:31 +02:00
Matej Habrnal
58ac8d6e9a bodhi: fix a segfault when testing an os-release opt for 'rawhide'
and actualize the abrt-bodhi man page

Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2015-09-15 12:55:38 +02:00
Matej Habrnal
ef5d23d3b1 Bug fixes
- introduce bodhi2 to abrt-bodhi
- don't start reporting of not-reportable problems
- add hawkey to BRs of abrt-bodhi
- add bash on the package blacklist

Resolves #1250379

Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2015-08-26 16:52:35 +02:00
Matej Habrnal
b52e1a767a Fix bugs in a-auto-reporting, dbus, a-hook-ccpp and abrt-cli
Correct usage of abrt-gdb-exploitable.

Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2015-08-17 09:51:23 +02:00
Jakub Filak
a6a1fceb2c Add python3-augeas to Requires 2015-07-29 17:49:11 +02:00
Jakub Filak
d01f0fa520 Rebuild for rpmlib
https://lists.fedoraproject.org/pipermail/devel/2015-July/212672.html
2015-07-28 16:14:28 +02:00
Matej Habrnal
66b169ccf2 Fixes related to transition to Python 3 and fix in abrt-merge-pstoreoops
Resolves #1246459

Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2015-07-24 14:58:43 +02:00
Matej Habrnal
207cb13ae3 Use gettext instead of lgettext in all python scripts
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2015-07-22 18:18:18 +02:00
Jakub Filak
9705d07480 New upstream release 2.6.2 2015-07-20 15:22:55 +02:00
Matej Habrnal
071dfeb34c New upstream release 2.6.1
Resolves #1217901
2015-07-07 16:45:39 +02:00
Dennis Gilmore
9d664f2339 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-16 23:33:34 +00:00
Jakub Filak
a8bf279ba2 New upstream release 2.6.0 2015-06-10 08:32:19 +02:00
Matej Habrnal
34dad7f6af Automatic reporting from GSettings, Spelling/grammar fixes and another fixes
Resolves: #1217901

Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
2015-05-20 16:00:35 +02:00
Jakub Filak
b72e3399f7 Remove a no longer needed posttrans scriptlet
The scriptlet was making a copy of 'analyzer' file to 'type' file,
because there was no 'type' file long time ago, a new version
started requiring that element, thus we had to add a scriptlet
creating that problem element for the problems detected by older
versions of abrt (prior abrt-2.5.0, contents of analyzer was the same as
contents of type).
2015-04-13 11:44:16 +02:00
Jakub Filak
91cb6cb2c1 New upstream release 2.5.1 2015-04-09 09:12:18 +02:00
Jakub Filak
bc96715ec7 applet: fix notifications at startup 2015-03-20 06:51:21 +01:00
Jakub Filak
f986ffa0b7 New upstream release 2.5.0 2015-03-18 10:47:20 +01:00
Jakub Filak
6d542d86f0 New upstream release 2.4.0 2015-02-23 06:47:04 +01:00
54 changed files with 1452 additions and 97911 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

44
.gitignore vendored
View file

@ -43,3 +43,47 @@ abrt-1.1.13.tar.gz
/abrt-2.5.1.tar.gz
/abrt-2.6.0.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
/abrt-2.7.2.tar.gz
/abrt-2.8.0.tar.gz
/abrt-2.8.1.tar.gz
/abrt-2.8.2.tar.gz
/abrt-2.9.0.tar.gz
/abrt-2.10.0.tar.gz
/abrt-2.10.1.tar.gz
/abrt-2.10.2.tar.gz
/abrt-2.10.3.tar.gz
/abrt-2.10.4.tar.gz
/abrt-2.10.5.tar.gz
/abrt-2.10.6.tar.gz
/abrt-2.10.7.tar.gz
/abrt-2.10.8.tar.gz
/abrt-2.10.9.tar.gz
/abrt-2.10.10.tar.gz
/abrt-2.11.0.tar.gz
/abrt-2.11.1.tar.gz
/abrt-2.12.0.tar.gz
/abrt-2.12.1.tar.gz
/abrt-2.12.2.tar.gz
/abrt-2.13.0.tar.gz
/abrt-2.14.0.tar.gz
/abrt-2.14.1.tar.gz
/abrt-2.14.2.tar.gz
/abrt-2.14.3.tar.gz
/abrt-2.14.4.tar.gz
/abrt-2.14.5.tar.gz
/abrt-2.14.6.tar.gz
/abrt-2.15.0.tar.gz
/abrt-2.15.1.tar.gz
/abrt-2.16.0.tar.gz
/abrt-2.16.1.tar.gz
/abrt-2.17.0.tar.gz
/abrt-2.17.1.tar.gz
/abrt-2.17.2.tar.gz
/abrt-2.17.4.tar.gz
/abrt-2.17.5.tar.gz
/abrt-2.17.6.tar.gz
/abrt-2.17.7.tar.gz
/abrt-2.17.8.tar.gz

View file

@ -1,114 +0,0 @@
From 5c21d1e390603fdc56dba33cdc69672b3b75beff Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 8 Jul 2015 14:16:39 +0200
Subject: [PATCH] cli: enable authetication for all commands
I forgot to test the info, rm and status commands when I was working on
commit cb770e507f247476651b84ebbef63a5cd4c41d11 and later on I found out
that these commands must be updated to work with the system problems.
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/cli/list.c | 2 +-
src/cli/rm.c | 41 ++++++++++++++++++++++++++++-------------
src/cli/status.c | 3 ++-
3 files changed, 31 insertions(+), 15 deletions(-)
diff --git a/src/cli/list.c b/src/cli/list.c
index 31d1835..8bfb3cc 100644
--- a/src/cli/list.c
+++ b/src/cli/list.c
@@ -35,7 +35,7 @@ static problem_data_t *load_problem_data(const char *problem_id)
char *name2 = NULL;
/* First, check if there is a problem with the passed id */
- GList *problems = get_problems_over_dbus(/*don't authorize*/false);
+ GList *problems = get_problems_over_dbus(g_cli_authenticate);
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/rm.c b/src/cli/rm.c
index fe458ff..37d50e2 100644
--- a/src/cli/rm.c
+++ b/src/cli/rm.c
@@ -19,12 +19,39 @@
#include "libabrt.h"
#include "builtin-cmd.h"
+#include "abrt-cli-core.h"
/* TODO npajkovs:
* add -n, --dry-run
* add -q, --quite
*/
+static int remove_using_dbus(const char **dirs_strv)
+{
+ GList *dirs = NULL;
+ while (*dirs_strv)
+ dirs = g_list_prepend(dirs, (void *)*dirs_strv++);
+ const int ret = delete_problem_dirs_over_dbus(dirs);
+ g_list_free(dirs);
+ return ret;
+}
+
+static int remove_using_abrtd_or_fs(const char **dirs_strv)
+{
+ int errs = 0;
+ while (*dirs_strv)
+ {
+ int status;
+ const char *rm_dir = *dirs_strv++;
+ status = delete_dump_dir_possibly_using_abrtd(rm_dir);
+ if (!status)
+ log("rm '%s'", rm_dir);
+ else
+ errs++;
+ }
+ return errs;
+}
+
int cmd_remove(int argc, const char **argv)
{
const char *program_usage_string = _(
@@ -42,17 +69,5 @@ int cmd_remove(int argc, const char **argv)
if (!argv[0])
show_usage_and_die(program_usage_string, program_options);
- int errs = 0;
- while (*argv)
- {
- int status;
- const char *rm_dir = *argv++;
- status = delete_dump_dir_possibly_using_abrtd(rm_dir);
- if (!status)
- log("rm '%s'", rm_dir);
- else
- errs++;
- }
-
- return errs;
+ return (g_cli_authenticate ? remove_using_dbus : remove_using_abrtd_or_fs)(argv);
}
diff --git a/src/cli/status.c b/src/cli/status.c
index a65ba05..0635289 100644
--- a/src/cli/status.c
+++ b/src/cli/status.c
@@ -20,12 +20,13 @@
#include <unistd.h>
#include <sys/types.h>
#include "problem_api.h"
+#include "abrt-cli-core.h"
static unsigned int count_problem_dirs(unsigned long since)
{
unsigned count = 0;
- GList *problems = get_problems_over_dbus(/*don't authorize*/false);
+ GList *problems = get_problems_over_dbus(g_cli_authenticate);
for (GList *iter = problems; iter != NULL; iter = g_list_next(iter))
{
const char *problem_id = (const char *)iter->data;
--
2.4.3

View file

@ -1,32 +0,0 @@
From de12e078fc167fd1a818b101c1a21fcedf32a1a5 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 8 Jul 2015 17:03:55 +0200
Subject: [PATCH] cli: remove useless code from print_crash()
Revealed by coverity.
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/cli/list.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/cli/list.c b/src/cli/list.c
index 8bfb3cc..e8ec37b 100644
--- a/src/cli/list.c
+++ b/src/cli/list.c
@@ -63,11 +63,10 @@ static void print_crash(problem_data_t *problem_data, int detailed, int text_siz
char *desc;
if (detailed)
{
- int show_multiline = (detailed ? MAKEDESC_SHOW_MULTILINE : 0);
desc = make_description(problem_data,
/*names_to_skip:*/ NULL,
/*max_text_size:*/ text_size,
- MAKEDESC_SHOW_FILES | show_multiline);
+ MAKEDESC_SHOW_FILES | MAKEDESC_SHOW_MULTILINE);
}
else
{
--
2.4.3

View file

@ -1,216 +0,0 @@
From cd698516de709ee3d8480fd7990a8082dffddb45 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 8 Jul 2015 17:04:41 +0200
Subject: [PATCH] cli: use internal command impl in the command process
It did not seem to be a good idea to add wrappers for the internal
commands, because the wrappers would be one line functions. Now, we need
to do more sophisticated processing (authenticate, chown), so adding the
wrappers is the best choice to provide the same functionality in the
command process.
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/cli/builtin-cmd.h | 3 +++
src/cli/list.c | 8 ++++++-
src/cli/process.c | 16 ++++---------
src/cli/report.c | 65 +++++++++++++++++++++++++++------------------------
src/cli/rm.c | 7 +++++-
5 files changed, 56 insertions(+), 43 deletions(-)
diff --git a/src/cli/builtin-cmd.h b/src/cli/builtin-cmd.h
index bc80479..c6cd691 100644
--- a/src/cli/builtin-cmd.h
+++ b/src/cli/builtin-cmd.h
@@ -22,8 +22,11 @@
extern int cmd_list(int argc, const char **argv);
extern int cmd_remove(int argc, const char **argv);
+extern int _cmd_remove(const char **dirs_strv);
extern int cmd_report(int argc, const char **argv);
+extern int _cmd_report(const char **dirs_strv, int remove);
extern int cmd_info(int argc, const char **argv);
+extern int _cmd_info(problem_data_t *problem_data, int detailed, int text_size);
extern int cmd_status(int argc, const char **argv);
extern int cmd_process(int argc, const char **argv);
diff --git a/src/cli/list.c b/src/cli/list.c
index e8ec37b..68dda47 100644
--- a/src/cli/list.c
+++ b/src/cli/list.c
@@ -168,6 +168,12 @@ int cmd_list(int argc, const char **argv)
return 0;
}
+int _cmd_info(problem_data_t *problem_data, int detailed, int text_size)
+{
+ print_crash(problem_data, detailed, text_size);
+ return 0;
+}
+
int cmd_info(int argc, const char **argv)
{
const char *program_usage_string = _(
@@ -205,7 +211,7 @@ int cmd_info(int argc, const char **argv)
continue;
}
- print_crash(problem, opt_detailed, text_size);
+ _cmd_info(problem, opt_detailed, text_size);
problem_data_free(problem);
if (*argv)
printf("\n");
diff --git a/src/cli/process.c b/src/cli/process.c
index 39462f9..401ef60 100644
--- a/src/cli/process.c
+++ b/src/cli/process.c
@@ -68,28 +68,22 @@ static int process_one_crash(problem_data_t *problem_data)
if(strcmp(action, "rm") == 0 || strcmp(action, "remove") == 0 )
{
log(_("Deleting '%s'"), dir_name);
- delete_dump_dir_possibly_using_abrtd(dir_name);
+ const char *dirs_strv[] = {dir_name, NULL};
+ _cmd_remove(dirs_strv);
ret_val = ACT_REMOVE;
}
else if (not_reportable == NULL && (strcmp(action, "e") == 0 || strcmp(action, "report") == 0))
{
log(_("Reporting '%s'"), dir_name);
- report_problem_in_dir(dir_name,
- LIBREPORT_WAIT
- | LIBREPORT_RUN_CLI);
+ const char *dirs_strv[] = {dir_name, NULL};
+ _cmd_report(dirs_strv, /*do not delete*/0);
ret_val = ACT_REPORT;
}
else if (strcmp(action, "i") == 0 || strcmp(action, "info") == 0)
{
- char *desc = make_description(problem_data,
- /*names_to_skip:*/ NULL,
- /*max_text_size:*/ CD_TEXT_ATT_SIZE_BZ,
- MAKEDESC_SHOW_FILES | MAKEDESC_SHOW_MULTILINE);
-
- fputs(desc, stdout);
- free(desc);
+ _cmd_info(problem_data, /*detailed*/1, CD_TEXT_ATT_SIZE_BZ);
ret_val = ACT_INFO;
}
diff --git a/src/cli/report.c b/src/cli/report.c
index 194f7c9..19b4c51 100644
--- a/src/cli/report.c
+++ b/src/cli/report.c
@@ -22,38 +22,12 @@
#include "abrt-cli-core.h"
#include "builtin-cmd.h"
-int cmd_report(int argc, const char **argv)
+int _cmd_report(const char **dirs_strv, int remove)
{
- const char *program_usage_string = _(
- "& report [options] DIR..."
- );
-
- enum {
- OPT_v = 1 << 0,
- OPT_d = 1 << 1,
- };
-
- struct options program_options[] = {
- OPT__VERBOSE(&g_verbose),
- OPT_BOOL('d', "delete", NULL, _("Remove PROBLEM_DIR after reporting")),
- OPT_END()
- };
-
- unsigned opts = parse_opts(argc, (char **)argv, program_options, program_usage_string);
- argv += optind;
-
- if (!argv[0])
- show_usage_and_die(program_usage_string, program_options);
-
- export_abrt_envvars(/*prog_prefix:*/ 0);
-
- load_abrt_conf();
- free_abrt_conf_data();
-
int ret = 0;
- while (*argv)
+ while (*dirs_strv)
{
- const char *dir_name = *argv++;
+ const char *dir_name = *dirs_strv++;
char *const real_problem_id = hash2dirname_if_necessary(dir_name);
if (real_problem_id == NULL)
{
@@ -75,7 +49,7 @@ int cmd_report(int argc, const char **argv)
| LIBREPORT_RUN_CLI);
/* the problem was successfully reported and option is -d */
- if((opts & OPT_d) && (status == 0 || status == EXIT_STOP_EVENT_RUN))
+ if(remove && (status == 0 || status == EXIT_STOP_EVENT_RUN))
{
log(_("Deleting '%s'"), real_problem_id);
delete_dump_dir_possibly_using_abrtd(real_problem_id);
@@ -89,3 +63,34 @@ int cmd_report(int argc, const char **argv)
return ret;
}
+
+int cmd_report(int argc, const char **argv)
+{
+ const char *program_usage_string = _(
+ "& report [options] DIR..."
+ );
+
+ enum {
+ OPT_v = 1 << 0,
+ OPT_d = 1 << 1,
+ };
+
+ struct options program_options[] = {
+ OPT__VERBOSE(&g_verbose),
+ OPT_BOOL('d', "delete", NULL, _("Remove PROBLEM_DIR after reporting")),
+ OPT_END()
+ };
+
+ unsigned opts = parse_opts(argc, (char **)argv, program_options, program_usage_string);
+ argv += optind;
+
+ if (!argv[0])
+ show_usage_and_die(program_usage_string, program_options);
+
+ export_abrt_envvars(/*prog_prefix:*/ 0);
+
+ load_abrt_conf();
+ free_abrt_conf_data();
+
+ return _cmd_report(argv, opts & OPT_d);
+}
diff --git a/src/cli/rm.c b/src/cli/rm.c
index 37d50e2..95ae097 100644
--- a/src/cli/rm.c
+++ b/src/cli/rm.c
@@ -52,6 +52,11 @@ static int remove_using_abrtd_or_fs(const char **dirs_strv)
return errs;
}
+int _cmd_remove(const char **dirs_strv)
+{
+ return (g_cli_authenticate ? remove_using_dbus : remove_using_abrtd_or_fs)(dirs_strv);
+}
+
int cmd_remove(int argc, const char **argv)
{
const char *program_usage_string = _(
@@ -69,5 +74,5 @@ int cmd_remove(int argc, const char **argv)
if (!argv[0])
show_usage_and_die(program_usage_string, program_options);
- return (g_cli_authenticate ? remove_using_dbus : remove_using_abrtd_or_fs)(argv);
+ return _cmd_remove(argv);
}
--
2.4.3

View file

@ -1,54 +0,0 @@
From 23c6702959b763f6abbc3c853676c6aeedd6d3fe Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Mon, 13 Jul 2015 11:25:17 +0200
Subject: [PATCH] a-dump-oops: allow update the problem, if more then one oops
found
In case that found more than one oops process the first one.
Without this patch the script exits with error in this case because expects
only one oops.
Related to rhbz#1170534
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
src/plugins/abrt-dump-oops.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/plugins/abrt-dump-oops.c b/src/plugins/abrt-dump-oops.c
index 58650cb..a348923 100644
--- a/src/plugins/abrt-dump-oops.c
+++ b/src/plugins/abrt-dump-oops.c
@@ -172,6 +172,17 @@ int main(int argc, char **argv)
log("Updating problem directory");
switch (g_list_length(oops_list))
{
+ case 0:
+ {
+ error_msg(_("Can't update the problem: no oops found"));
+ errors = 1;
+ break;
+ }
+ default:
+ {
+ log_notice(_("More oopses found: process only the first one"));
+ }
+ /* falls trought */
case 1:
{
struct dump_dir *dd = dd_opendir(problem_dir, /*open for writing*/0);
@@ -181,11 +192,6 @@ int main(int argc, char **argv)
dd_close(dd);
}
}
- break;
- default:
- error_msg(_("Can't update the problem: more than one oops found"));
- errors = 1;
- break;
}
}
else
--
2.4.3

View file

@ -1,117 +0,0 @@
From 883d35109b55928d4c36d3cd6ee262d7cdc5bd4d Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 15 Jul 2015 10:20:59 +0200
Subject: [PATCH] abrtd: de-prioritize post-create event scripts
The crash processing should not make the computer unusable. It sometimes
happens that the captured data causes abrt scripts to take an inadequate
amount of resources and the computer becomes less responsive.
This patch increases the nice value of post-create processes by 10 (I took
10 because it is the default value of command 'nice'), so those
processes will be scheduled after the more valuable processes.
Related: rhbz#1236422
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
doc/abrtd.txt | 7 +++++++
src/daemon/abrt-handle-event.c | 19 ++++++++++++++++++-
src/daemon/abrt-server.c | 14 ++++++++------
3 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/doc/abrtd.txt b/doc/abrtd.txt
index b129d3e..32d044b 100644
--- a/doc/abrtd.txt
+++ b/doc/abrtd.txt
@@ -36,6 +36,13 @@ OPTIONS
-p::
Add program names to log.
+ENVIRONMENT
+-----------
+ABRT_EVENT_NICE::
+ 'abrtd' runs its post-mortem processing with the nice value incremented by 10
+ in order to not take too much resources and keep the computer responsive. If
+ you want to adjust the increment value, use the ABRT_EVENT_NICE environment
+ variable.
CAVEATS
-------
diff --git a/src/daemon/abrt-handle-event.c b/src/daemon/abrt-handle-event.c
index 4a21aa4..fda21bd 100644
--- a/src/daemon/abrt-handle-event.c
+++ b/src/daemon/abrt-handle-event.c
@@ -403,16 +403,18 @@ int main(int argc, char **argv)
abrt_init(argv);
const char *program_usage_string = _(
- "& [-v -i] -e|--event EVENT DIR..."
+ "& [-v -i -n INCREMENT] -e|--event EVENT DIR..."
);
char *event_name = NULL;
int interactive = 0; /* must be _int_, OPT_BOOL expects that! */
+ int nice_incr = 0;
struct options program_options[] = {
OPT__VERBOSE(&g_verbose),
OPT_STRING('e', "event" , &event_name, "EVENT", _("Run EVENT on DIR")),
OPT_BOOL('i', "interactive" , &interactive, _("Communicate directly to the user")),
+ OPT_INTEGER('n', "nice" , &nice_incr, _("Increment the nice value by INCREMENT")),
OPT_END()
};
@@ -423,6 +425,21 @@ int main(int argc, char **argv)
load_abrt_conf();
+ const char *const opt_env_nice = getenv("ABRT_EVENT_NICE");
+ if (opt_env_nice != NULL && opt_env_nice[0] != '\0')
+ {
+ log_debug("Using ABRT_EVENT_NICE=%s to increment the nice value", opt_env_nice);
+ nice_incr = xatoi(opt_env_nice);
+ }
+
+ if (nice_incr != 0)
+ {
+ log_debug("Incrementing the nice value by %d", nice_incr);
+ const int ret = nice(nice_incr);
+ if (ret == -1)
+ perror_msg_and_die("Failed to increment the nice value");
+ }
+
bool post_create = (strcmp(event_name, "post-create") == 0);
char *dump_dir_name = NULL;
while (*argv)
diff --git a/src/daemon/abrt-server.c b/src/daemon/abrt-server.c
index d7556e2..9f177e9 100644
--- a/src/daemon/abrt-server.c
+++ b/src/daemon/abrt-server.c
@@ -126,15 +126,17 @@ static int delete_path(const char *dump_dir_name)
static pid_t spawn_event_handler_child(const char *dump_dir_name, const char *event_name, int *fdp)
{
- char *args[7];
+ char *args[9];
args[0] = (char *) LIBEXEC_DIR"/abrt-handle-event";
/* Do not forward ASK_* messages to parent*/
args[1] = (char *) "-i";
- args[2] = (char *) "-e";
- args[3] = (char *) event_name;
- args[4] = (char *) "--";
- args[5] = (char *) dump_dir_name;
- args[6] = NULL;
+ args[2] = (char *) "--nice";
+ args[3] = (char *) "10";
+ args[4] = (char *) "-e";
+ args[5] = (char *) event_name;
+ args[6] = (char *) "--";
+ args[7] = (char *) dump_dir_name;
+ args[8] = NULL;
int pipeout[2];
int flags = EXECFLG_INPUT_NUL | EXECFLG_OUTPUT | EXECFLG_QUIET | EXECFLG_ERR2OUT;
--
2.4.3

View file

@ -1,473 +0,0 @@
From 9d9e0b94573e668bc242a68f4007e67c3eef4ddf Mon Sep 17 00:00:00 2001
From: Laura Abbott <labbott@fedoraproject.org>
Date: Wed, 27 May 2015 16:27:32 -0700
Subject: [PATCH] abrt: Fixup component of select kernel backtraces
The kernel is a big project and certain parts of it
may need to be tracked under different components.
Fixup results related to those parts and assign a
different component.
Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
- ported to Python 3
- removed a left over
- extended a log message
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
.gitignore | 1 +
abrt.spec.in | 1 +
configure.ac | 1 +
examples/oops-32bit-graphics.right | 73 +++++++++++++++++
examples/oops-32bit-graphics.test | 71 +++++++++++++++++
examples/oops-noveau.right | 39 +++++++++
examples/oops-noveau.test | 38 +++++++++
src/plugins/Makefile.am | 3 +
.../abrt-action-check-oops-for-alt-component.in | 93 ++++++++++++++++++++++
src/plugins/koops_event.conf | 3 +
src/plugins/vmcore_event.conf | 1 +
11 files changed, 324 insertions(+)
create mode 100644 examples/oops-32bit-graphics.right
create mode 100644 examples/oops-32bit-graphics.test
create mode 100644 examples/oops-noveau.right
create mode 100644 examples/oops-noveau.test
create mode 100644 src/plugins/abrt-action-check-oops-for-alt-component.in
diff --git a/.gitignore b/.gitignore
index 66410cb..f5a93e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,6 +30,7 @@ src/plugins/abrt-action-analyze-python
src/plugins/abrt-action-analyze-vmcore
src/plugins/abrt-action-analyze-xorg
src/plugins/abrt-action-check-oops-for-hw-error
+src/plugins/abrt-action-check-oops-for-alt-component
src/plugins/abrt-action-generate-backtrace
src/plugins/abrt-action-install-debuginfo-to-abrt-cache
src/plugins/abrt-action-perform-ccpp-analysis
diff --git a/abrt.spec.in b/abrt.spec.in
index 08eb93f..c73eaf6 100644
--- a/abrt.spec.in
+++ b/abrt.spec.in
@@ -975,6 +975,7 @@ killall abrt-dbus >/dev/null 2>&1 || :
%endif
%{_sbindir}/abrt-harvest-vmcore
%{_bindir}/abrt-action-analyze-vmcore
+%{_bindir}/abrt-action-check-oops-for-alt-component
%{_bindir}/abrt-action-check-oops-for-hw-error
%{_mandir}/man1/abrt-harvest-vmcore.1*
%{_mandir}/man5/abrt-vmcore.conf.5*
diff --git a/configure.ac b/configure.ac
index 2958807..b372e12 100644
--- a/configure.ac
+++ b/configure.ac
@@ -429,6 +429,7 @@ AC_CONFIG_FILES([
src/plugins/abrt-action-install-debuginfo
src/plugins/abrt-action-analyze-vmcore
src/plugins/abrt-action-check-oops-for-hw-error
+ src/plugins/abrt-action-check-oops-for-alt-component
src/python-problem/Makefile
src/python-problem/doc/Makefile
src/python-problem/tests/Makefile
diff --git a/examples/oops-32bit-graphics.right b/examples/oops-32bit-graphics.right
new file mode 100644
index 0000000..9891d02
--- /dev/null
+++ b/examples/oops-32bit-graphics.right
@@ -0,0 +1,73 @@
+abrt-dump-oops: Found oopses: 2
+abrt-dump-oops: Kernel is tainted 'GD'
+
+Version: 4.0.3-201.fc21.i686+PAE
+BUG: unable to handle kernel NULL pointer dereference at 00000008
+IP: [<f83f9f24>] radeon_audio_detect+0x54/0x140 [radeon]
+*pdpt = 0000000033260001 *pde = 0000000000000000
+Oops: 0000 [#1] SMP
+Modules linked in: radeon i2c_algo_bit drm_kms_helper e1000 ttm e100 drm ata_generic pata_acpi mii
+CPU: 0 PID: 222 Comm: plymouthd Not tainted 4.0.3-201.fc21.i686+PAE #1
+Hardware name: Dell Inc. Dimension 4700 /0M3918, BIOS A10 01/04/2006
+task: f325f640 ti: f33b8000 task.ti: f33b8000
+EIP: 0060:[<f83f9f24>] EFLAGS: 00010246 CPU: 0
+EIP is at radeon_audio_detect+0x54/0x140 [radeon]
+EAX: f6884240 EBX: f339dc00 ECX: 00000000 EDX: 00000000
+ESI: f3364320 EDI: f681c000 EBP: f33b9d14 ESP: f33b9d04
+ DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
+CR0: 80050033 CR2: 00000008 CR3: 33209000 CR4: 000007f0
+Stack:
+ f6884240 f339dc00 00000001 f7374800 f33b9d48 f833bb78 00000001 f33be600
+ 4ac04888 00000000 f33be600 f33b9d68 00000001 f681c000 f339dc30 f339dc00
+ 00000001 f33b9d94 f809287b f3259580 f775d500 f325f640 f33b9fec f33e0540
+Call Trace:
+ [<f833bb78>] radeon_dvi_detect+0x2d8/0x4b0 [radeon]
+ [<f809287b>] drm_helper_probe_single_connector_modes_merge_bits+0x27b/0x4a0 [drm_kms_helper]
+ [<c0a8abc0>] ? mutex_lock+0x10/0x30
+ [<f8092ab7>] drm_helper_probe_single_connector_modes+0x17/0x20 [drm_kms_helper]
+ [<f80c5f2d>] drm_mode_getconnector+0x28d/0x320 [drm]
+ [<f80c5ca0>] ? drm_mode_getcrtc+0xd0/0xd0 [drm]
+ [<f80b81a5>] drm_ioctl+0x1f5/0x560 [drm]
+ [<f80c5ca0>] ? drm_mode_getcrtc+0xd0/0xd0 [drm]
+ [<c05064a7>] ? do_seccomp+0x2d7/0x6e0
+ [<c07043a6>] ? _copy_to_user+0x26/0x30
+ [<c0823931>] ? __pm_runtime_resume+0x51/0x70
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
+ [<f831503e>] radeon_drm_ioctl+0x3e/0x70 [radeon]
+ [<f8315000>] ? 0xf8315000
+ [<c05b69b2>] do_vfs_ioctl+0x322/0x540
+ [<c0690c42>] ? inode_has_perm.isra.32+0x32/0x50
+ [<c0690da7>] ? file_has_perm+0x97/0xa0
+ [<c06919cb>] ? selinux_file_ioctl+0x4b/0xe0
+ [<c05b6c30>] SyS_ioctl+0x60/0x90
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
+ [<c0a8d0df>] sysenter_do_call+0x12/0x12
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
+Code: 44 8b 93 0c 02 00 00 8b 02 8b b2 20 01 00 00 8b 78 18 8b 86 e4 00 00 00 85 c0 74 29 83 7d f0 01 74 35 8b 50 10 8b 8f 70 1c 00 00 <8b> 59 08 85 db 74 0c 89 f8 31 c9 ff d3 8b 86 e4 00 00 00 c7 40
+EIP: [<f83f9f24>] radeon_audio_detect+0x54/0x140 [radeon] SS:ESP 0068:f33b9d04
+CR2: 0000000000000008
+
+Version: 4.0.3-201.fc21.i686+PAE
+WARNING: CPU: 1 PID: 263 at lib/list_debug.c:62 __list_del_entry+0xf4/0x100()
+list_del corruption. next->prev should be f3215564, but was (null)
+Modules linked in: radeon i2c_algo_bit drm_kms_helper e1000 ttm e100 drm ata_generic pata_acpi mii
+CPU: 1 PID: 263 Comm: plymouth Tainted: G D 4.0.3-201.fc21.i686+PAE #1
+Hardware name: Dell Inc. Dimension 4700 /0M3918, BIOS A10 01/04/2006
+ c0d3c9c7 b9171629 00000000 f3337eb4 c0a878b6 f3337ef8 f3337ee8 c0466c1b
+ c0c929c4 f3337f18 00000107 c0c91c9f 0000003e c0712794 0000003e c0712794
+ 00000000 00000001 f32150a0 f3337f04 c0466c8e 00000009 f3337ef8 c0c929c4
+Call Trace:
+ [<c0a878b6>] dump_stack+0x41/0x52
+ [<c0466c1b>] warn_slowpath_common+0x8b/0xc0
+ [<c0712794>] ? __list_del_entry+0xf4/0x100
+ [<c0712794>] ? __list_del_entry+0xf4/0x100
+ [<c0466c8e>] warn_slowpath_fmt+0x3e/0x60
+ [<c0712794>] __list_del_entry+0xf4/0x100
+ [<c04e8a63>] cgroup_exit+0x33/0x100
+ [<c0469208>] do_exit+0x2b8/0x950
+ [<c0457a72>] ? __do_page_fault+0x252/0x4a0
+ [<c0469917>] do_group_exit+0x37/0xa0
+ [<c0469996>] SyS_exit_group+0x16/0x20
+ [<c0a8d0df>] sysenter_do_call+0x12/0x12
diff --git a/examples/oops-32bit-graphics.test b/examples/oops-32bit-graphics.test
new file mode 100644
index 0000000..da3d716
--- /dev/null
+++ b/examples/oops-32bit-graphics.test
@@ -0,0 +1,71 @@
+BUG: unable to handle kernel NULL pointer dereference at 00000008
+IP: [<f83f9f24>] radeon_audio_detect+0x54/0x140 [radeon]
+*pdpt = 0000000033260001 *pde = 0000000000000000
+Oops: 0000 [#1] SMP
+Modules linked in: radeon i2c_algo_bit drm_kms_helper e1000 ttm e100 drm ata_generic pata_acpi mii
+CPU: 0 PID: 222 Comm: plymouthd Not tainted 4.0.3-201.fc21.i686+PAE #1
+Hardware name: Dell Inc. Dimension 4700 /0M3918, BIOS A10 01/04/2006
+task: f325f640 ti: f33b8000 task.ti: f33b8000
+EIP: 0060:[<f83f9f24>] EFLAGS: 00010246 CPU: 0
+EIP is at radeon_audio_detect+0x54/0x140 [radeon]
+EAX: f6884240 EBX: f339dc00 ECX: 00000000 EDX: 00000000
+ESI: f3364320 EDI: f681c000 EBP: f33b9d14 ESP: f33b9d04
+ DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
+CR0: 80050033 CR2: 00000008 CR3: 33209000 CR4: 000007f0
+Stack:
+ f6884240 f339dc00 00000001 f7374800 f33b9d48 f833bb78 00000001 f33be600
+ 4ac04888 00000000 f33be600 f33b9d68 00000001 f681c000 f339dc30 f339dc00
+ 00000001 f33b9d94 f809287b f3259580 f775d500 f325f640 f33b9fec f33e0540
+Call Trace:
+ [<f833bb78>] radeon_dvi_detect+0x2d8/0x4b0 [radeon]
+ [<f809287b>] drm_helper_probe_single_connector_modes_merge_bits+0x27b/0x4a0 [drm_kms_helper]
+ [<c0a8abc0>] ? mutex_lock+0x10/0x30
+ [<f8092ab7>] drm_helper_probe_single_connector_modes+0x17/0x20 [drm_kms_helper]
+ [<f80c5f2d>] drm_mode_getconnector+0x28d/0x320 [drm]
+ [<f80c5ca0>] ? drm_mode_getcrtc+0xd0/0xd0 [drm]
+ [<f80b81a5>] drm_ioctl+0x1f5/0x560 [drm]
+ [<f80c5ca0>] ? drm_mode_getcrtc+0xd0/0xd0 [drm]
+ [<c05064a7>] ? do_seccomp+0x2d7/0x6e0
+ [<c07043a6>] ? _copy_to_user+0x26/0x30
+ [<c0823931>] ? __pm_runtime_resume+0x51/0x70
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
+ [<f831503e>] radeon_drm_ioctl+0x3e/0x70 [radeon]
+ [<f8315000>] ? 0xf8315000
+ [<c05b69b2>] do_vfs_ioctl+0x322/0x540
+ [<c0690c42>] ? inode_has_perm.isra.32+0x32/0x50
+ [<c0690da7>] ? file_has_perm+0x97/0xa0
+ [<c06919cb>] ? selinux_file_ioctl+0x4b/0xe0
+ [<c05b6c30>] SyS_ioctl+0x60/0x90
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
+ [<c0a8d0df>] sysenter_do_call+0x12/0x12
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
+ [<c04c64a7>] ? posix_get_boottime+0x7/0x30
+Code: 44 8b 93 0c 02 00 00 8b 02 8b b2 20 01 00 00 8b 78 18 8b 86 e4 00 00 00 85 c0 74 29 83 7d f0 01 74 35 8b 50 10 8b 8f 70 1c 00 00 <8b> 59 08 85 db 74 0c 89 f8 31 c9 ff d3 8b 86 e4 00 00 00 c7 40
+EIP: [<f83f9f24>] radeon_audio_detect+0x54/0x140 [radeon] SS:ESP 0068:f33b9d04
+CR2: 0000000000000008
+---[ end trace c37768228d821e9f ]---
+------------[ cut here ]------------
+WARNING: CPU: 1 PID: 263 at lib/list_debug.c:62 __list_del_entry+0xf4/0x100()
+list_del corruption. next->prev should be f3215564, but was (null)
+Modules linked in: radeon i2c_algo_bit drm_kms_helper e1000 ttm e100 drm ata_generic pata_acpi mii
+CPU: 1 PID: 263 Comm: plymouth Tainted: G D 4.0.3-201.fc21.i686+PAE #1
+Hardware name: Dell Inc. Dimension 4700 /0M3918, BIOS A10 01/04/2006
+ c0d3c9c7 b9171629 00000000 f3337eb4 c0a878b6 f3337ef8 f3337ee8 c0466c1b
+ c0c929c4 f3337f18 00000107 c0c91c9f 0000003e c0712794 0000003e c0712794
+ 00000000 00000001 f32150a0 f3337f04 c0466c8e 00000009 f3337ef8 c0c929c4
+Call Trace:
+ [<c0a878b6>] dump_stack+0x41/0x52
+ [<c0466c1b>] warn_slowpath_common+0x8b/0xc0
+ [<c0712794>] ? __list_del_entry+0xf4/0x100
+ [<c0712794>] ? __list_del_entry+0xf4/0x100
+ [<c0466c8e>] warn_slowpath_fmt+0x3e/0x60
+ [<c0712794>] __list_del_entry+0xf4/0x100
+ [<c04e8a63>] cgroup_exit+0x33/0x100
+ [<c0469208>] do_exit+0x2b8/0x950
+ [<c0457a72>] ? __do_page_fault+0x252/0x4a0
+ [<c0469917>] do_group_exit+0x37/0xa0
+ [<c0469996>] SyS_exit_group+0x16/0x20
+ [<c0a8d0df>] sysenter_do_call+0x12/0x12
+---[ end trace c37768228d821ea0 ]---
+
diff --git a/examples/oops-noveau.right b/examples/oops-noveau.right
new file mode 100644
index 0000000..d6c87a2
--- /dev/null
+++ b/examples/oops-noveau.right
@@ -0,0 +1,39 @@
+abrt-dump-oops: Found oopses: 1
+
+Version: 3.19.5-200.fc21.x86_64
+WARNING: CPU: 0 PID: 16684 at arch/x86/mm/ioremap.c:197 __ioremap_caller+0x2aa/0x3a0()
+Info: mapping multiple BARs. Your kernel is fine.
+Modules linked in:
+ bnep bluetooth rfkill xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack bridge stp llc snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_controller snd_hda_codec fuse snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer edac_core usblp kvm_amd snd serio_raw kvm k10temp edac_mce_amd sp5100_tco i2c_piix4 shpchp soundcore acpi_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc ata_generic pata_acpi nouveau video mxm_wmi wmi i2c_algo_bit drm_kms_helper ttm drm pata_atiixp r8169 mii
+CPU: 0 PID: 16684 Comm: firefox Not tainted 3.19.5-200.fc21.x86_64 #1
+Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./970A-DS3P, BIOS F1 04/08/2013
+ 0000000000000000 0000000087b0a5f7 ffff8802e1b9b768 ffffffff8176ead5
+ 0000000000000000 ffff8802e1b9b7c0 ffff8802e1b9b7a8 ffffffff8109bc1a
+ ffff8802e1b9b7d8 ffffc9001c180000 00000000d206d000 0000000000100000
+Call Trace:
+ [<ffffffff8176ead5>] dump_stack+0x45/0x57
+ [<ffffffff8109bc1a>] warn_slowpath_common+0x8a/0xc0
+ [<ffffffff8109bca5>] warn_slowpath_fmt+0x55/0x70
+ [<ffffffff810643aa>] __ioremap_caller+0x2aa/0x3a0
+ [<ffffffff810644b7>] ioremap_nocache+0x17/0x20
+ [<ffffffffa00e8036>] nouveau_barobj_ctor+0xd6/0x110 [nouveau]
+ [<ffffffffa00e69d1>] nouveau_object_ctor+0x41/0xf0 [nouveau]
+ [<ffffffffa00e80af>] nouveau_bar_alloc+0x3f/0x70 [nouveau]
+ [<ffffffffa00e3795>] nouveau_gpuobj_create_+0x2a5/0x2f0 [nouveau]
+ [<ffffffffa00e382c>] _nouveau_gpuobj_ctor+0x4c/0x70 [nouveau]
+ [<ffffffffa00e69d1>] nouveau_object_ctor+0x41/0xf0 [nouveau]
+ [<ffffffffa00e38ab>] nouveau_gpuobj_new+0x5b/0x80 [nouveau]
+ [<ffffffffa0132173>] nouveau_vm_get+0x183/0x2f0 [nouveau]
+ [<ffffffff811dd04a>] ? map_vm_area+0x2a/0x40
+ [<ffffffffa0182744>] nouveau_bo_vma_add+0x34/0x90 [nouveau]
+ [<ffffffffa017aee9>] nouveau_channel_prep+0x269/0x3b0 [nouveau]
+ [<ffffffffa017b0b3>] nouveau_channel_new+0x83/0x800 [nouveau]
+ [<ffffffffa01782fa>] ? nvif_device_init+0x3a/0x50 [nouveau]
+ [<ffffffff811fbba6>] ? kmem_cache_alloc_trace+0x1f6/0x230
+ [<ffffffffa0185770>] nouveau_abi16_ioctl_channel_alloc+0x120/0x3a0 [nouveau]
+ [<ffffffffa0031a9f>] drm_ioctl+0x1df/0x680 [drm]
+ [<ffffffff811cf196>] ? handle_mm_fault+0x8a6/0xff0
+ [<ffffffffa0179222>] nouveau_drm_ioctl+0x72/0xd0 [nouveau]
+ [<ffffffff8122e318>] do_vfs_ioctl+0x2f8/0x500
+ [<ffffffff8122e5a1>] SyS_ioctl+0x81/0xa0
+ [<ffffffff817752c9>] system_call_fastpath+0x12/0x17
diff --git a/examples/oops-noveau.test b/examples/oops-noveau.test
new file mode 100644
index 0000000..8678a7d
--- /dev/null
+++ b/examples/oops-noveau.test
@@ -0,0 +1,38 @@
+------------[ cut here ]------------
+WARNING: CPU: 0 PID: 16684 at arch/x86/mm/ioremap.c:197 __ioremap_caller+0x2aa/0x3a0()
+Info: mapping multiple BARs. Your kernel is fine.
+Modules linked in:
+ bnep bluetooth rfkill xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack bridge stp llc snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_controller snd_hda_codec fuse snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer edac_core usblp kvm_amd snd serio_raw kvm k10temp edac_mce_amd sp5100_tco i2c_piix4 shpchp soundcore acpi_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc ata_generic pata_acpi nouveau video mxm_wmi wmi i2c_algo_bit drm_kms_helper ttm drm pata_atiixp r8169 mii
+CPU: 0 PID: 16684 Comm: firefox Not tainted 3.19.5-200.fc21.x86_64 #1
+Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./970A-DS3P, BIOS F1 04/08/2013
+ 0000000000000000 0000000087b0a5f7 ffff8802e1b9b768 ffffffff8176ead5
+ 0000000000000000 ffff8802e1b9b7c0 ffff8802e1b9b7a8 ffffffff8109bc1a
+ ffff8802e1b9b7d8 ffffc9001c180000 00000000d206d000 0000000000100000
+Call Trace:
+ [<ffffffff8176ead5>] dump_stack+0x45/0x57
+ [<ffffffff8109bc1a>] warn_slowpath_common+0x8a/0xc0
+ [<ffffffff8109bca5>] warn_slowpath_fmt+0x55/0x70
+ [<ffffffff810643aa>] __ioremap_caller+0x2aa/0x3a0
+ [<ffffffff810644b7>] ioremap_nocache+0x17/0x20
+ [<ffffffffa00e8036>] nouveau_barobj_ctor+0xd6/0x110 [nouveau]
+ [<ffffffffa00e69d1>] nouveau_object_ctor+0x41/0xf0 [nouveau]
+ [<ffffffffa00e80af>] nouveau_bar_alloc+0x3f/0x70 [nouveau]
+ [<ffffffffa00e3795>] nouveau_gpuobj_create_+0x2a5/0x2f0 [nouveau]
+ [<ffffffffa00e382c>] _nouveau_gpuobj_ctor+0x4c/0x70 [nouveau]
+ [<ffffffffa00e69d1>] nouveau_object_ctor+0x41/0xf0 [nouveau]
+ [<ffffffffa00e38ab>] nouveau_gpuobj_new+0x5b/0x80 [nouveau]
+ [<ffffffffa0132173>] nouveau_vm_get+0x183/0x2f0 [nouveau]
+ [<ffffffff811dd04a>] ? map_vm_area+0x2a/0x40
+ [<ffffffffa0182744>] nouveau_bo_vma_add+0x34/0x90 [nouveau]
+ [<ffffffffa017aee9>] nouveau_channel_prep+0x269/0x3b0 [nouveau]
+ [<ffffffffa017b0b3>] nouveau_channel_new+0x83/0x800 [nouveau]
+ [<ffffffffa01782fa>] ? nvif_device_init+0x3a/0x50 [nouveau]
+ [<ffffffff811fbba6>] ? kmem_cache_alloc_trace+0x1f6/0x230
+ [<ffffffffa0185770>] nouveau_abi16_ioctl_channel_alloc+0x120/0x3a0 [nouveau]
+ [<ffffffffa0031a9f>] drm_ioctl+0x1df/0x680 [drm]
+ [<ffffffff811cf196>] ? handle_mm_fault+0x8a6/0xff0
+ [<ffffffffa0179222>] nouveau_drm_ioctl+0x72/0xd0 [nouveau]
+ [<ffffffff8122e318>] do_vfs_ioctl+0x2f8/0x500
+ [<ffffffff8122e5a1>] SyS_ioctl+0x81/0xa0
+ [<ffffffff817752c9>] system_call_fastpath+0x12/0x17
+---[ end trace d72a6ef9c44bed66 ]---
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index d90bb76..aa426ff 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -74,6 +74,7 @@ PYTHON_FILES = \
abrt-action-list-dsos \
abrt-action-analyze-core \
abrt-action-analyze-vulnerability \
+ abrt-action-check-oops-for-alt-component.in \
abrt-action-check-oops-for-hw-error.in \
abrt-action-perform-ccpp-analysis.in \
abrt-action-notify
@@ -101,6 +102,7 @@ EXTRA_DIST = \
if BUILD_ADDON_VMCORE
bin_SCRIPTS += \
abrt-action-analyze-vmcore \
+ abrt-action-check-oops-for-alt-component \
abrt-action-check-oops-for-hw-error
dist_events_DATA += \
@@ -115,6 +117,7 @@ PYTHON_FILES += \
EXTRA_DIST += \
analyze_VMcore.xml.in \
abrt-action-analyze-vmcore \
+ abrt-action-check-oops-for-alt-component \
abrt-action-check-oops-for-hw-error
endif
diff --git a/src/plugins/abrt-action-check-oops-for-alt-component.in b/src/plugins/abrt-action-check-oops-for-alt-component.in
new file mode 100644
index 0000000..3dce42e
--- /dev/null
+++ b/src/plugins/abrt-action-check-oops-for-alt-component.in
@@ -0,0 +1,93 @@
+#!/usr/bin/python3 -u
+
+import sys
+import os
+import locale
+import gettext
+import hashlib
+import re
+
+GETTEXT_PROGNAME = "abrt"
+
+_ = gettext.lgettext
+
+tags = [
+"WARNING:",
+"[ER]IP[^:]",
+" \[<[a-f0-9]{8,16}>\]"
+]
+
+checks = [
+ ("i915", "xorg-x11-drv-intel"),
+ ("nouveau", "xorg-x11-drv-nouveau"),
+ ("radeon", "xorg-x11-drv-ati"),
+ ("qxl", "xorg-x11-drv-qxl"),
+]
+
+def check_tag(line):
+ for tag in tags:
+ if re.match(tag, line) is not None:
+ for (mod, component) in checks:
+ if re.search(mod, line) is not None:
+ return component
+ return None
+
+def get_new_component(filename):
+ try:
+ f = open(filename, "r")
+ except IOError as e:
+ return None
+ for line in f:
+ c = check_tag(line)
+ if c is not None:
+ f.close()
+ return c
+ f.close()
+ return None
+
+def open_or_die(filename, mode):
+ try:
+ f = open(filename, mode)
+ except IOError as e:
+ sys.stderr.write(str(e) + "\n")
+ sys.exit(1)
+ return f
+
+
+if __name__ == "__main__":
+ try:
+ locale.setlocale(locale.LC_ALL, "")
+ except locale.Error:
+ os.environ['LC_ALL'] = 'C'
+ locale.setlocale(locale.LC_ALL, "")
+
+ # Defeat "AttributeError: 'module' object has no attribute 'nl_langinfo'"
+ try:
+ gettext.bind_textdomain_codeset(GETTEXT_PROGNAME,
+ locale.nl_langinfo(locale.CODESET))
+ except AttributeError:
+ pass
+
+ gettext.bindtextdomain(GETTEXT_PROGNAME, '/usr/share/locale')
+ gettext.textdomain(GETTEXT_PROGNAME)
+
+ #
+ # Certain drivers are in the kernel but need to be tracked separtely
+ # in other components. This fixes those components.
+ #
+
+ new_component = get_new_component("backtrace")
+ if new_component is None:
+ sys.exit(0)
+
+ print("Oops looks like a problem in kernel module, new component {0}"
+ .format(new_component))
+
+ f = open_or_die("component", "w")
+ f.write(new_component)
+ f.close()
+
+ # keep kernel maint in the loop even if the component gets changed
+ f = open_or_die("extra-cc", "w")
+ f.write("kernel-maint@redhat.com")
+ f.close()
diff --git a/src/plugins/koops_event.conf b/src/plugins/koops_event.conf
index a811077..2379d7d 100644
--- a/src/plugins/koops_event.conf
+++ b/src/plugins/koops_event.conf
@@ -8,6 +8,9 @@ EVENT=post-create type=Kerneloops
abrt-action-check-oops-for-hw-error
fi
{
+ abrt-action-check-oops-for-alt-component || true
+ } &&
+ {
# run abrt-action-analyze-oops only if check-hw-error didn't create the
# required files
if test ! -f uuid -a ! -f duphash; then
diff --git a/src/plugins/vmcore_event.conf b/src/plugins/vmcore_event.conf
index 43fa7f0..6870332 100644
--- a/src/plugins/vmcore_event.conf
+++ b/src/plugins/vmcore_event.conf
@@ -29,6 +29,7 @@ EVENT=post-create type=vmcore
# Do not fail the event (->do not delete problem dir)
# if check-oops-for-hw-error exits nonzero:
{ abrt-action-check-oops-for-hw-error || true; }
+ { abrt-action-check-oops-for-alt-component || true; }
# analyze
EVENT=analyze_VMcore type=vmcore
--
2.4.3

View file

@ -1,29 +0,0 @@
From 96c50b9c18aabf675e23f6df3ec584610ae5019a Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Fri, 17 Jul 2015 10:25:50 +0200
Subject: [PATCH] ccpp: do not crash if generate_core_backtrace fails
Add a missing return statement in the error code execution path.
Related: rhbz#1243791
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/hooks/abrt-hook-ccpp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c
index 8ccef06..809b45e 100644
--- a/src/hooks/abrt-hook-ccpp.c
+++ b/src/hooks/abrt-hook-ccpp.c
@@ -426,6 +426,7 @@ static void create_core_backtrace(pid_t tid, const char *executable, int signal_
{
log("Failed to create core_backtrace: %s", error_message);
free(error_message);
+ return;
}
dd_save_text(dd, FILENAME_CORE_BACKTRACE, core_bt);
--
2.4.3

View file

@ -1,32 +0,0 @@
From cdc5824e4488d419616cdfaa87ac5f6cf2a4dfea Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Fri, 17 Jul 2015 10:42:01 +0200
Subject: [PATCH] applet: do not crash if the new problem has no command_line
Related: rhbz#1243791
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/applet/applet.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/applet/applet.c b/src/applet/applet.c
index 296e1b4..5bdedc1 100644
--- a/src/applet/applet.c
+++ b/src/applet/applet.c
@@ -661,7 +661,11 @@ static void notify_problem_list(GList *problems)
app = problem_create_app_from_env (problem_info_get_env(pi), problem_info_get_pid(pi));
if (!app)
- app = problem_create_app_from_cmdline (problem_info_get_command_line(pi));
+ {
+ const char *const cmd_line = problem_info_get_command_line(pi);
+ if (cmd_line != NULL)
+ app = problem_create_app_from_cmdline(cmd_line);
+ }
/* For each problem we'll need to know:
* - Whether or not the crash happened in an “app”
--
2.4.3

View file

@ -1,35 +0,0 @@
From 5349718f775c39124e789457d2c012ac23c81619 Mon Sep 17 00:00:00 2001
From: "knoha@redhat.com" <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 <jfilak@redhat.com>
---
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.3

View file

@ -1,33 +0,0 @@
From 03be49244ab5f4fdd7521254dd6afedbd277ceea Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
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

View file

@ -1,44 +0,0 @@
From f1e5d631932a05e3147b6af73ce1230150f9f979 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
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 <mhabrnal@redhat.com>
---
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

View file

@ -1,99 +0,0 @@
From 0c3a29b70992627481af789dab50247728bcedf1 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
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 <jfilak@redhat.com>
---
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

View file

@ -1,56 +0,0 @@
From a4412db28021552e1399695b3f5435ccbb03bf08 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
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 <jfilak@redhat.com>
---
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

View file

@ -1,59 +0,0 @@
From affc4b3e644931820180aec57e128106e44b626c Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
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 <mhabrnal@redhat.com>
---
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

View file

@ -1,37 +0,0 @@
From fbb66dec11a7e8503b0cfb9b2c85e94f6b00f4a3 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
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 <jfilak@redhat.com>
---
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/<pid> of crashing
--
2.4.3

View file

@ -1,31 +0,0 @@
From fba54d523b5047cef9f14cdc174fa914f0731c2b Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
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 <mhabrnal@redhat.com>
---
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

View file

@ -1,45 +0,0 @@
From c0440e41e6739f26df540aed167dc00c59eebeb0 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
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 <jfilak@redhat.com>
---
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

View file

@ -1,317 +0,0 @@
From fe2db75f3c7fc37e4754241258e2c14c8d7d2826 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Tue, 25 Aug 2015 16:03:51 +0200
Subject: [PATCH] introduce bodhi2 to abrt-bodhi
Resolves: rhbz#1256493
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
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 <rpm/rpmcli.h>
#include <rpm/rpmdb.h>
#include <rpm/rpmpgp.h>
+#include <hawkey/util.h>
#include <libreport/internal_libreport.h>
#include <libreport/libreport_curl.h>
@@ -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

View file

@ -1,28 +0,0 @@
From 5bdcc2f09aa22180b4ce072f1ec1d65e86eafbab Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
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 <jfilak@redhat.com>
---
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

View file

@ -1,53 +0,0 @@
From 6171adb8111747550e5093cd673e2f254ec1b7c9 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Wed, 26 Aug 2015 13:18:26 +0200
Subject: [PATCH] bodhi: add ignoring of Rawhide
Resolves: rhbz#1256493
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
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

View file

@ -1,110 +0,0 @@
From 167ebb0a8930dcd19c4078773da8c580785053d9 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
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 <mhabrnal@redhat.com>
---
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

View file

@ -1,41 +0,0 @@
From e47863d42f78ddcd404561e21c4c75e6d2feb99e Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
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 <mhabrnal@redhat.com>
---
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

View file

@ -1,29 +0,0 @@
From 66a27fb723e0930d30ea319484817b3f5ee364dc Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
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 <jfilak@redhat.com>
---
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

View file

@ -1,39 +0,0 @@
From 288c3de2a74f82972e35465fb82227cd7bfc5766 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Mon, 21 Sep 2015 10:11:22 +0200
Subject: [PATCH] bodhi: fix typo in error messages
"Reselase" -> "Release"
Related to rhbz#1264591
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
src/plugins/bodhi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/bodhi.c b/src/plugins/bodhi.c
index bbd88f7..809d398 100644
--- a/src/plugins/bodhi.c
+++ b/src/plugins/bodhi.c
@@ -492,7 +492,7 @@ int main(int argc, char **argv)
{
/* There are no bodhi updates for Rawhide */
if (strcasecmp(release, "rawhide") == 0)
- error_msg_and_die("Reselase \"%s\" is not supported",release);
+ error_msg_and_die("Release \"%s\" is not supported",release);
query = strbuf_append_strf(query, "releases=%s&", release);
}
@@ -524,7 +524,7 @@ int main(int argc, char **argv)
if (rawhide)
{
strbuf_free(query);
- error_msg_and_die("Reselase \"Rawhide\" is not supported");
+ error_msg_and_die("Release \"Rawhide\" is not supported");
}
}
}
--
2.5.0

View file

@ -1,109 +0,0 @@
From edf897e2d62e6cb290b314e41a471894e2a2ca8f Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Thu, 24 Sep 2015 10:30:47 +0200
Subject: [PATCH] abrt-dump-xorg: support Xorg log backtraces prefixed by (EE)
The backtraces looks like
[ 60244.259] (EE) Backtrace
[ 60244.262] (EE) 0: /usr/libexec/Xorg (OsLookupColor+0x139) [0x59add9]
[ 60244.264] (EE) 1: /lib64/libc.so.6 (__restore_rt+0x0) [0x7f61be425b1f]
...
[ 60244.273] (EE) 13: ? (?+0x29) [0x29]
[ 60244.273] (EE)
[ 60244.273] (EE) Segmentation fault at address 0x7f61d93f6160
This format of Xorg log files was not supported by abrt-dump-xorg tool.
Related to rhbz#1264739
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
src/plugins/abrt-dump-xorg.c | 57 +++++++++++++++++++++++++++++---------------
1 file changed, 38 insertions(+), 19 deletions(-)
diff --git a/src/plugins/abrt-dump-xorg.c b/src/plugins/abrt-dump-xorg.c
index 4aaff11..6cdfc95 100644
--- a/src/plugins/abrt-dump-xorg.c
+++ b/src/plugins/abrt-dump-xorg.c
@@ -51,8 +51,19 @@ static char *skip_pfx(char *p)
char *q = strchr(p, ']');
if (!q)
return p;
+
if (q[1] == ' ')
- return q + 2;
+ {
+ q += 2;
+ /* if there is (EE), ignore it */
+ if (strncmp(q, "(EE)", 4) == 0)
+ {
+ /* if ' ' follows (EE), ignore it too */
+ return q + (4 + (q[4] == ' '));
+ }
+
+ return q;
+ }
return p;
}
@@ -114,24 +125,24 @@ static void save_bt_to_dump_dir(const char *bt, const char *exe, const char *rea
/* Called after "Backtrace:" line was read.
* Example (yes, stray newline before 'B' is real):
[ 86985.879]<space>
-Backtrace:
-[ 86985.880] 0: /usr/bin/Xorg (xorg_backtrace+0x2f) [0x462d8f]
-[ 86985.880] 1: /usr/bin/Xorg (0x400000+0x67b56) [0x467b56]
-[ 86985.880] 2: /lib64/libpthread.so.0 (0x30a5800000+0xf4f0) [0x30a580f4f0]
-[ 86985.880] 3: /usr/lib64/xorg/modules/extensions/librecord.so (0x7ff6c225e000+0x26c3) [0x7ff6c22606c3]
-[ 86985.880] 4: /usr/bin/Xorg (_CallCallbacks+0x3c) [0x43820c]
-[ 86985.880] 5: /usr/bin/Xorg (WriteToClient+0x1f5) [0x466315]
-[ 86985.880] 6: /usr/lib64/xorg/modules/extensions/libdri2.so (ProcDRI2WaitMSCReply+0x4f) [0x7ff6c1e4feef]
-[ 86985.880] 7: /usr/lib64/xorg/modules/extensions/libdri2.so (DRI2WaitMSCComplete+0x52) [0x7ff6c1e4e6d2]
-[ 86985.880] 8: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7ff6c1bfb000+0x25ae4) [0x7ff6c1c20ae4]
-[ 86985.880] 9: /usr/lib64/libdrm.so.2 (drmHandleEvent+0xa3) [0x376b407513]
-[ 86985.880] 10: /usr/bin/Xorg (WakeupHandler+0x6b) [0x4379db]
-[ 86985.880] 11: /usr/bin/Xorg (WaitForSomething+0x1a9) [0x460289]
-[ 86985.880] 12: /usr/bin/Xorg (0x400000+0x3379a) [0x43379a]
-[ 86985.880] 13: /usr/bin/Xorg (0x400000+0x22dc5) [0x422dc5]
-[ 86985.880] 14: /lib64/libc.so.6 (__libc_start_main+0xed) [0x30a542169d]
-[ 86985.880] 15: /usr/bin/Xorg (0x400000+0x230b1) [0x4230b1]
-[ 86985.880] Segmentation fault at address 0x7ff6bf09e010
+[ 60244.259] (EE) Backtrace:
+[ 60244.262] (EE) 0: /usr/libexec/Xorg (OsLookupColor+0x139) [0x59add9]
+[ 60244.264] (EE) 1: /lib64/libc.so.6 (__restore_rt+0x0) [0x7f61be425b1f]
+[ 60244.266] (EE) 2: /usr/lib64/xorg/modules/drivers/intel_drv.so (_init+0xa9fc) [0x7f61b903116c]
+[ 60244.267] (EE) 3: /usr/lib64/xorg/modules/drivers/intel_drv.so (_init+0xbe27) [0x7f61b90339a7]
+[ 60244.268] (EE) 4: /usr/lib64/xorg/modules/drivers/intel_drv.so (_init+0x31060) [0x7f61b907db00]
+[ 60244.269] (EE) 5: /usr/lib64/xorg/modules/drivers/intel_drv.so (_init+0x3fb73) [0x7f61b909b0c3]
+[ 60244.270] (EE) 6: /usr/lib64/xorg/modules/drivers/intel_drv.so (_init+0x3fe1a) [0x7f61b909b77a]
+[ 60244.270] (EE) 7: /usr/libexec/Xorg (DamageRegionAppend+0x3783) [0x525003]
+[ 60244.270] (EE) 8: /usr/libexec/Xorg (SendGraphicsExpose+0xeb3) [0x4340b3]
+[ 60244.270] (EE) 9: /usr/libexec/Xorg (SendErrorToClient+0x2df) [0x43684f]
+[ 60244.271] (EE) 10: /usr/libexec/Xorg (remove_fs_handlers+0x453) [0x43a893]
+[ 60244.272] (EE) 11: /lib64/libc.so.6 (__libc_start_main+0xf0) [0x7f61be411580]
+[ 60244.272] (EE) 12: /usr/libexec/Xorg (_start+0x29) [0x424b79]
+[ 60244.273] (EE) 13: ? (?+0x29) [0x29]
+[ 60244.273] (EE)
+[ 60244.273] (EE) Segmentation fault at address 0x7f61d93f6160
+[ 60244.273] (EE)
*/
static void process_xorg_bt(void)
{
@@ -144,6 +155,14 @@ static void process_xorg_bt(void)
{
char *p = skip_pfx(line);
+ /* ignore empty lines
+ * [ 60244.273] (EE) 13: ? (?+0x29) [0x29]
+ * [ 60244.273] (EE) <---
+ * [ 60244.273] (EE) Segmentation fault at address 0x7f61d93f6160
+ */
+ if (*p == '\0')
+ continue;
+
/* xorg-server-1.12.0/os/osinit.c:
* if (sip->si_code == SI_USER) {
* ErrorF("Recieved signal %d sent by process %ld, uid %ld\n",
--
2.5.0

View file

@ -1,27 +0,0 @@
From 7b393bb4b8eae7873996467ea11706127e1dbf85 Mon Sep 17 00:00:00 2001
From: Richard Marko <rmarko@fedoraproject.org>
Date: Wed, 17 Jun 2015 15:16:03 +0200
Subject: [PATCH] a-a-a-ccpp-local don't delete build_ids
rm -f always succeeds that causes further actions to run.
Signed-off-by: Richard Marko <rmarko@fedoraproject.org>
---
src/plugins/abrt-action-analyze-ccpp-local.in | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/plugins/abrt-action-analyze-ccpp-local.in b/src/plugins/abrt-action-analyze-ccpp-local.in
index 5a42a03..d3df01d 100644
--- a/src/plugins/abrt-action-analyze-ccpp-local.in
+++ b/src/plugins/abrt-action-analyze-ccpp-local.in
@@ -28,7 +28,6 @@ if $INSTALL_DI; then
else
abrt-action-analyze-core --core=coredump -o build_ids && @LIBEXEC_DIR@/abrt-action-install-debuginfo-to-abrt-cache --size_mb=4096
fi
- rm -f build_ids
fi
if [ $? = 0 ]; then
--
2.5.0

View file

@ -1,35 +0,0 @@
From e5a29b08bb48b408c5e88fa5382f8253ca90a937 Mon Sep 17 00:00:00 2001
From: Richard Marko <rmarko@fedoraproject.org>
Date: Thu, 8 Oct 2015 15:03:26 +0200
Subject: [PATCH] abrt-retrace-client: use atoll for _size conversion
Otherwise we get
The size of your crash is 28.1 MiB, but the retrace server only accepts
crashes smaller or equal to 16.0 EiB.
(gdb) print settings->max_unpacked_size
$4 = -50331648
---
src/plugins/abrt-retrace-client.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/abrt-retrace-client.c b/src/plugins/abrt-retrace-client.c
index 0b67773..540cdc9 100644
--- a/src/plugins/abrt-retrace-client.c
+++ b/src/plugins/abrt-retrace-client.c
@@ -256,9 +256,9 @@ struct retrace_settings *get_settings()
else if (0 == strcasecmp("max_running_tasks", row))
settings->max_running_tasks = atoi(value);
else if (0 == strcasecmp("max_packed_size", row))
- settings->max_packed_size = atoi(value) * 1024 * 1024;
+ settings->max_packed_size = atoll(value) * 1024 * 1024;
else if (0 == strcasecmp("max_unpacked_size", row))
- settings->max_unpacked_size = atoi(value) * 1024 * 1024;
+ settings->max_unpacked_size = atoll(value) * 1024 * 1024;
else if (0 == strcasecmp("supported_formats", row))
{
char *space;
--
2.5.0

View file

@ -1,28 +0,0 @@
From 6bb7cdc454a824826362c68af66cdb92b4bc6653 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Mon, 12 Oct 2015 14:03:13 +0200
Subject: [PATCH] doc: fix default DumpLocation in abrt.conf man page
ABRT no longer stores crashes to /var/tmp/abrt by default.
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
doc/abrt.conf.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/abrt.conf.txt b/doc/abrt.conf.txt
index d782e3d..6626596 100644
--- a/doc/abrt.conf.txt
+++ b/doc/abrt.conf.txt
@@ -16,7 +16,7 @@ A description of each item follows:
DumpLocation = 'directory'::
The directory where should 'abrt' store coredumps and all files which are
- needed for reporting. The default is /var/tmp/abrt.
+ needed for reporting. The default is /var/spool/abrt.
MaxCrashReportsSize = 'number'::
The maximum disk space (specified in megabytes) that 'abrt'
--
2.5.0

View file

@ -1,32 +0,0 @@
From 97633ab28bef2e65032fb81063922e3106dd135b Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
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 <jfilak@redhat.com>
---
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.6.3

View file

@ -1,98 +0,0 @@
From 001066cf6238ee3a61f1a87607272e9736d3e371 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Mon, 26 Oct 2015 13:57:51 +0100
Subject: [PATCH] doc: add missing man page for abrt-dump-journal-core
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
doc/Makefile.am | 1 +
doc/abrt-dump-journal-core.txt | 65 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 66 insertions(+)
create mode 100644 doc/abrt-dump-journal-core.txt
diff --git a/doc/Makefile.am b/doc/Makefile.am
index fdd08cf..ec6b3c5 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -19,6 +19,7 @@ MAN1_TXT += abrt-action-perform-ccpp-analysis.txt
MAN1_TXT += abrt-action-notify.txt
MAN1_TXT += abrt-applet.txt
MAN1_TXT += abrt-dump-oops.txt
+MAN1_TXT += abrt-dump-journal-core.txt
MAN1_TXT += abrt-dump-journal-oops.txt
MAN1_TXT += abrt-dump-xorg.txt
MAN1_TXT += abrt-auto-reporting.txt
diff --git a/doc/abrt-dump-journal-core.txt b/doc/abrt-dump-journal-core.txt
new file mode 100644
index 0000000..25d5e57
--- /dev/null
+++ b/doc/abrt-dump-journal-core.txt
@@ -0,0 +1,65 @@
+abrt-dump-journal-core(1)
+=========================
+
+NAME
+----
+abrt-dump-journal-core - Extract coredumps from systemd-journal
+
+SYNOPSIS
+--------
+'abrt-dump-journal-core' [-vsf] [-e]/[-c CURSOR] [-t INT]/[-T] [-d DIR]/[-D]
+
+DESCRIPTION
+-----------
+This tool creates problem directory from coredumps extracted from
+systemd-journal.
+The tool can follow systemd-journal and extract coredumps in time of their
+occurrence.
+
+The following start from the last seen cursor. If the last seen cursor file
+does not exist, the following start by scanning the entire sytemd-journal or
+from the end if '-e' option is specified.
+
+-c and -e options conflicts because both specifies the first read message.
+
+-e is useful only for -f because the following of journal starts by reading
+the entire journal if the last seen possition is not available.
+
+FILES
+-----
+/var/lib/abrt/abrt-dump-journal-core.state::
+ State file where systemd-journal cursor to the last seen message is saved
+
+OPTIONS
+-------
+-v, --verbose::
+ Be more verbose. Can be given multiple times.
+
+-s::
+ Log to syslog
+
+-d DIR::
+ Create new problem directory in DIR for every coredump
+
+-D::
+ Same as -d DumpLocation, DumpLocation is specified in abrt.conf
+
+-e::
+ Starts following systemd-journal from the end
+
+-t INT::
+ Throttle problem directory creation to 1 per INT second
+
+-T::
+ Same as -t INT, INT is specified in plugins/CCpp.conf
+
+-f::
+ Follow systemd-journal from the last seen position (if available)
+
+SEE ALSO
+--------
+abrt.conf(5), journalctl(1)
+
+AUTHORS
+-------
+* ABRT team
--
2.6.3

View file

@ -1,31 +0,0 @@
From cf9e5388ac7d94ab5aa34b274c32d735b702c48a Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Mon, 26 Oct 2015 15:21:07 +0100
Subject: [PATCH] a-d-journal-core: set root owner for created dump directory
Without this commit abrt-server fails during check the right owner and group of
dump dirs.
Related to rhbz#1269827
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
src/plugins/abrt-dump-journal-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/abrt-dump-journal-core.c b/src/plugins/abrt-dump-journal-core.c
index 7ad69e8..02d5afe 100644
--- a/src/plugins/abrt-dump-journal-core.c
+++ b/src/plugins/abrt-dump-journal-core.c
@@ -302,7 +302,7 @@ save_systemd_coredump_in_dump_directory(struct dump_dir *dd, struct crash_info *
static int
abrt_journal_core_to_abrt_problem(struct crash_info *info, const char *dump_location)
{
- struct dump_dir *dd = create_dump_dir(dump_location, "ccpp", info->ci_uid,
+ struct dump_dir *dd = create_dump_dir(dump_location, "ccpp", /*fs owner*/0,
(save_data_call_back)save_systemd_coredump_in_dump_directory, info);
if (dd != NULL)
--
2.6.3

View file

@ -1,31 +0,0 @@
From 8b6d1511bb89548c60a472ddbaefbf00743be1ea Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Tue, 3 Nov 2015 12:31:38 +0100
Subject: [PATCH] doc: a-a-analyze-xorg fix path to conf file
xorg.conf is no longer located in /etc/abrt/xorg.conf but in
/etc/abrt/plugins/xorg.conf.
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
doc/abrt-action-analyze-xorg.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc/abrt-action-analyze-xorg.txt b/doc/abrt-action-analyze-xorg.txt
index 880c6fb..aa72249 100644
--- a/doc/abrt-action-analyze-xorg.txt
+++ b/doc/abrt-action-analyze-xorg.txt
@@ -39,8 +39,8 @@ OPTIONS
FILES
-----
-/etc/abrt/xorg.conf
- List of modules which, when loaded, should make Xorg crashes non-reportable.
+/etc/abrt/plugins/xorg.conf
+ Configuration file for ABRT's tools which work with Xorg crashes
AUTHORS
-------
--
2.6.3

View file

@ -1,26 +0,0 @@
From 02fa8cc3f0c63b61b4994ac66e5c7e304013b25f Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Tue, 10 Nov 2015 13:22:21 +0100
Subject: [PATCH] a-a-s-p-data: fix segfault if GPGKeysDir isn't configured
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/daemon/abrt-action-save-package-data.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/daemon/abrt-action-save-package-data.c b/src/daemon/abrt-action-save-package-data.c
index 7054f06..72c9878 100644
--- a/src/daemon/abrt-action-save-package-data.c
+++ b/src/daemon/abrt-action-save-package-data.c
@@ -88,7 +88,7 @@ static void load_gpg_keys(void)
}
const char *gpg_keys_dir = get_map_string_item_or_NULL(settings, "GPGKeysDir");
- if (strcmp(gpg_keys_dir, "") != 0)
+ if (gpg_keys_dir != NULL && strcmp(gpg_keys_dir, "") != 0)
{
log_debug("Reading gpg keys from '%s'", gpg_keys_dir);
GHashTable *done_set = g_hash_table_new(g_str_hash, g_str_equal);
--
2.6.3

View file

@ -1,56 +0,0 @@
From a16d12d27e5c12f3e4ab5defaf775a692c405206 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 11 Nov 2015 13:19:35 +0100
Subject: [PATCH] ccpp: make crashes of processes with locked memory
not-reportable
Lets begin with a simply policy preventing users from accidental
publication of problem data with security sensitive data.
"not-reportable" problems can still be auto-reported. That is not an
security issue because uReports does not contain any user data stored in
process' memory (only stack-trace without values local|global variables
and function arguments).
Related to #796.
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/hooks/abrt-hook-ccpp.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c
index 809b45e..4b79900 100644
--- a/src/hooks/abrt-hook-ccpp.c
+++ b/src/hooks/abrt-hook-ccpp.c
@@ -868,6 +868,27 @@ int main(int argc, char** argv)
dd_save_text(dd, FILENAME_ABRT_VERSION, VERSION);
+ /* In case of errors, treat the process as if it has locked memory */
+ long unsigned lck_bytes = ULONG_MAX;
+ const char *vmlck = strstr(proc_pid_status, "VmLck:");
+ if (vmlck == NULL)
+ error_msg("/proc/%s/status does not contain 'VmLck:' line", pid_str);
+ else if (1 != sscanf(vmlck + 6, "%lu kB\n", &lck_bytes))
+ error_msg("Failed to parse 'VmLck:' line in /proc/%s/status", pid_str);
+
+ if (lck_bytes)
+ {
+ log_notice("Process %s of user %lu has locked memory",
+ pid_str, (long unsigned)uid);
+
+ dd_mark_as_notreportable(dd, "The process had locked memory "
+ "which usually indicates efforts to protect sensitive "
+ "data (passwords) from being written to disk.\n"
+ "In order to avoid sensitive information leakages, "
+ "ABRT will not allow you to report this problem to "
+ "bug tracking tools");
+ }
+
if (setting_SaveBinaryImage)
{
if (save_crashing_binary(pid, dd))
--
2.6.3

View file

@ -1,103 +0,0 @@
From 4e5dfba1a1a4d5c5e49b7f6320bd2cb8052f86d1 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 30 Sep 2015 11:50:18 +0200
Subject: [PATCH] a-a-i-d-to-abrt-cache: make own random temporary directory
The set-user-ID wrapper must use own new temporary directory in order to
avoid security issues with unpacking specially crafted debuginfo
packages that might be used to create files or symlinks anywhere on the
file system as the abrt user.
Withot the forking code the temporary directory would remain on the
filesystem in the case where all debuginfo data are already available.
This is caused by the fact that the underlying libreport functionality
accepts path to a desired temporary directory and creates it only if
necessary. Otherwise, the directory is not touched at all.
This commit addresses CVE-2015-5273
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/plugins/Makefile.am | 1 +
.../abrt-action-install-debuginfo-to-abrt-cache.c | 41 +++++++++++++++++++---
2 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index 1c1ff8a..c5ea1ec 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -328,6 +328,7 @@ abrt_action_install_debuginfo_to_abrt_cache_CPPFLAGS = \
-D_GNU_SOURCE \
-DBIN_DIR=\"$(bindir)\" \
-DSBIN_DIR=\"$(sbindir)\" \
+ -DLARGE_DATA_TMP_DIR=\"$(LARGE_DATA_TMP_DIR)\" \
$(LIBREPORT_CFLAGS) \
-Wall -Wwrite-strings \
-fPIE
diff --git a/src/plugins/abrt-action-install-debuginfo-to-abrt-cache.c b/src/plugins/abrt-action-install-debuginfo-to-abrt-cache.c
index 81b1486..52d00de 100644
--- a/src/plugins/abrt-action-install-debuginfo-to-abrt-cache.c
+++ b/src/plugins/abrt-action-install-debuginfo-to-abrt-cache.c
@@ -108,8 +108,14 @@ int main(int argc, char **argv)
build_ids_self_fd = xasprintf("/proc/self/fd/%d", build_ids_fd);
}
- /* name, -v, --ids, -, -y, -e, EXACT, -r, REPO, --, NULL */
- const char *args[11];
+ char tmp_directory[] = LARGE_DATA_TMP_DIR"/abrt-tmp-debuginfo.XXXXXX";
+ if (mkdtemp(tmp_directory) == NULL)
+ perror_msg_and_die("Failed to create working directory");
+
+ log_info("Created working directory: %s", tmp_directory);
+
+ /* name, -v, --ids, -, -y, -e, EXACT, -r, REPO, -t, PATH, --, NULL */
+ const char *args[13];
{
const char *verbs[] = { "", "-v", "-vv", "-vvv" };
unsigned i = 0;
@@ -130,6 +136,8 @@ int main(int argc, char **argv)
args[i++] = "--repo";
args[i++] = repo;
}
+ args[i++] = "--tmpdir";
+ args[i++] = tmp_directory;
args[i++] = "--";
args[i] = NULL;
}
@@ -204,6 +212,31 @@ int main(int argc, char **argv)
umask(0022);
}
- execvp(EXECUTABLE, (char **)args);
- error_msg_and_die("Can't execute %s", EXECUTABLE);
+ pid_t pid = fork();
+ if (pid < 0)
+ perror_msg_and_die("fork");
+
+ if (pid == 0)
+ {
+ execvp(EXECUTABLE, (char **)args);
+ error_msg_and_die("Can't execute %s", EXECUTABLE);
+ }
+
+ int status;
+ if (safe_waitpid(pid, &status, 0) < 0)
+ perror_msg_and_die("waitpid");
+
+ if (rmdir(tmp_directory) >= 0)
+ log_info("Removed working directory: %s", tmp_directory);
+ else if (errno != ENOENT)
+ perror_msg("Failed to remove working directory");
+
+ /* Normal execution should exit here. */
+ if (WIFEXITED(status))
+ return WEXITSTATUS(status);
+
+ if (WIFSIGNALED(status))
+ error_msg_and_die("Child terminated with signal %d", WTERMSIG(status));
+
+ error_msg_and_die("Child exit failed");
}
--
2.6.3

View file

@ -1,101 +0,0 @@
From 1cb9013d7ec62b282fd404062e88371916a12fad Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 30 Sep 2015 12:17:47 +0200
Subject: [PATCH] conf: introduce DebugLevel
ABRT should ignore problems caused by ABRT tools if DebugLevel == 0.
DebugLevel is set to 0 by default.
Related to CVE-2015-5287
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
doc/abrt.conf.txt | 8 ++++++++
src/daemon/abrt.conf | 8 ++++++++
src/include/libabrt.h | 2 ++
src/lib/abrt_conf.c | 14 ++++++++++++++
4 files changed, 32 insertions(+)
diff --git a/doc/abrt.conf.txt b/doc/abrt.conf.txt
index 6626596..1276f55 100644
--- a/doc/abrt.conf.txt
+++ b/doc/abrt.conf.txt
@@ -36,6 +36,14 @@ DeleteUploaded = 'yes/no'::
or not.
The default value is 'no'.
+DebugLevel = '0-100':
+ Allows ABRT tools to detect problems in ABRT itself. By increasing the value
+ you can force ABRT to detect, process and report problems in ABRT. You have
+ to bare in mind that ABRT might fall into an infinite loop when handling
+ problems caused by itself.
+ The default is 0 (non debug mode).
+
+
SEE ALSO
--------
abrtd(8)
diff --git a/src/daemon/abrt.conf b/src/daemon/abrt.conf
index 0050c6d..dbc2007 100644
--- a/src/daemon/abrt.conf
+++ b/src/daemon/abrt.conf
@@ -59,3 +59,11 @@ AutoreportingEnabled = no
# SPECIAL ROOT DIRECTORY IN USER MOUNT NAMESAPCE
#
# ExploreChroots = false
+
+# Allows ABRT tools to detect problems in ABRT itself. By increasing the value
+# you can force ABRT to detect, process and report problems in ABRT. You have
+# to bare in mind that ABRT might fall into an infinite loop when handling
+# problems caused by itself.
+# The default is 0 (non debug mode).
+#
+# DebugLevel = 0
diff --git a/src/include/libabrt.h b/src/include/libabrt.h
index da565f9..6f89959 100644
--- a/src/include/libabrt.h
+++ b/src/include/libabrt.h
@@ -77,6 +77,8 @@ extern char * g_settings_autoreporting_event;
extern bool g_settings_shortenedreporting;
#define g_settings_explorechroots abrt_g_settings_explorechroots
extern bool g_settings_explorechroots;
+#define g_settings_debug_level abrt_g_settings_debug_level
+extern unsigned int g_settings_debug_level;
#define load_abrt_conf abrt_load_abrt_conf
diff --git a/src/lib/abrt_conf.c b/src/lib/abrt_conf.c
index 46ff689..f623344 100644
--- a/src/lib/abrt_conf.c
+++ b/src/lib/abrt_conf.c
@@ -28,6 +28,7 @@ bool g_settings_autoreporting = 0;
char * g_settings_autoreporting_event = NULL;
bool g_settings_shortenedreporting = 0;
bool g_settings_explorechroots = 0;
+unsigned int g_settings_debug_level = 0;
void free_abrt_conf_data()
{
@@ -116,6 +117,19 @@ static void ParseCommon(map_string_t *settings, const char *conf_filename)
else
g_settings_explorechroots = false;
+ value = get_map_string_item_or_NULL(settings, "DebugLevel");
+ if (value)
+ {
+ char *end;
+ errno = 0;
+ unsigned long ul = strtoul(value, &end, 10);
+ if (errno || end == value || *end != '\0' || ul > INT_MAX)
+ error_msg("Error parsing %s setting: '%s'", "DebugLevel", value);
+ else
+ g_settings_debug_level = ul;
+ remove_map_string_item(settings, "DebugLevel");
+ }
+
GHashTableIter iter;
const char *name;
/*char *value; - already declared */
--
2.6.3

View file

@ -1,40 +0,0 @@
From 82264feebb3a816098e68f0dce1502521b6b7a92 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 30 Sep 2015 12:19:48 +0200
Subject: [PATCH] ccpp: ignore crashes of ABRT binaries if DebugLevel == 0
Prior this commit abrt-hook-ccpp was saved core file of any
crashed process executing program whose name starts with "abrt" in
DUMP_LOCATION.
ABRT does not check size constraints of these core files, so the files
could consume an uncontrolled amount of disk space.
Related to CVE-2015-5287
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/hooks/abrt-hook-ccpp.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c
index 4b79900..4a31b81 100644
--- a/src/hooks/abrt-hook-ccpp.c
+++ b/src/hooks/abrt-hook-ccpp.c
@@ -703,6 +703,13 @@ int main(int argc, char** argv)
const char *last_slash = strrchr(executable, '/');
if (last_slash && strncmp(++last_slash, "abrt", 4) == 0)
{
+ if (g_settings_debug_level == 0)
+ {
+ log_warning("Ignoring crash of %s (SIG%s).",
+ executable, signame ? signame : signal_str);
+ goto cleanup_and_exit;
+ }
+
/* If abrtd/abrt-foo crashes, we don't want to create a _directory_,
* since that can make new copy of abrtd to process it,
* and maybe crash again...
--
2.6.3

View file

@ -1,34 +0,0 @@
From fce92be28e87f4bbcf637ec06cc3e28652628684 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 30 Sep 2015 12:24:32 +0200
Subject: [PATCH] ccpp: save abrt core files only to new files
Prior this commit abrt-hook-ccpp saved a core file generated by a
process running a program whose name starts with "abrt" in
DUMP_LOCATION/$(basename program)-coredump. If the file was a symlink,
the hook followed and wrote core file to the symlink's target.
Addresses CVE-2015-5287
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/hooks/abrt-hook-ccpp.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c
index 4a31b81..58d9c28 100644
--- a/src/hooks/abrt-hook-ccpp.c
+++ b/src/hooks/abrt-hook-ccpp.c
@@ -718,7 +718,8 @@ int main(int argc, char** argv)
if (snprintf(path, sizeof(path), "%s/%s-coredump", g_settings_dump_location, last_slash) >= sizeof(path))
error_msg_and_die("Error saving '%s': truncated long file path", path);
- int abrt_core_fd = xopen3(path, O_WRONLY | O_CREAT | O_TRUNC, 0600);
+ unlink(path);
+ int abrt_core_fd = xopen3(path, O_WRONLY | O_CREAT | O_EXCL, 0600);
off_t core_size = copyfd_eof(STDIN_FILENO, abrt_core_fd, COPYFD_SPARSE);
if (core_size < 0 || fsync(abrt_core_fd) != 0)
{
--
2.6.3

View file

@ -1,97 +0,0 @@
From d8a3bd0d464f5b75ac360f4ee4e3cc6927a09199 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 30 Sep 2015 14:13:35 +0200
Subject: [PATCH] lib: add convenient wrappers for ensuring writable dir
Replace lchown with fchown and chmod with fchmod.
Related CVE-2015-5287
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/include/libabrt.h | 4 ++++
src/lib/hooklib.c | 41 ++++++++++++++++++++++++++++++++++-------
2 files changed, 38 insertions(+), 7 deletions(-)
diff --git a/src/include/libabrt.h b/src/include/libabrt.h
index 6f89959..b26dcc6 100644
--- a/src/include/libabrt.h
+++ b/src/include/libabrt.h
@@ -42,8 +42,12 @@ int low_free_space(unsigned setting_MaxCrashReportsSize, const char *dump_locati
#define trim_problem_dirs abrt_trim_problem_dirs
void trim_problem_dirs(const char *dirname, double cap_size, const char *exclude_path);
+#define ensure_writable_dir_id abrt_ensure_writable_dir_uid_git
+void ensure_writable_dir_uid_gid(const char *dir, mode_t mode, uid_t uid, gid_t gid);
#define ensure_writable_dir abrt_ensure_writable_dir
void ensure_writable_dir(const char *dir, mode_t mode, const char *user);
+#define ensure_writable_dir_group abrt_ensure_writable_dir_group
+void ensure_writable_dir_group(const char *dir, mode_t mode, const char *user, const char *group);
#define run_unstrip_n abrt_run_unstrip_n
char *run_unstrip_n(const char *dump_dir_name, unsigned timeout_sec);
#define get_backtrace abrt_get_backtrace
diff --git a/src/lib/hooklib.c b/src/lib/hooklib.c
index 2b76eea..0daa144 100644
--- a/src/lib/hooklib.c
+++ b/src/lib/hooklib.c
@@ -476,23 +476,50 @@ int signal_is_fatal(int signal_no, const char **name)
return signame != NULL;
}
-void ensure_writable_dir(const char *dir, mode_t mode, const char *user)
+void ensure_writable_dir_uid_gid(const char *dir, mode_t mode, uid_t uid, gid_t gid)
{
struct stat sb;
+ int dir_fd;
if (mkdir(dir, mode) != 0 && errno != EEXIST)
perror_msg_and_die("Can't create '%s'", dir);
- if (stat(dir, &sb) != 0 || !S_ISDIR(sb.st_mode))
- error_msg_and_die("'%s' is not a directory", dir);
+ dir_fd = open(dir, O_DIRECTORY | O_NOFOLLOW);
+ if (dir_fd < 0)
+ perror_msg_and_die("Can't open directory '%s'", dir);
+
+ if (fstat(dir_fd, &sb) != 0)
+ perror_msg_and_die("Can't stat directory '%s'", dir);
+
+ if ((sb.st_uid != uid || sb.st_gid != gid) && fchown(dir_fd, uid, gid) != 0)
+ perror_msg_and_die("Can't set owner %u:%u on '%s'", (unsigned int)uid, (unsigned int)gid, dir);
+
+ if ((sb.st_mode & 07777) != mode && fchmod(dir_fd, mode) != 0)
+ perror_msg_and_die("Can't set mode %o on '%s'", mode, dir);
+
+ close(dir_fd);
+}
+
+void ensure_writable_dir(const char *dir, mode_t mode, const char *user)
+{
+ struct passwd *pw = getpwnam(user);
+ if (!pw)
+ perror_msg_and_die("Can't find user '%s'", user);
+
+ ensure_writable_dir_uid_gid(dir, mode, pw->pw_uid, pw->pw_gid);
+}
+
+void ensure_writable_dir_group(const char *dir, mode_t mode, const char *user, const char *group)
+{
struct passwd *pw = getpwnam(user);
if (!pw)
perror_msg_and_die("Can't find user '%s'", user);
- if ((sb.st_uid != pw->pw_uid || sb.st_gid != pw->pw_gid) && lchown(dir, pw->pw_uid, pw->pw_gid) != 0)
- perror_msg_and_die("Can't set owner %u:%u on '%s'", (unsigned int)pw->pw_uid, (unsigned int)pw->pw_gid, dir);
- if ((sb.st_mode & 07777) != mode && chmod(dir, mode) != 0)
- perror_msg_and_die("Can't set mode %o on '%s'", mode, dir);
+ struct group *gr = getgrnam(group);
+ if (!gr)
+ perror_msg_and_die("Can't find group '%s'", group);
+
+ ensure_writable_dir_uid_gid(dir, mode, pw->pw_uid, gr->gr_gid);
}
bool dir_is_in_dump_location(const char *dir_name)
--
2.6.3

View file

@ -1,29 +0,0 @@
From 5653ddfeb61279df38e80ab18652afa68c964eb6 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Wed, 30 Sep 2015 14:14:31 +0200
Subject: [PATCH] abrtd: switch owner of the dump location to 'root'
Additional hardening suggested by Florian Weimer <fweimer@redhat.com>
Related to CVE-2015-5287
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/daemon/abrtd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/daemon/abrtd.c b/src/daemon/abrtd.c
index 0352eed..90a7163 100644
--- a/src/daemon/abrtd.c
+++ b/src/daemon/abrtd.c
@@ -195,7 +195,7 @@ static void sanitize_dump_dir_rights(void)
* us with thousands of bogus or malicious dumps */
/* 07000 bits are setuid, setgit, and sticky, and they must be unset */
/* 00777 bits are usual "rwxrwxrwx" access rights */
- ensure_writable_dir(g_settings_dump_location, DEFAULT_DUMP_LOCATION_MODE, "abrt");
+ ensure_writable_dir_group(g_settings_dump_location, DEFAULT_DUMP_LOCATION_MODE, "root", "abrt");
/* temp dir */
ensure_writable_dir(VAR_RUN"/abrt", 0755, "root");
}
--
2.6.3

View file

@ -1,28 +0,0 @@
From b0d5570f1d0f12adf8e00a39c60e7c5da367fd07 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Wed, 3 Feb 2016 14:41:48 +0100
Subject: [PATCH] a-a-save-package-data: do not blacklist firefox
Resolves: rhbz#1304310
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
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 0129399..58f5061 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, bash
+BlackList = nspluginwrapper, valgrind, strace, mono-core, bash
# Process crashes in executables which do not belong to any package?
#
--
2.5.0

View file

@ -1,94 +0,0 @@
From 3c4bbdee2059525fafdd6b32a6c85cf2358febe4 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Wed, 10 Feb 2016 14:53:44 +0100
Subject: [PATCH] ccpp: drop %e from the core_pattern
The argument is no longer need and it must be placed either at the end
of the command or enclosed with '' as it can contain white space.
Threads can have an arbitrary name:
man 3 pthread_setname_np
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
src/hooks/abrt-hook-ccpp.c | 16 ++++++++--------
src/hooks/abrt-install-ccpp-hook.in | 12 +-----------
2 files changed, 9 insertions(+), 19 deletions(-)
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c
index 58d9c28..ac60840 100644
--- a/src/hooks/abrt-hook-ccpp.c
+++ b/src/hooks/abrt-hook-ccpp.c
@@ -142,9 +142,9 @@ static struct dump_dir *dd;
* %u - uid
* %g - gid
* %t - UNIX time of dump
- * %e - executable filename
- * %i - crash thread tid
* %P - global pid
+ * %I - crash thread tid
+ * %e - executable filename (can contain white spaces)
* %% - output one "%"
*/
/* Hook must be installed with exactly the same sequence of %c specifiers.
@@ -559,9 +559,9 @@ int main(int argc, char** argv)
if (argc < 8)
{
- /* percent specifier: %s %c %p %u %g %t %e %P %i*/
- /* argv: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]*/
- error_msg_and_die("Usage: %s SIGNO CORE_SIZE_LIMIT PID UID GID TIME BINARY_NAME GLOBAL_PID [TID]", argv[0]);
+ /* percent specifier: %s %c %p %u %g %t %P %T */
+ /* argv: [0] [1] [2] [3] [4] [5] [6] [7] [8] */
+ error_msg_and_die("Usage: %s SIGNO CORE_SIZE_LIMIT PID UID GID TIME GLOBAL_PID GLOBAL_TID", argv[0]);
}
/* Not needed on 2.6.30.
@@ -604,11 +604,11 @@ int main(int argc, char** argv)
else
free(s);
}
- const char *global_pid_str = argv[8];
- pid_t pid = xatoi_positive(argv[8]);
+ const char *global_pid_str = argv[7];
+ pid_t pid = xatoi_positive(argv[7]);
pid_t tid = -1;
- const char *tid_str = argv[9];
+ const char *tid_str = argv[8];
if (tid_str)
{
tid = xatoi_positive(tid_str);
diff --git a/src/hooks/abrt-install-ccpp-hook.in b/src/hooks/abrt-install-ccpp-hook.in
index 707c57d..660c209 100755
--- a/src/hooks/abrt-install-ccpp-hook.in
+++ b/src/hooks/abrt-install-ccpp-hook.in
@@ -11,9 +11,7 @@ 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"
-# Same, but with bogus "executable name" parameter
-PATTERN1="|$HOOK_BIN %s %c %p %u %g %t e %P %I"
+PATTERN="|$HOOK_BIN %s %c %p %u %g %t %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/<pid> of crashing
@@ -39,14 +37,6 @@ start() {
cur=`cat "$PATTERN_FILE"`
cur_first=`printf "%s" "$cur" | sed 's/ .*//'`
- # Is there a %e (executable name) in old pattern anywhere?
- if test x"${cur#*%e}" = x"${cur}"; then
- # No. Can use PATTERN with less risk of overflow
- # on expansion (executable names can be LONG).
- # Overflow would cause kernel to abort coredump. BAD.
- PATTERN="$PATTERN1"
- fi
-
$verbose && printf "cur:'%s'\n" "$cur"
# Is it already installed?
if test x"$cur_first" != x"|$HOOK_BIN"; then # no
--
2.5.0

File diff suppressed because it is too large Load diff

View file

@ -1,26 +0,0 @@
From 3f81e0d5fce5b2f30ec19e260cc666f3ae89c034 Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 11 Feb 2016 15:26:27 +0100
Subject: [PATCH] translations: add missing new line
Signed-off-by: Jakub Filak <jfilak@redhat.com>
---
po/km.po | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/po/km.po b/po/km.po
index 84bb1b1..ab7a684 100644
--- a/po/km.po
+++ b/po/km.po
@@ -137,7 +137,7 @@ msgid ""
"\n"
"Applet which notifies user when new problems are detected by ABRT\n"
msgstr ""
-"Applet ដែលបានជូនដំណឹងអ្នកប្រើនៅពេលដែលមានបញ្ហាថ្មីត្រូវបានរកឃើញដោយ ABRT"
+"Applet ដែលបានជូនដំណឹងអ្នកប្រើនៅពេលដែលមានបញ្ហាថ្មីត្រូវបានរកឃើញដោយ ABRT\n"
#: ../src/configuration-gui/abrt-config-widget.c:483
msgid ""
--
2.5.0

View file

@ -1,33 +0,0 @@
From a587ec0e3f2adc76445afc732d798e2d7cd33c02 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Tue, 16 Feb 2016 10:53:06 +0100
Subject: [PATCH] a-a-save-package-data: blacklist
/usr/lib(64)/firefox/plugin-container
/usr/lib(64)/firefox/plugin-container is a sandbox/launcher for Firefox
plug-ins. When it crases Firefox loads it again so we don't want those crashes
reported.
Related to: rhbz#1308840
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
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 58f5061..f3a808f 100644
--- a/src/daemon/abrt-action-save-package-data.conf
+++ b/src/daemon/abrt-action-save-package-data.conf
@@ -15,7 +15,7 @@ ProcessUnpackaged = yes
# Blacklisted executable paths (shell patterns)
#
-BlackListedPaths = /usr/share/doc/*, */example*, /usr/bin/nspluginviewer
+BlackListedPaths = /usr/share/doc/*, */example*, /usr/bin/nspluginviewer, /usr/lib*/firefox/plugin-container
# interpreters names
Interpreters = python2, python2.7, python, python3, python3.3, python3.4, python3.5, perl, perl5.16.2
--
2.5.0

View file

@ -1,85 +0,0 @@
From 894ced59cc43dfda99a393154026181b0bf61784 Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Tue, 8 Mar 2016 16:42:31 +0100
Subject: [PATCH] a-a-install-debuginfo: make tmpdir variable global
Function clean_up() has one required parameter tmpdir.
Without this commit clean_up() function raises an exception because it was
called without the parameter.
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
src/plugins/abrt-action-install-debuginfo.in | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/plugins/abrt-action-install-debuginfo.in b/src/plugins/abrt-action-install-debuginfo.in
index 73ff82f..bb72695 100644
--- a/src/plugins/abrt-action-install-debuginfo.in
+++ b/src/plugins/abrt-action-install-debuginfo.in
@@ -20,7 +20,8 @@ import problem
RETURN_OK = 0
# serious problem, should be logged somewhere
RETURN_FAILURE = 2
-
+# path to tmp directory has to be global because of clean_up()
+TMPDIR = None
GETTEXT_PROGNAME = "abrt"
import locale
@@ -43,11 +44,11 @@ def init_gettext():
gettext.textdomain(GETTEXT_PROGNAME)
def sigterm_handler(signum, frame):
- clean_up()
+ clean_up(TMPDIR)
exit(RETURN_OK)
def sigint_handler(signum, frame):
- clean_up()
+ clean_up(TMPDIR)
print("\n{0}".format(_("Exiting on user command")))
sys.stdout.flush()
# ??! without "sys.", I am getting segv!
@@ -63,7 +64,6 @@ if __name__ == "__main__":
fbuild_ids = "build_ids"
cachedirs = []
size_mb = 4096
- tmpdir = None
keeprpms = False
noninteractive = False
b_ids = []
@@ -135,7 +135,7 @@ if __name__ == "__main__":
except:
pass
elif opt == "--tmpdir":
- tmpdir = arg
+ TMPDIR = arg
elif opt == "--keeprpms":
keeprpms = True
# --exact takes precendece over --ids
@@ -159,11 +159,11 @@ if __name__ == "__main__":
if not cachedirs:
cachedirs = ["/var/cache/abrt-di"]
- if not tmpdir:
+ if not TMPDIR:
# security people prefer temp subdirs in app's private dir, like /var/run/abrt
# and we switched to /tmp but Fedora feature tmp-on-tmpfs appeared, hence we must
# not use /tmp for potential big data anymore
- tmpdir = "@LARGE_DATA_TMP_DIR@/abrt-tmp-debuginfo-%s.%u" % (time.strftime("%Y-%m-%d-%H:%M:%S"), os.getpid())
+ TMPDIR = "@LARGE_DATA_TMP_DIR@/abrt-tmp-debuginfo-%s.%u" % (time.strftime("%Y-%m-%d-%H:%M:%S"), os.getpid())
if missing == None:
@@ -235,7 +235,7 @@ if __name__ == "__main__":
sys.exit(RETURN_FAILURE)
# TODO: should we pass keep_rpms=keeprpms to DebugInfoDownload here??
- downloader = download_class(cache=cachedirs[0], tmp=tmpdir,
+ downloader = download_class(cache=cachedirs[0], tmp=TMPDIR,
noninteractive=noninteractive,
repo_pattern=repo_pattern)
try:
--
2.5.5

View file

@ -1,49 +0,0 @@
From 9c58a7bbd6def445ba1d1faaf7a3c2960ba2819e Mon Sep 17 00:00:00 2001
From: Matej Habrnal <mhabrnal@redhat.com>
Date: Tue, 8 Mar 2016 16:45:36 +0100
Subject: [PATCH] a-a-install-debuginfo: fix BrokenPipe error
While debug info is downloading and stop button is pressed the BrokenPipe
error appears.
If the stop button is pressed, gui wizard sends SIGTERM to all
processes with the same group ID so abrt-action-install-debuginfo got SIGTERM
as well. It has its own SIGTERM handler which calls clean_up() function and it
takes a while before the tool is terminated.
abrt-action-install-debuginfo tries to write some messages to the closed socket
during the clean_up process and it raises a BrokenPipe exception. We must
ensure that no message will be printed after SIGTERM is recieved.
Related to: #1255259
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
---
src/plugins/abrt-action-install-debuginfo.in | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/plugins/abrt-action-install-debuginfo.in b/src/plugins/abrt-action-install-debuginfo.in
index bb72695..f9eb596 100644
--- a/src/plugins/abrt-action-install-debuginfo.in
+++ b/src/plugins/abrt-action-install-debuginfo.in
@@ -44,7 +44,7 @@ def init_gettext():
gettext.textdomain(GETTEXT_PROGNAME)
def sigterm_handler(signum, frame):
- clean_up(TMPDIR)
+ clean_up(TMPDIR, silent=True)
exit(RETURN_OK)
def sigint_handler(signum, frame):
@@ -241,6 +241,9 @@ if __name__ == "__main__":
try:
result = downloader.download(missing, download_exact_files=exact_fls)
except Exception as ex:
+ if ex.errno == errno.EPIPE:
+ clean_up(TMPDIR, silent=True)
+ exit(RETURN_FAILURE)
error_msg_and_die("Can't download debuginfos: %s", ex)
if exact_fls:
--
2.5.5

3576
abrt.spec

File diff suppressed because it is too large Load diff

View file

@ -1,26 +0,0 @@
From 1ef034096efe367af85f568bc982af969124003b Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Mon, 10 Feb 2014 09:39:07 +0100
Subject: [PATCH] disable OpenGPGCheck in Fedora Rawhide
Packages in Fedora Rawhide are not signed.
---
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 3d35bb6..e3f724a 100644
--- a/src/daemon/abrt-action-save-package-data.conf
+++ b/src/daemon/abrt-action-save-package-data.conf
@@ -3,7 +3,7 @@
# the list of public keys used to check the signature is
# in the file gpg_keys
#
-OpenGPGCheck = yes
+OpenGPGCheck = no
# Blacklisted packages
#
--
1.8.3.1

15
gating.yaml Normal file
View file

@ -0,0 +1,15 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View file

@ -1 +1 @@
936fa2b51d58d5c00729b8512ffa2a68 abrt-2.6.1.tar.gz
SHA512 (abrt-2.17.8.tar.gz) = 90b74229412e0186bfa109ee940a60c9f3c0f7ce8c1216acad6f05619a1bb591e7f0bae87363143a05034312c9f14fe5ace341b84f680780ceb93a1e624705b3

10
tests/smoke.fmf Normal file
View file

@ -0,0 +1,10 @@
summary: Basic smoke test for abrt
prepare:
how: install
# Do not attempt to install conflicting subpackages.
exclude:
- abrt-atomic
- abrt-java-connector-container
- python3-abrt-container-addon
execute:
script: abrt-action-notify --help