1*635a8641SAndroid Build Coastguard WorkerFrom ad887b5aaf4f834dbbd487adfe89d9a5b3d673f2 Mon Sep 17 00:00:00 2001
2*635a8641SAndroid Build Coastguard WorkerFrom: Sonny Sasaka <[email protected]>
3*635a8641SAndroid Build Coastguard WorkerDate: Thu, 9 Aug 2018 22:39:57 +0000
4*635a8641SAndroid Build Coastguard WorkerSubject: [PATCH] dbus: Remove LOG(ERROR) in ObjectProxy
5*635a8641SAndroid Build Coastguard Worker
6*635a8641SAndroid Build Coastguard WorkerIt is a valid use case for a daemon to have multiple ObjectProxies of
7*635a8641SAndroid Build Coastguard Workerdifferent services with the exact same object path and interface name.
8*635a8641SAndroid Build Coastguard WorkerCurrently, this may cause log pollution of "rejecting a message from a
9*635a8641SAndroid Build Coastguard Workerwrong sender" because one ObjectProxy receives signals intended for
10*635a8641SAndroid Build Coastguard Workeranother ObjectProxy. Since it's actually a valid case and not a bug, it
11*635a8641SAndroid Build Coastguard Workershouldn't be logged as error but it may still be logged with VLOG.
12*635a8641SAndroid Build Coastguard Worker
13*635a8641SAndroid Build Coastguard WorkerCurrently this is discovered in Bluetooth daemon (btdispatch) because it
14*635a8641SAndroid Build Coastguard Workerlistens to both BlueZ's and Newblue's objects which have identical
15*635a8641SAndroid Build Coastguard Workerobject paths and interfaces.
16*635a8641SAndroid Build Coastguard Worker
17*635a8641SAndroid Build Coastguard WorkerBug: 866704
18*635a8641SAndroid Build Coastguard WorkerChange-Id: I25b6437ec6081e244a47c635c0adedf281530967
19*635a8641SAndroid Build Coastguard WorkerReviewed-on: https://chromium-review.googlesource.com/1164474
20*635a8641SAndroid Build Coastguard WorkerReviewed-by: Ryo Hashimoto <[email protected]>
21*635a8641SAndroid Build Coastguard WorkerCommit-Queue: Sonny Sasaka <[email protected]>
22*635a8641SAndroid Build Coastguard WorkerCr-Commit-Position: refs/heads/master@{#581937}
23*635a8641SAndroid Build Coastguard Worker---
24*635a8641SAndroid Build Coastguard Worker dbus/object_proxy.cc | 11 +++++------
25*635a8641SAndroid Build Coastguard Worker 1 file changed, 5 insertions(+), 6 deletions(-)
26*635a8641SAndroid Build Coastguard Worker
27*635a8641SAndroid Build Coastguard Workerdiff --git a/dbus/object_proxy.cc b/dbus/object_proxy.cc
28*635a8641SAndroid Build Coastguard Workerindex 35835fbdc32c..aa5102aec792 100644
29*635a8641SAndroid Build Coastguard Worker--- a/dbus/object_proxy.cc
30*635a8641SAndroid Build Coastguard Worker+++ b/dbus/object_proxy.cc
31*635a8641SAndroid Build Coastguard Worker@@ -519,6 +519,11 @@ DBusHandlerResult ObjectProxy::HandleMessage(
32*635a8641SAndroid Build Coastguard Worker     return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
33*635a8641SAndroid Build Coastguard Worker   }
34*635a8641SAndroid Build Coastguard Worker
35*635a8641SAndroid Build Coastguard Worker+  std::string sender = signal->GetSender();
36*635a8641SAndroid Build Coastguard Worker+  // Ignore message from sender we are not interested in.
37*635a8641SAndroid Build Coastguard Worker+  if (service_name_owner_ != sender)
38*635a8641SAndroid Build Coastguard Worker+    return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
39*635a8641SAndroid Build Coastguard Worker+
40*635a8641SAndroid Build Coastguard Worker   const std::string interface = signal->GetInterface();
41*635a8641SAndroid Build Coastguard Worker   const std::string member = signal->GetMember();
42*635a8641SAndroid Build Coastguard Worker
43*635a8641SAndroid Build Coastguard Worker@@ -534,12 +539,6 @@ DBusHandlerResult ObjectProxy::HandleMessage(
44*635a8641SAndroid Build Coastguard Worker   }
45*635a8641SAndroid Build Coastguard Worker   VLOG(1) << "Signal received: " << signal->ToString();
46*635a8641SAndroid Build Coastguard Worker
47*635a8641SAndroid Build Coastguard Worker-  std::string sender = signal->GetSender();
48*635a8641SAndroid Build Coastguard Worker-  if (service_name_owner_ != sender) {
49*635a8641SAndroid Build Coastguard Worker-    LOG(ERROR) << "Rejecting a message from a wrong sender.";
50*635a8641SAndroid Build Coastguard Worker-    return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
51*635a8641SAndroid Build Coastguard Worker-  }
52*635a8641SAndroid Build Coastguard Worker-
53*635a8641SAndroid Build Coastguard Worker   const base::TimeTicks start_time = base::TimeTicks::Now();
54*635a8641SAndroid Build Coastguard Worker   if (bus_->HasDBusThread()) {
55*635a8641SAndroid Build Coastguard Worker     // Post a task to run the method in the origin thread.
56*635a8641SAndroid Build Coastguard Worker--
57*635a8641SAndroid Build Coastguard Worker2.21.0.392.gf8f6787159e-goog
58*635a8641SAndroid Build Coastguard Worker
59