aboutsummaryrefslogtreecommitdiff
path: root/src/feature/relay/dns.c
diff options
context:
space:
mode:
authorRasmus Dahlberg <rasmus@mullvad.net>2022-10-12 20:29:11 +0200
committerDavid Goulet <dgoulet@torproject.org>2022-11-28 10:25:04 -0500
commitbe7afe658e5fc6745a369d6fb3fbc4bb6037da18 (patch)
tree06d023f94d4686d27a91b04f28ccbeb9061f761c /src/feature/relay/dns.c
parentee38514cc4372bfb7d01ee96a1110d600a30e061 (diff)
downloadtor-be7afe658e5fc6745a369d6fb3fbc4bb6037da18.tar.gz
tor-be7afe658e5fc6745a369d6fb3fbc4bb6037da18.zip
Clip DNS TTL values once in event callback
This change ensures that other parts of the code base always operate on the same clipped TTL values, notably without being aware of clipping.
Diffstat (limited to 'src/feature/relay/dns.c')
-rw-r--r--src/feature/relay/dns.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/feature/relay/dns.c b/src/feature/relay/dns.c
index 71c6f56fb1..b15e5f30c7 100644
--- a/src/feature/relay/dns.c
+++ b/src/feature/relay/dns.c
@@ -496,7 +496,7 @@ send_resolved_cell,(edge_connection_t *conn, uint8_t answer_type,
uint32_t ttl;
buf[0] = answer_type;
- ttl = clip_dns_ttl(conn->address_ttl);
+ ttl = conn->address_ttl;
switch (answer_type)
{
@@ -568,7 +568,7 @@ send_resolved_hostname_cell,(edge_connection_t *conn,
size_t namelen = strlen(hostname);
tor_assert(namelen < 256);
- ttl = clip_dns_ttl(conn->address_ttl);
+ ttl = conn->address_ttl;
buf[0] = RESOLVED_TYPE_HOSTNAME;
buf[1] = (uint8_t)namelen;
@@ -1294,7 +1294,7 @@ make_pending_resolve_cached(cached_resolve_t *resolve)
resolve->ttl_hostname < ttl)
ttl = resolve->ttl_hostname;
- set_expiry(new_resolve, time(NULL) + clip_dns_ttl(ttl));
+ set_expiry(new_resolve, time(NULL) + ttl);
}
assert_cache_ok();
@@ -1637,7 +1637,7 @@ evdns_callback(int result, char type, int count, int ttl, void *addresses,
}
if (result != DNS_ERR_SHUTDOWN)
dns_found_answer(string_address, orig_query_type,
- result, &addr, hostname, ttl);
+ result, &addr, hostname, clip_dns_ttl(ttl));
tor_free(arg_);
}