Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(209)

Issue 15733008: Multicast DNS implementation (initial) (Closed)

Created:
7 years, 7 months ago by Noam Samuel
Modified:
7 years, 6 months ago
Reviewers:
cbentzel, szym, gene
CC:
chromium-reviews, cbentzel+watch_chromium.org, mmenke
Base URL:
https://chromium.googlesource.com/chromium/src.git@mdns_implementation2
Visibility:
Public.

Description

Multicast DNS implementation (initial) An implementation of multicast DNS in net/. Currently, the multicast DNS implementation supports the following features: - Listeners, which can be notified of any changes to records of a certain type and name, or records of a certain type. - Transactions, which allow users to query multicast DNS for a specific unique record (e.g. an address) BUG=233821 TEST=MDnsTest.*,MDnsConnectionTest.* Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=206170

Patch Set 1 #

Total comments: 68

Patch Set 2 : Uploading to check comments against diff (next upload will have files renamed) #

Total comments: 2

Patch Set 3 : Renamed files from "listener" to "client" #

Total comments: 11

Patch Set 4 : #

Patch Set 5 : #

Total comments: 61

Patch Set 6 : #

Patch Set 7 : #

Total comments: 6

Patch Set 8 : #

Total comments: 27

Patch Set 9 : #

Patch Set 10 : #

Total comments: 82

Patch Set 11 : #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+2170 lines, -0 lines) Patch
M net/dns/dns_protocol.h View 7 2 chunks +5 lines, -0 lines 0 comments Download
M net/dns/dns_query.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M net/dns/dns_query.cc View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -0 lines 0 comments Download
M net/dns/dns_response.h View 7 1 chunk +2 lines, -0 lines 0 comments Download
M net/dns/dns_response.cc View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
A net/dns/mdns_client.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +156 lines, -0 lines 0 comments Download
A net/dns/mdns_client.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +26 lines, -0 lines 0 comments Download
A net/dns/mdns_client_impl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +288 lines, -0 lines 0 comments Download
A net/dns/mdns_client_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +599 lines, -0 lines 1 comment Download
A net/dns/mdns_client_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1070 lines, -0 lines 1 comment Download
M net/net.gyp View 1 2 3 4 5 6 7 8 9 10 4 chunks +11 lines, -0 lines 0 comments Download

Messages

Total messages: 31 (0 generated)
Noam Samuel
7 years, 7 months ago (2013-05-23 20:26:38 UTC) #1
szym
I have only skimmed it, but overall it seems that the reason you need to ...
7 years, 7 months ago (2013-05-24 15:32:22 UTC) #2
Noam Samuel
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener.h File net/dns/mdns_listener.h (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener.h#newcode31 net/dns/mdns_listener.h:31: }; MDnsCache::UpdateType contains a NoChange member, which can never ...
7 years, 7 months ago (2013-05-24 19:00:49 UTC) #3
Noam Samuel
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener.h File net/dns/mdns_listener.h (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener.h#newcode18 net/dns/mdns_listener.h:18: extern const char kMDNSMulticastGroupIPv4[]; I put it here so ...
7 years, 7 months ago (2013-05-24 21:59:17 UTC) #4
Noam Samuel
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc File net/dns/mdns_listener_impl.cc (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc#newcode233 net/dns/mdns_listener_impl.cc:233: base::Owned(record_clone.release())) ); On second thought, deferring shutting down listening ...
7 years, 7 months ago (2013-05-24 22:34:20 UTC) #5
szym
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc File net/dns/mdns_listener_impl.cc (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc#newcode120 net/dns/mdns_listener_impl.cc:120: AsWeakPtr(), socket, response, recv_addr)); You don't really need WeakPtr ...
7 years, 7 months ago (2013-05-25 02:51:01 UTC) #6
Noam Samuel
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc File net/dns/mdns_listener_impl.cc (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc#newcode125 net/dns/mdns_listener_impl.cc:125: base::Bind(&MDnsListenerFactoryImpl::Core::OnDatagramRecieved, If an attacker were to spam the mdns ...
7 years, 6 months ago (2013-05-29 17:53:03 UTC) #7
szym
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc File net/dns/mdns_listener_impl.cc (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc#newcode125 net/dns/mdns_listener_impl.cc:125: base::Bind(&MDnsListenerFactoryImpl::Core::OnDatagramRecieved, On 2013/05/29 17:53:03, Noam Samuel wrote: > If ...
7 years, 6 months ago (2013-05-29 17:59:40 UTC) #8
Noam Samuel
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc File net/dns/mdns_listener_impl.cc (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc#newcode233 net/dns/mdns_listener_impl.cc:233: base::Owned(record_clone.release())) ); Each individual listener is added/removed in an ...
7 years, 6 months ago (2013-05-29 18:35:34 UTC) #9
szym
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc File net/dns/mdns_listener_impl.cc (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc#newcode233 net/dns/mdns_listener_impl.cc:233: base::Owned(record_clone.release())) ); With deferred deletion, how do you avoid ...
7 years, 6 months ago (2013-05-29 18:40:43 UTC) #10
Noam Samuel
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc File net/dns/mdns_listener_impl.cc (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_impl.cc#newcode233 net/dns/mdns_listener_impl.cc:233: base::Owned(record_clone.release())) ); Oh, sorry. The deferred deletion applies only ...
7 years, 6 months ago (2013-05-29 20:14:49 UTC) #11
Noam Samuel
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener.h File net/dns/mdns_listener.h (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener.h#newcode18 net/dns/mdns_listener.h:18: extern const char kMDNSMulticastGroupIPv4[]; On 2013/05/24 21:59:18, Noam Samuel ...
7 years, 6 months ago (2013-05-29 21:25:16 UTC) #12
szym
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_unittest.cc File net/dns/mdns_listener_unittest.cc (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_unittest.cc#newcode361 net/dns/mdns_listener_unittest.cc:361: net::NetLog::Source())), On 2013/05/29 21:25:16, Noam Samuel wrote: > On ...
7 years, 6 months ago (2013-06-02 19:01:23 UTC) #13
Noam Samuel
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_unittest.cc File net/dns/mdns_listener_unittest.cc (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_unittest.cc#newcode361 net/dns/mdns_listener_unittest.cc:361: net::NetLog::Source())), DatagramServerSocket doesn't support multicasting (JoinGroup and AllowAddressReuse). Should ...
7 years, 6 months ago (2013-06-03 17:57:55 UTC) #14
szym
https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_unittest.cc File net/dns/mdns_listener_unittest.cc (right): https://codereview.chromium.org/15733008/diff/1/net/dns/mdns_listener_unittest.cc#newcode361 net/dns/mdns_listener_unittest.cc:361: net::NetLog::Source())), On 2013/06/03 17:57:55, Noam Samuel wrote: > DatagramServerSocket ...
7 years, 6 months ago (2013-06-03 18:38:29 UTC) #15
Noam Samuel
Additional change: After running into some issues with synchronous callbacks being called on initialization, moved ...
7 years, 6 months ago (2013-06-04 00:08:02 UTC) #16
Noam Samuel
Hey, In order to make the API surface easier to use, I simplified it a ...
7 years, 6 months ago (2013-06-07 01:40:45 UTC) #17
szym
A lot of nits, but the two major points are: 1) Please move repeated code ...
7 years, 6 months ago (2013-06-07 16:40:02 UTC) #18
Noam Samuel
https://codereview.chromium.org/15733008/diff/64001/net/dns/mdns_client.h File net/dns/mdns_client.h (right): https://codereview.chromium.org/15733008/diff/64001/net/dns/mdns_client.h#newcode20 net/dns/mdns_client.h:20: enum MDnsUpdateType { On 2013/06/07 16:40:02, szym wrote: > ...
7 years, 6 months ago (2013-06-07 23:54:43 UTC) #19
szym
https://codereview.chromium.org/15733008/diff/64001/net/dns/mdns_query.h File net/dns/mdns_query.h (right): https://codereview.chromium.org/15733008/diff/64001/net/dns/mdns_query.h#newcode22 net/dns/mdns_query.h:22: class MDnsQuery { On 2013/06/07 23:54:43, Noam Samuel wrote: ...
7 years, 6 months ago (2013-06-10 21:58:28 UTC) #20
Noam Samuel
https://codereview.chromium.org/15733008/diff/93001/net/dns/mdns_client_unittest.cc File net/dns/mdns_client_unittest.cc (right): https://codereview.chromium.org/15733008/diff/93001/net/dns/mdns_client_unittest.cc#newcode231 net/dns/mdns_client_unittest.cc:231: class MockMDnsConnection : public MDnsConnection { Should I call ...
7 years, 6 months ago (2013-06-11 18:31:14 UTC) #21
Noam Samuel
https://codereview.chromium.org/15733008/diff/82002/net/dns/mdns_client.h File net/dns/mdns_client.h (right): https://codereview.chromium.org/15733008/diff/82002/net/dns/mdns_client.h#newcode141 net/dns/mdns_client.h:141: int flags, // See MDnsTransactionFlags On 2013/06/10 21:58:28, szym ...
7 years, 6 months ago (2013-06-11 20:35:03 UTC) #22
szym
I appreciate your patience with the slow review. Still a bunch of nits, but LGTM ...
7 years, 6 months ago (2013-06-12 21:35:41 UTC) #23
Noam Samuel
https://codereview.chromium.org/15733008/diff/128001/net/dns/mdns_client.cc File net/dns/mdns_client.cc (right): https://codereview.chromium.org/15733008/diff/128001/net/dns/mdns_client.cc#newcode6 net/dns/mdns_client.cc:6: #include "net/dns/mdns_client_impl.h" On 2013/06/12 21:35:41, szym wrote: > nit: ...
7 years, 6 months ago (2013-06-13 01:08:40 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/noamsml@chromium.org/15733008/158002
7 years, 6 months ago (2013-06-13 01:09:11 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/noamsml@chromium.org/15733008/158002
7 years, 6 months ago (2013-06-13 02:29:07 UTC) #26
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build on ...
7 years, 6 months ago (2013-06-13 06:47:46 UTC) #27
Noam Samuel
On 2013/06/13 06:47:46, I haz the power (commit-bot) wrote: > Sorry for I got bad ...
7 years, 6 months ago (2013-06-13 17:36:52 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/noamsml@chromium.org/15733008/158002
7 years, 6 months ago (2013-06-13 17:37:31 UTC) #29
szym
https://codereview.chromium.org/15733008/diff/158002/net/dns/mdns_client_impl.cc File net/dns/mdns_client_impl.cc (right): https://codereview.chromium.org/15733008/diff/158002/net/dns/mdns_client_impl.cc#newcode481 net/dns/mdns_client_impl.cc:481: DCHECK((flags_ & MDnsTransaction::FLAG_MASK) == flags_); For future reference, you ...
7 years, 6 months ago (2013-06-13 19:20:00 UTC) #30
commit-bot: I haz the power
7 years, 6 months ago (2013-06-13 22:31:44 UTC) #31
Message was sent while issue was closed.
Change committed as 206170

Powered by Google App Engine
This is Rietveld 408576698