Skip to content

Commit

Permalink
dns filter: fix asan test (envoyproxy#244)
Browse files Browse the repository at this point in the history
* quick attempt

Signed-off-by: Yuchen Dai <silentdai@gmail.com>

* add log

Signed-off-by: Yuchen Dai <silentdai@gmail.com>

* set default timeout value for dns

Signed-off-by: Yuchen Dai <silentdai@gmail.com>

* clean up

Signed-off-by: Yuchen Dai <silentdai@gmail.com>
  • Loading branch information
lambdai authored Jul 25, 2020
1 parent cdf7bbe commit c95cd12
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
3 changes: 0 additions & 3 deletions source/extensions/filters/udp/dns_filter/dns_filter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ namespace Extensions {
namespace UdpFilters {
namespace DnsFilter {

static constexpr std::chrono::milliseconds DEFAULT_RESOLVER_TIMEOUT{500};
static constexpr std::chrono::seconds DEFAULT_RESOLVER_TTL{300};

DnsFilterEnvoyConfig::DnsFilterEnvoyConfig(
Server::Configuration::ListenerFactoryContext& context,
const envoy::extensions::filters::udp::dns_filter::v3alpha::DnsFilterConfig& config)
Expand Down
5 changes: 4 additions & 1 deletion source/extensions/filters/udp/dns_filter/dns_filter.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ struct DnsEndpointConfig {

using DnsVirtualDomainConfig = absl::flat_hash_map<std::string, DnsEndpointConfig>;

static constexpr std::chrono::milliseconds DEFAULT_RESOLVER_TIMEOUT{1000};
static constexpr std::chrono::seconds DEFAULT_RESOLVER_TTL{300};

/**
* DnsFilter configuration class abstracting access to data necessary for the filter's operation
*/
Expand Down Expand Up @@ -113,7 +116,7 @@ class DnsFilterEnvoyConfig : public Logger::Loggable<Logger::Id::filter> {
bool forward_queries_;
uint64_t retry_count_;
AddressConstPtrVec resolvers_;
std::chrono::milliseconds resolver_timeout_;
std::chrono::milliseconds resolver_timeout_{DEFAULT_RESOLVER_TIMEOUT};
Runtime::RandomGenerator& random_;
uint64_t max_pending_lookups_;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ class DnsFilterResolver : Logger::Loggable<Logger::Id::filter> {
DnsFilterResolver(DnsFilterResolverCallback& callback, AddressConstPtrVec resolvers,
std::chrono::milliseconds timeout, Event::Dispatcher& dispatcher,
uint64_t max_pending_lookups)
: dispatcher_(dispatcher),
: timeout_(timeout), dispatcher_(dispatcher),
resolver_(dispatcher.createDnsResolver(resolvers, false /* use_tcp_for_dns_lookups */)),
callback_(callback), timeout_(timeout), max_pending_lookups_(max_pending_lookups) {}
callback_(callback), max_pending_lookups_(max_pending_lookups) {}
/**
* @brief entry point to resolve the name in a DnsQueryRecord
*
Expand Down Expand Up @@ -61,10 +61,10 @@ class DnsFilterResolver : Logger::Loggable<Logger::Id::filter> {
*/
void onResolveTimeout();

std::chrono::milliseconds timeout_;
Event::Dispatcher& dispatcher_;
const Network::DnsResolverSharedPtr resolver_;
DnsFilterResolverCallback& callback_;
std::chrono::milliseconds timeout_;
absl::flat_hash_map<const DnsQueryRecord*, LookupContext> lookups_;
uint64_t max_pending_lookups_;
};
Expand Down

0 comments on commit c95cd12

Please sign in to comment.