diff options
| -rw-r--r-- | abrt.init | 17 | ||||
| -rw-r--r-- | src/Daemon/MiddleWare.cpp | 25 |
2 files changed, 29 insertions, 13 deletions
@@ -16,7 +16,8 @@ # Source function library. . /etc/rc.d/init.d/functions - +ABRT_BIN="/usr/sbin/abrtd" +LOCK="/var/lock/subsys/abrtd" RETVAL=0 # @@ -28,7 +29,7 @@ check() { [ `id -u` = 0 ] || exit 4 # Check if abrt is executable - test -x /usr/sbin/abrtd || exit 5 + test -x $ABRT_BIN || exit 5 } start() { @@ -36,11 +37,11 @@ start() { check # Check if it is already running - if [ ! -f /var/lock/subsys/abrt ]; then + if [ ! -f $LOCK ]; then echo -n $"Starting abrt daemon: " - daemon /usr/sbin/abrtd + daemon $ABRT_BIN RETVAL=$? - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/abrt + [ $RETVAL -eq 0 ] && touch $LOCK echo fi return $RETVAL @@ -51,9 +52,9 @@ stop() { check echo -n $"Stopping abrt daemon: " - killproc /usr/sbin/abrtd + killproc $ABRT_BIN RETVAL=$? - [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/abrt + [ $RETVAL -eq 0 ] && rm -f $LOCK echo return $RETVAL } @@ -86,7 +87,7 @@ restart) restart ;; condrestart) - if [ -f /var/lock/subsys/abrt ]; then + if [ -f $LOCK ]; then restart fi ;; diff --git a/src/Daemon/MiddleWare.cpp b/src/Daemon/MiddleWare.cpp index e0687fd..28066f5 100644 --- a/src/Daemon/MiddleWare.cpp +++ b/src/Daemon/MiddleWare.cpp @@ -414,6 +414,25 @@ report_status_t Report(const map_crash_data_t& client_report, } } + /* Remove BIN filenames from stored_report if they are not present in client's data */ + map_crash_data_t::const_iterator its = stored_report.begin(); + while (its != stored_report.end()) + { + if (its->second[CD_TYPE] == CD_BIN) + { + std::string key = its->first; + if (get_crash_data_item_content_or_NULL(client_report, key.c_str()) == NULL) + { + /* client does not have it -> does not want it passed to reporters */ + VERB3 log("Won't report BIN file %s:'%s'", key.c_str(), its->second[CD_CONTENT].c_str()); + its++; /* move off the element we will erase */ + stored_report.erase(key); + continue; + } + } + its++; + } + const std::string& analyzer = get_crash_data_item_content(stored_report, FILENAME_ANALYZER); std::string dup_hash = GetGlobalUUID(analyzer.c_str(), pDumpDir.c_str()); @@ -733,10 +752,6 @@ bool analyzer_has_AutoReportUIDs(const char *analyzer_name, const char *uid_str) if (it == settings.end()) return false; - if ((strcmp(analyzer_name, "Kerneloops") == 0) && (strcmp(uid_str, "-1") == 0)) - return true; - -/* vector_string_t logins; parse_args(it->second.c_str(), logins); @@ -750,7 +765,7 @@ bool analyzer_has_AutoReportUIDs(const char *analyzer_name, const char *uid_str) if (pw->pw_uid == uid) return true; } -*/ + return false; } |
