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