From 5d5e89261bb49a5c882891a53fe4b735ef452e94 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 13 Feb 2019 09:51:14 -0800 Subject: [PATCH] provide res_ninit and nclose APIs on non-glibc linux platforms These APIs are not implemented on musl Upstream-Status: Pending Signed-off-by: Khem Raj --- a/net/dns/dns_config_service_linux.cc +++ b/net/dns/dns_config_service_linux.cc @@ -414,12 +414,6 @@ class DnsConfigServiceLinux::ConfigReade base::ScopedBlockingCall scoped_blocking_call( FROM_HERE, base::BlockingType::MAY_BLOCK); - std::unique_ptr res = resolv_reader_->GetResState(); - if (res) { - dns_config_ = ConvertResStateToDnsConfig(*res.get()); - resolv_reader_->CloseResState(res.get()); - } - UMA_HISTOGRAM_BOOLEAN("Net.DNS.DnsConfig.Resolv.Read", dns_config_.has_value()); if (!dns_config_.has_value()) --- a/net/dns/dns_reloader.cc +++ b/net/dns/dns_reloader.cc @@ -4,9 +4,8 @@ #include "net/dns/dns_reloader.h" -#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ - !defined(OS_ANDROID) && !defined(OS_FUCHSIA) - +#if defined(__GLIBC__) + #include #include "base/lazy_instance.h" --- a/net/dns/host_resolver_manager.cc +++ b/net/dns/host_resolver_manager.cc @@ -2902,8 +2902,7 @@ HostResolverManager::HostResolverManager NetworkChangeNotifier::AddConnectionTypeObserver(this); if (system_dns_config_notifier_) system_dns_config_notifier_->AddObserver(this); -#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ - !defined(OS_ANDROID) +#if defined(__GLIBC__) EnsureDnsReloaderInit(); #endif --- a/net/dns/host_resolver_proc.cc +++ b/net/dns/host_resolver_proc.cc @@ -176,8 +176,7 @@ int SystemHostResolverCall(const std::st base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, base::BlockingType::WILL_BLOCK); -#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ - !defined(OS_ANDROID) && !defined(OS_FUCHSIA) +#if defined(__GLIBC__) DnsReloaderMaybeReload(); #endif absl::optional ai; --- a/net/dns/public/resolv_reader.cc +++ b/net/dns/public/resolv_reader.cc @@ -20,19 +20,10 @@ namespace net { std::unique_ptr ResolvReader::GetResState() { - auto res = std::make_unique(); - memset(res.get(), 0, sizeof(struct __res_state)); - - if (res_ninit(res.get()) != 0) { - CloseResState(res.get()); - return nullptr; - } - - return res; + return nullptr; } void ResolvReader::CloseResState(struct __res_state* res) { - res_nclose(res); } absl::optional> GetNameservers(