diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-24 07:20:37 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-24 07:20:37 +0000 |
commit | 01136d3273334fb5736b1f20b734d49e84f43507 (patch) | |
tree | 9db9a31f37fc70bd9858e613aca274aa8cc7fde3 /net/dns | |
parent | 89b295d8b04b744486649da67cb8f9ab784f858b (diff) | |
download | chromium_src-01136d3273334fb5736b1f20b734d49e84f43507.zip chromium_src-01136d3273334fb5736b1f20b734d49e84f43507.tar.gz chromium_src-01136d3273334fb5736b1f20b734d49e84f43507.tar.bz2 |
[net/dns] Don't bind to random ports on Windows to keep the firewall happy.
BUG=107413
TEST=Run with --enable-async-dns on Windows. Experience no firewall warning.
Review URL: http://codereview.chromium.org/9836041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128713 0039d316-1c4b-4281-b951-d872f2087c98
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())); |