# Functions
CompactMsgString generates a relatively compact single-line, printable representation of most of the useful data for DoH in dns.Msg.
CompactRRsString generates a compact String() representation of an array of dns.RRs.
CreateECS arbitrarily creates an EDNS0_SUBNET sub-option which is appended to the OPT in the Extra section of the dns.Msg.
FindECS searches dns.Msg.Extra for any occurrences of an EDNS_SUBNET sub-option in any occurrences of a dns.OPT in the Extra list of RRs.
FindOPT searches dns.Msg.Extra for the first occurrence of an OPT RR.
FindPadding searches dns.Msg.Extra for any occurrences of an EDNS0_PADDING sub-option in any occurrences of a dns.OPT in the Extra list of RRs.
NewOPT creates a populated msg.OPT RR as a zero-values struct is not a valid OPT.
PadAndPack creates an EDNS0_PADDING sub-option which is added to the OPT in dns.Msg.Extra.
ReduceTTL reduces the TTL in all the RRs in Answer, Ns and Extra that have a TTL greater than 1.
RemoveEDNS0FromOPT aggressively removes all occurrences of the specified EDNS0 sub-option in the Extra RR list of a dns.Msg.