summaryrefslogtreecommitdiffstats
path: root/net/dns
diff options
context:
space:
mode:
Diffstat (limited to 'net/dns')
-rw-r--r--net/dns/dns_transaction.cc10
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()));