// Therefore when qualifying names in a Value yourself you must check if the
// input string is "=" and if so, replace it with "" first.
typeValuestruct{
IP[]net.IP
IP6[]net.IP
NS[]string
Aliasstring
HasAliasbool// True if Alias was specified. Necessary as "" is a valid relative alias.
Translatestring
HasTranslatebool// True if Translate was specified. Necessary as "" is a valid relative value for Translate.
DS[]*dns.DS
TXT[][]string
SRV[]*dns.SRV
Hostmasterstring// "hostmaster@example.com"
MX[]*dns.MX// header name is left blank
TLSA[]*dns.TLSA
IP[]net.IP
IP6[]net.IP
NS[]string
Aliasstring
HasAliasbool// True if Alias was specified. Necessary as "" is a valid relative alias.
Translatestring
HasTranslatebool// True if Translate was specified. Necessary as "" is a valid relative value for Translate.
DS[]*dns.DS
TXT[][]string
SRV[]*dns.SRV
Hostmasterstring// "hostmaster@example.com"
MX[]*dns.MX// header name is left blank
TLSA[]*dns.TLSA
TLSAGenerated[]x509.Certificate// Certs can be dehydrated in the blockchain, they will be put here without SAN values. SAN must be filled in before use.
Mapmap[string]*Value// may contain and "*", will not contain ""
Mapmap[string]*Value// may contain and "*", will not contain ""
// set if the value is at the top level (alas necessary for relname interpretation)
IsTopLevelbool
@ -249,28 +249,26 @@ func (v *Value) appendSRVs(out []dns.RR, suffix, apexSuffix string) ([]dns.RR, e