diff options
Diffstat (limited to 'net/dns')
-rw-r--r-- | net/dns/dns_transaction.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc index 77d1e59..ba13ef5 100644 --- a/net/dns/dns_transaction.cc +++ b/net/dns/dns_transaction.cc @@ -389,9 +389,17 @@ class DnsTransactionImpl : public DnsTransaction, public base::NonThreadSafe { int MakeAttempt() { unsigned attempt_number = attempts_.size(); +#if defined(OS_WIN) + // Avoid the Windows firewall warning about explicit UDP binding. + // TODO(szym): Reuse a pool of pre-bound sockets. http://crbug.com/107413 + DatagramSocket::BindType bind_type = DatagramSocket::DEFAULT_BIND; +#else + DatagramSocket::BindType bind_type = DatagramSocket::RANDOM_BIND; +#endif + scoped_ptr<DatagramClientSocket> socket( session_->socket_factory()->CreateDatagramClientSocket( - DatagramSocket::RANDOM_BIND, + bind_type, base::Bind(&base::RandInt), net_log_.net_log(), net_log_.source())); |