fix
This commit is contained in:
parent
5d41b45d6f
commit
7c3474afab
@ -83,6 +83,7 @@ handle_cast({forward, ReceiverPid, Ref, Request, #dns_message{id = TxId, questio
|
||||
Keys = lists:foldl(fun({DnsIp, DnsPort}, Acc) ->
|
||||
ok = gen_udp:send(Socket, DnsIp, DnsPort, Request),
|
||||
Key = {TxId, DnsIp, DnsPort, QName, QType, QClass},
|
||||
lager:debug("[dns_resolver] key: ~p, send to: ~p, packet: ~p", [Key, {DnsIp, DnsPort}, Request]),
|
||||
true = ets:insert(Tid, {Key, Ref, ReceiverPid}),
|
||||
[Key|Acc]
|
||||
end, [], DnsServers),
|
||||
@ -99,8 +100,9 @@ handle_cast({forward, ReceiverPid, Ref, Request, #dns_message{id = TxId, questio
|
||||
handle_info({udp, Socket, TargetIp, TargetPort, Resp}, State = #state{tid = Tid, socket = Socket}) ->
|
||||
case dns:decode_message(Resp) of
|
||||
#dns_message{id = TxId, questions = [#dns_query{name = QName, type = QType, class = QClass}|_]} ->
|
||||
Key = {TxId, TargetIp, TargetPort, QName, QName, QType, QClass},
|
||||
resolver_reply(ets:take(Tid, Key), Resp);
|
||||
Key = {TxId, TargetIp, TargetPort, QName, QType, QClass},
|
||||
Records = ets:take(Tid, Key),
|
||||
resolver_reply(Records, Resp);
|
||||
_ ->
|
||||
ok
|
||||
end,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user