summaryrefslogtreecommitdiffstats
path: root/src/Daemon
diff options
context:
space:
mode:
authorNikola Pajkovsky <npajkovs@redhat.com>2009-08-26 15:35:50 +0200
committerNikola Pajkovsky <npajkovs@redhat.com>2009-08-26 15:35:50 +0200
commit556a4b3df4f116965e8dc46c08ac5e720834022e (patch)
tree863dd4d67b2ace8b6b95e2157cce8b2be3076763 /src/Daemon
parentde7e5c9866603aed5f7b9c3ba6986a7ff1d37028 (diff)
downloadabrt-556a4b3df4f116965e8dc46c08ac5e720834022e.tar.gz
abrt-556a4b3df4f116965e8dc46c08ac5e720834022e.tar.xz
abrt-556a4b3df4f116965e8dc46c08ac5e720834022e.zip
resolved: Bug 518420 - ordinary user's abrt-applet shows up for root owned crashes
Diffstat (limited to 'src/Daemon')
-rw-r--r--src/Daemon/CommLayerServer.h2
-rw-r--r--src/Daemon/CommLayerServerDBus.cpp5
-rw-r--r--src/Daemon/CommLayerServerDBus.h2
-rw-r--r--src/Daemon/Daemon.cpp4
4 files changed, 7 insertions, 6 deletions
diff --git a/src/Daemon/CommLayerServer.h b/src/Daemon/CommLayerServer.h
index 0953c37d..67b7e89e 100644
--- a/src/Daemon/CommLayerServer.h
+++ b/src/Daemon/CommLayerServer.h
@@ -13,7 +13,7 @@ class CCommLayerServer {
virtual ~CCommLayerServer();
/* just stubs to be called when not implemented in specific comm layer */
- virtual void Crash(const std::string& arg1) {}
+ virtual void Crash(const std::string& progname, const std::string& uid) {}
virtual void AnalyzeComplete(const map_crash_report_t& arg1) {}
virtual void Error(const std::string& arg1) {}
virtual void Update(const std::string& pDest, const std::string& pMessage) {};
diff --git a/src/Daemon/CommLayerServerDBus.cpp b/src/Daemon/CommLayerServerDBus.cpp
index 82b9c9c3..95c0586d 100644
--- a/src/Daemon/CommLayerServerDBus.cpp
+++ b/src/Daemon/CommLayerServerDBus.cpp
@@ -203,11 +203,12 @@ DBus::Message CCommLayerServerDBus::_UnRegisterPlugin_stub(const DBus::CallMessa
*/
/* Notify the clients (UI) about a new crash */
-void CCommLayerServerDBus::Crash(const std::string& arg1)
+void CCommLayerServerDBus::Crash(const std::string& progname, const std::string& uid)
{
::DBus::SignalMessage sig("Crash");
::DBus::MessageIter wi = sig.writer();
- wi << arg1;
+ wi << progname;
+ wi << uid;
emit_signal(sig);
}
diff --git a/src/Daemon/CommLayerServerDBus.h b/src/Daemon/CommLayerServerDBus.h
index e51578e2..38450aa2 100644
--- a/src/Daemon/CommLayerServerDBus.h
+++ b/src/Daemon/CommLayerServerDBus.h
@@ -34,7 +34,7 @@ class CCommLayerServerDBus
/* DBus signal senders */
public:
- virtual void Crash(const std::string& arg1);
+ virtual void Crash(const std::string& progname, const std::string& uid);
virtual void AnalyzeComplete(const map_crash_report_t& arg1);
virtual void Error(const std::string& arg1);
virtual void Update(const std::string& pDest, const std::string& pMessage);
diff --git a/src/Daemon/Daemon.cpp b/src/Daemon/Daemon.cpp
index 58970b05..f5b40b4a 100644
--- a/src/Daemon/Daemon.cpp
+++ b/src/Daemon/Daemon.cpp
@@ -467,13 +467,13 @@ static gboolean handle_event_cb(GIOChannel *gio, GIOCondition condition, gpointe
log("New crash, saving...");
RunActionsAndReporters(crashinfo[CD_MWDDD][CD_CONTENT]);
/* send message to dbus */
- g_pCommLayer->Crash(crashinfo[CD_PACKAGE][CD_CONTENT]);
+ g_pCommLayer->Crash(crashinfo[CD_PACKAGE][CD_CONTENT], crashinfo[CD_UID][CD_CONTENT]);
break;
case MW_REPORTED:
case MW_OCCURED:
/* send message to dbus */
log("Already saved crash, deleting...");
- g_pCommLayer->Crash(crashinfo[CD_PACKAGE][CD_CONTENT]);
+ g_pCommLayer->Crash(crashinfo[CD_PACKAGE][CD_CONTENT], crashinfo[CD_UID][CD_CONTENT]);
DeleteDebugDumpDir(std::string(DEBUG_DUMPS_DIR) + "/" + name);
break;
case MW_BLACKLISTED: