Current section

Files

Jump to
erldns src erldns_edns.erl
Raw

src/erldns_edns.erl

-module(erldns_edns).
-moduledoc false.
-include_lib("dns_erlang/include/dns_records.hrl").
-export([get_opts/1]).
%% Get a property list of EDNS0 options.
%%
%% Supported options are:
%%
%% * {dnssec, true}
-spec get_opts(dns:message()) -> [proplists:property()].
get_opts(Message) ->
get_opts(Message#dns_message.additional, []).
-spec get_opts([dns:rr() | dns:optrr()], [proplists:property()]) -> [proplists:property()].
get_opts([#dns_optrr{dnssec = true} | Rest], Opts) ->
get_opts(Rest, [{dnssec, true} | Opts]);
get_opts([_RR | Rest], Opts) ->
get_opts(Rest, Opts);
get_opts([], Opts) ->
lists:reverse(Opts).