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