From 1fe3cae67ecc20f346aa38bb0ed4500f8e2885bf Mon Sep 17 00:00:00 2001 From: Casey Dahlin Date: Fri, 20 May 2016 16:34:51 -0700 Subject: [PATCH] adb: Set a hostname for mDNS Now all devices won't appear as "Android." Should make it easier to multiplex. Test: Verified locally on a raspberry pi 3 Bug: 28887278 (cherry picked from 815b23319635d264ae0ce2c8c29a5776a57b8051) Change-Id: Icfd0116477543af6a3049c14d818c1cff7fc3b93 --- adb/daemon/mdns.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/adb/daemon/mdns.cpp b/adb/daemon/mdns.cpp index 85c5a07d4..a8622ae08 100644 --- a/adb/daemon/mdns.cpp +++ b/adb/daemon/mdns.cpp @@ -61,9 +61,13 @@ static void setup_mdns_thread(void* /* unused */) { start_mdns(); std::lock_guard lock(mdns_lock); - auto error = DNSServiceRegister(&mdns_ref, 0, 0, nullptr, "_adb._tcp", - nullptr, nullptr, htobe16((uint16_t)port), - 0, nullptr, mdns_callback, nullptr); + std::string hostname = "adb-"; + hostname += android::base::GetProperty("ro.serialno", "unidentified"); + + auto error = DNSServiceRegister(&mdns_ref, 0, 0, hostname.c_str(), + kADBServiceType, nullptr, nullptr, + htobe16((uint16_t)port), 0, nullptr, + mdns_callback, nullptr); if (error != kDNSServiceErr_NoError) { LOG(ERROR) << "Could not register mDNS service (" << error << ").";