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

Side by Side Diff: net/dns/dns_config_service_posix.cc

Issue 1294883002: Revert of [Android] Add a java.lang.System wrapper. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/dns/dns_config_service_posix.h" 5 #include "net/dns/dns_config_service_posix.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 12 matching lines...) Expand all
23 #include "net/dns/dns_hosts.h" 23 #include "net/dns/dns_hosts.h"
24 #include "net/dns/dns_protocol.h" 24 #include "net/dns/dns_protocol.h"
25 #include "net/dns/notify_watcher_mac.h" 25 #include "net/dns/notify_watcher_mac.h"
26 #include "net/dns/serial_worker.h" 26 #include "net/dns/serial_worker.h"
27 27
28 #if defined(OS_MACOSX) && !defined(OS_IOS) 28 #if defined(OS_MACOSX) && !defined(OS_IOS)
29 #include "net/dns/dns_config_watcher_mac.h" 29 #include "net/dns/dns_config_watcher_mac.h"
30 #endif 30 #endif
31 31
32 #if defined(OS_ANDROID) 32 #if defined(OS_ANDROID)
33 #include "base/android/java_system.h" 33 #include <sys/system_properties.h>
34 #include "net/base/network_change_notifier.h" 34 #include "net/base/network_change_notifier.h"
35 #endif 35 #endif
36 36
37 namespace net { 37 namespace net {
38 38
39 namespace internal { 39 namespace internal {
40 40
41 namespace { 41 namespace {
42 42
43 #if !defined(OS_ANDROID) 43 #if !defined(OS_ANDROID)
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 config->unhandled_options = true; 147 config->unhandled_options = true;
148 default: 148 default:
149 return error; 149 return error;
150 } 150 }
151 #endif // defined(OS_MACOSX) && !defined(OS_IOS) 151 #endif // defined(OS_MACOSX) && !defined(OS_IOS)
152 // Override timeout value to match default setting on Windows. 152 // Override timeout value to match default setting on Windows.
153 config->timeout = base::TimeDelta::FromSeconds(kDnsTimeoutSeconds); 153 config->timeout = base::TimeDelta::FromSeconds(kDnsTimeoutSeconds);
154 return result; 154 return result;
155 } 155 }
156 #else // defined(OS_ANDROID) 156 #else // defined(OS_ANDROID)
157 // Theoretically, this is bad. The DNS system properties are implementation 157 // Theoretically, this is bad. __system_property_get is not a supported API
158 // details that may disappear in future Android releases. Practically, the DNS 158 // (but it's currently visible to anyone using Bionic), and the properties
159 // code (and its clients) are already robust against failing to get the DNS 159 // are implementation details that may disappear in future Android releases.
160 // Practically, libcutils provides property_get, which is a public API, and the
161 // DNS code (and its clients) are already robust against failing to get the DNS
160 // config for whatever reason, so the properties can disappear and the world 162 // config for whatever reason, so the properties can disappear and the world
161 // won't end. 163 // won't end.
164 // TODO(ttuttle): Depend on libcutils, then switch this (and other uses of
165 // __system_property_get) to property_get.
162 ConfigParsePosixResult ReadDnsConfig(DnsConfig* dns_config) { 166 ConfigParsePosixResult ReadDnsConfig(DnsConfig* dns_config) {
163 std::string dns1_string = base::android::JavaSystem::GetProperty("net.dns1"); 167 std::string dns1_string, dns2_string;
164 std::string dns2_string = base::android::JavaSystem::GetProperty("net.dns2"); 168 char property_value[PROP_VALUE_MAX];
169 __system_property_get("net.dns1", property_value);
170 dns1_string = property_value;
171 __system_property_get("net.dns2", property_value);
172 dns2_string = property_value;
165 if (dns1_string.length() == 0 && dns2_string.length() == 0) 173 if (dns1_string.length() == 0 && dns2_string.length() == 0)
166 return CONFIG_PARSE_POSIX_NO_NAMESERVERS; 174 return CONFIG_PARSE_POSIX_NO_NAMESERVERS;
167 175
168 IPAddressNumber dns1_number, dns2_number; 176 IPAddressNumber dns1_number, dns2_number;
169 bool parsed1 = ParseIPLiteralToNumber(dns1_string, &dns1_number); 177 bool parsed1 = ParseIPLiteralToNumber(dns1_string, &dns1_number);
170 bool parsed2 = ParseIPLiteralToNumber(dns2_string, &dns2_number); 178 bool parsed2 = ParseIPLiteralToNumber(dns2_string, &dns2_number);
171 if (!parsed1 && !parsed2) 179 if (!parsed1 && !parsed2)
172 return CONFIG_PARSE_POSIX_BAD_ADDRESS; 180 return CONFIG_PARSE_POSIX_BAD_ADDRESS;
173 181
174 if (parsed1) { 182 if (parsed1) {
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 #endif // defined(OS_ANDROID) 548 #endif // defined(OS_ANDROID)
541 549
542 } // namespace internal 550 } // namespace internal
543 551
544 // static 552 // static
545 scoped_ptr<DnsConfigService> DnsConfigService::CreateSystemService() { 553 scoped_ptr<DnsConfigService> DnsConfigService::CreateSystemService() {
546 return scoped_ptr<DnsConfigService>(new internal::DnsConfigServicePosix()); 554 return scoped_ptr<DnsConfigService>(new internal::DnsConfigServicePosix());
547 } 555 }
548 556
549 } // namespace net 557 } // namespace net
OLDNEW
« no previous file with comments | « net/android/java/src/org/chromium/net/ProxyChangeListener.java ('k') | net/proxy/proxy_config_service_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698