summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2010-11-02 13:29:36 +0100
committerDenys Vlasenko <dvlasenk@redhat.com>2010-11-02 13:29:36 +0100
commit098324df56d2cb27ea90174a11b5aeb5a110b86a (patch)
treea2a055b65ed868ee2e7fd51013d4cba54479126c /src
parentec16fd0d010b40d2bde85a4167543bd3fa5823b0 (diff)
downloadabrt-098324df56d2cb27ea90174a11b5aeb5a110b86a.tar.gz
abrt-098324df56d2cb27ea90174a11b5aeb5a110b86a.tar.xz
abrt-098324df56d2cb27ea90174a11b5aeb5a110b86a.zip
remove AutoReportUIDs support
abrt_action.conf provides a way to configure that behaviour. This change adds a commented-out example how to do it for kerneloops. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/daemon/Daemon.cpp28
-rw-r--r--src/daemon/MiddleWare.cpp41
-rw-r--r--src/daemon/MiddleWare.h4
-rw-r--r--src/daemon/abrt_action.conf15
4 files changed, 10 insertions, 78 deletions
diff --git a/src/daemon/Daemon.cpp b/src/daemon/Daemon.cpp
index d94f8a9b..929fcd0b 100644
--- a/src/daemon/Daemon.cpp
+++ b/src/daemon/Daemon.cpp
@@ -668,34 +668,6 @@ static gboolean handle_inotify_cb(GIOChannel *gio, GIOCondition condition, gpoin
const char *analyzer = get_crash_data_item_content(crashinfo, FILENAME_ANALYZER).c_str();
const char *uid_str = get_crash_data_item_content(crashinfo, CD_UID).c_str();
- /* Autoreport it if configured to do so */
- if (res != MW_REPORTED
- && analyzer_has_AutoReportUIDs(analyzer, uid_str)
- ) {
- VERB1 log("Reporting the crash automatically");
- map_crash_data_t crash_report;
- string crash_id = ssprintf("%s:%s", uid_str, get_crash_data_item_content(crashinfo, CD_UUID).c_str());
- mw_result_t crash_result = CreateCrashReport(
- crash_id.c_str(),
- /*caller_uid:*/ 0,
- /*force:*/ 0,
- crash_report
- );
- if (crash_result == MW_OK)
- {
- map_analyzer_actions_and_reporters_t::const_iterator it = g_settings_mapAnalyzerActionsAndReporters.find(analyzer);
- map_analyzer_actions_and_reporters_t::const_iterator end = g_settings_mapAnalyzerActionsAndReporters.end();
- if (it != end)
- {
- vector_pair_string_string_t keys = it->second;
- unsigned size = keys.size();
- for (unsigned ii = 0; ii < size; ii++)
- {
- autoreport(keys[ii], crash_report);
- }
- }
- }
- }
/* Send dbus signal */
if (analyzer_has_InformAllUsers(analyzer))
uid_str = NULL;
diff --git a/src/daemon/MiddleWare.cpp b/src/daemon/MiddleWare.cpp
index 43ac9637..e66f9f6c 100644
--- a/src/daemon/MiddleWare.cpp
+++ b/src/daemon/MiddleWare.cpp
@@ -126,7 +126,6 @@ static void run_analyser_CreateReport(const char *pAnalyzer,
* Called in three cases:
* (1) by StartJob dbus call -> CreateReportThread(), in the thread
* (2) by CreateReport dbus call
- * (3) by daemon if AutoReportUID is set for this user's crashes
*/
mw_result_t CreateCrashReport(const char *crash_id,
long caller_uid,
@@ -523,46 +522,6 @@ bool analyzer_has_InformAllUsers(const char *analyzer_name)
return string_to_bool(it->second.c_str());
}
-bool analyzer_has_AutoReportUIDs(const char *analyzer_name, const char *uid_str)
-{
- CAnalyzer* analyzer = g_pPluginManager->GetAnalyzer(analyzer_name);
- if (!analyzer)
- {
- return false;
- }
- map_plugin_settings_t settings = analyzer->GetSettings();
- map_plugin_settings_t::const_iterator it = settings.find("AutoReportUIDs");
- if (it == settings.end())
- return false;
-
- vector_string_t logins;
- parse_args(it->second.c_str(), logins);
-
- uid_t uid = xatoi_u(uid_str);
- unsigned size = logins.size();
- for (unsigned ii = 0; ii < size; ii++)
- {
- struct passwd* pw = getpwnam(logins[ii].c_str());
- if (!pw)
- continue;
- if (pw->pw_uid == uid)
- return true;
- }
-
- return false;
-}
-
-void autoreport(const pair_string_string_t& reporter_options, const map_crash_data_t& crash_report)
-{
- CReporter* reporter = g_pPluginManager->GetReporter(reporter_options.first.c_str());
- if (!reporter)
- {
- return;
- }
- map_plugin_settings_t plugin_settings;
- /*std::string res =*/ reporter->Report(crash_report, plugin_settings, reporter_options.second.c_str());
-}
-
/**
* Execute all action plugins, which are associated to
* particular analyzer plugin.
diff --git a/src/daemon/MiddleWare.h b/src/daemon/MiddleWare.h
index b132fb95..efe354f2 100644
--- a/src/daemon/MiddleWare.h
+++ b/src/daemon/MiddleWare.h
@@ -145,8 +145,4 @@ void AddActionOrReporter(const char *pActionOrReporter,
const char *pArgs);
bool analyzer_has_InformAllUsers(const char *analyzer_name);
-
-bool analyzer_has_AutoReportUIDs(const char *analyzer_name, const char *uid_str);
-
-void autoreport(const pair_string_string_t& reporter_options, const map_crash_data_t& crash_report);
#endif /*MIDDLEWARE_H_*/
diff --git a/src/daemon/abrt_action.conf b/src/daemon/abrt_action.conf
index 6b4bd50a..a8df2896 100644
--- a/src/daemon/abrt_action.conf
+++ b/src/daemon/abrt_action.conf
@@ -30,12 +30,17 @@ EVENT=post-create abrt-action-save-package-data
EVENT=post-create analyzer=CCpp abrt-action-analyze-c
EVENT=post-create analyzer=python abrt-action-analyze-python
EVENT=post-create analyzer=oops abrt-action-analyze-oops
+# If you want behavior similar to one provided by kerneloops daemon
+# distributed by kerneloops.org - that is, if you want
+# oopses to be reported automatically and immediately without
+# user interaction, uncomment this line:
+#EVENT=post-create analyzer=oops abrt-action-kerneloops
EVENT=analyze analyzer=CCpp abrt-action-install-debuginfo "$DUMP_DIR/coredump" "/var/run/abrt/$$-$RANDOM" /var/cache/abrt-di
EVENT=analyze analyzer=CCpp abrt-action-generate-backtrace
-EVENT=report analyzer=oops abrt-action-kerneloops
-EVENT=report analyzer=CCpp abrt-action-bugzilla
-EVENT=report analyzer=CCpp abrt-action-print >/var/log/abrt.log
-EVENT=report analyzer=python abrt-action-bugzilla
-EVENT=report analyzer=python abrt-action-print >/var/log/abrt.log
+EVENT=report analyzer=oops abrt-action-kerneloops
+EVENT=report_Bugzilla analyzer=CCpp abrt-action-bugzilla
+EVENT=report_Logger analyzer=CCpp abrt-action-print >/var/log/abrt.log
+EVENT=report_Bugzilla analyzer=python abrt-action-bugzilla
+EVENT=report_Logger analyzer=python abrt-action-print >/var/log/abrt.log