fix
This commit is contained in:
parent
f0b84cdf65
commit
7086f23a69
@ -14,7 +14,7 @@
|
||||
answers = [],
|
||||
authority = [],
|
||||
additional = [],
|
||||
rcode :: integer(),
|
||||
rc :: integer(),
|
||||
flags = #{},
|
||||
% unix time
|
||||
expire_at :: integer()
|
||||
|
||||
@ -28,7 +28,7 @@ lookup(#dns_query{name = Qname, type = QType, class = QClass}) ->
|
||||
end.
|
||||
|
||||
insert(#dns_query{name = Qname, type = QType, class = QClass},
|
||||
#dns_message{answers = Answers, authority = Authority, additional = Additional, aa = AA}) ->
|
||||
#dns_message{answers = Answers, authority = Authority, additional = Additional, rc = RCode, aa = AA}) ->
|
||||
TTLs = lists:foldl(fun(Term, Acc) ->
|
||||
case Term of
|
||||
#dns_rr{ttl = TTL} ->
|
||||
@ -50,7 +50,7 @@ insert(#dns_query{name = Qname, type = QType, class = QClass},
|
||||
answers = Answers,
|
||||
authority = Authority,
|
||||
additional = Additional,
|
||||
rcode = 0,
|
||||
rc = RCode,
|
||||
flags = #{aa => AA},
|
||||
% unix time
|
||||
expire_at = ExpireAt
|
||||
|
||||
@ -163,7 +163,7 @@ forward_to_upstream(TargetIp, TargetPort, Request, Msg) ->
|
||||
dns_resolver:forward(Pid, ReceiverPid, TargetIp, TargetPort, Request, Msg)
|
||||
end).
|
||||
|
||||
build_response(Query, #dns_cache{expire_at = ExpireAt, answers = Answers, authority = Authority, additional = Additional}) ->
|
||||
build_response(Query, #dns_cache{expire_at = ExpireAt, answers = Answers, authority = Authority, additional = Additional, rc = RCode, flags = #{aa := AA}}) ->
|
||||
Now = os:system_time(second),
|
||||
RemainingTTL = ExpireAt - Now,
|
||||
|
||||
@ -174,6 +174,8 @@ build_response(Query, #dns_cache{expire_at = ExpireAt, answers = Answers, author
|
||||
Query#dns_message{
|
||||
qr = true,
|
||||
ra = true,
|
||||
aa = AA,
|
||||
rc = RCode,
|
||||
answers = Answers2,
|
||||
authority = Authority2,
|
||||
additional = Additional2
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user