summaryrefslogtreecommitdiffstats
path: root/src/Daemon/Daemon.cpp
diff options
context:
space:
mode:
authorNikola Pajkovsky <npajkovs@redhat.com>2009-11-26 19:07:05 +0100
committerNikola Pajkovsky <npajkovs@redhat.com>2009-11-26 19:07:05 +0100
commit97311fe0f6970b9c791a872d6bd43c390d54859f (patch)
treec9cc96048216cb04451bf6501ff72648222f5648 /src/Daemon/Daemon.cpp
parent198d3d363d360b65b37753411ca8f6faf544f762 (diff)
downloadabrt-97311fe0f6970b9c791a872d6bd43c390d54859f.tar.gz
abrt-97311fe0f6970b9c791a872d6bd43c390d54859f.tar.xz
abrt-97311fe0f6970b9c791a872d6bd43c390d54859f.zip
Kerneloops are reported automaticky now when AutoReportUIDs = root is in Kerneloops.conf
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Diffstat (limited to 'src/Daemon/Daemon.cpp')
-rw-r--r--src/Daemon/Daemon.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/Daemon/Daemon.cpp b/src/Daemon/Daemon.cpp
index 504b4f04..0e80c25b 100644
--- a/src/Daemon/Daemon.cpp
+++ b/src/Daemon/Daemon.cpp
@@ -494,6 +494,28 @@ static gboolean handle_inotify_cb(GIOChannel *gio, GIOCondition condition, gpoin
log("Already saved crash, just sending dbus signal");
/* Send dbus signal */
{
+ // I don't see any usable usecase for other plugin to be able automatic report.
+ if (analyzer_has_AutoReportUIDs(/*crashinfo[CD_MWANALYZER][CD_CONTENT].c_str()*/"Kerneloops",crashinfo[CD_UID][CD_CONTENT].c_str()))
+ {
+ map_crash_report_t crash_report;
+ VERB3 log("Create autoreport for user with uid %s",crashinfo[CD_UID][CD_CONTENT].c_str());
+ mw_result_t crash_result = CreateCrashReport(crashinfo[CD_UUID][CD_CONTENT].c_str(), crashinfo[CD_UID][CD_CONTENT].c_str(), 0, crash_report);
+ if (crash_result == MW_OK)
+ {
+ map_analyzer_actions_and_reporters_t::const_iterator it = g_settings_mapAnalyzerActionsAndReporters.find("Kerneloops");
+ map_analyzer_actions_and_reporters_t::const_iterator end = g_settings_mapAnalyzerActionsAndReporters.end();
+ if (it != end)
+ {
+ vector_pair_string_string_t keys = it->second;
+
+ uint32_t size = keys.size();
+ for (uint32_t ii = 0; ii < size; ii++)
+ {
+ autoreport(keys[ii], crash_report);
+ }
+ }
+ }
+ }
const char *uid_str = analyzer_has_InformAllUsers(crashinfo[CD_MWANALYZER][CD_CONTENT].c_str())
? NULL
: crashinfo[CD_UID][CD_CONTENT].c_str();