summaryrefslogtreecommitdiffstats
path: root/src/resolv/async_resolv_utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/resolv/async_resolv_utils.c')
-rw-r--r--src/resolv/async_resolv_utils.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/resolv/async_resolv_utils.c b/src/resolv/async_resolv_utils.c
index c5ae5f9d4..250681717 100644
--- a/src/resolv/async_resolv_utils.c
+++ b/src/resolv/async_resolv_utils.c
@@ -162,6 +162,7 @@ struct resolv_discover_srv_state {
int domain_index;
struct ares_srv_reply *reply_list;
+ uint32_t ttl;
};
static errno_t resolv_discover_srv_next_domain(struct tevent_req *req);
@@ -272,7 +273,8 @@ static void resolv_discover_srv_done(struct tevent_req *subreq)
req = tevent_req_callback_data(subreq, struct tevent_req);
state = tevent_req_data(req, struct resolv_discover_srv_state);
- ret = resolv_getsrv_recv(state, subreq, &status, NULL, &state->reply_list);
+ ret = resolv_getsrv_recv(state, subreq, &status, NULL,
+ &state->reply_list, &state->ttl);
talloc_zfree(subreq);
if (ret != EOK) {
DEBUG(SSSDBG_OP_FAILURE, "SRV query failed [%d]: %s\n",
@@ -307,6 +309,7 @@ done:
errno_t resolv_discover_srv_recv(TALLOC_CTX *mem_ctx,
struct tevent_req *req,
struct ares_srv_reply **_reply_list,
+ uint32_t *_ttl,
char **_dns_domain)
{
struct resolv_discover_srv_state *state = NULL;
@@ -331,5 +334,9 @@ errno_t resolv_discover_srv_recv(TALLOC_CTX *mem_ctx,
*_reply_list = talloc_steal(mem_ctx, state->reply_list);
}
+ if (*_ttl) {
+ *_ttl = state->ttl;
+ }
+
return EOK;
}