mirror of
https://github.com/miekg/dns.git
synced 2025-10-11 09:51:01 +02:00
parent
e95d107053
commit
01a32dc202
@ -43,7 +43,7 @@ const (
|
|||||||
PRIVATEOID uint8 = 254
|
PRIVATEOID uint8 = 254
|
||||||
)
|
)
|
||||||
|
|
||||||
// ALgorithmToString is a map of algorithm IDs to algorithm names.
|
// AlgorithmToString is a map of algorithm IDs to algorithm names.
|
||||||
var AlgorithmToString = map[uint8]string{
|
var AlgorithmToString = map[uint8]string{
|
||||||
RSAMD5: "RSAMD5",
|
RSAMD5: "RSAMD5",
|
||||||
DH: "DH",
|
DH: "DH",
|
||||||
|
146
zcompress.go
146
zcompress.go
@ -5,77 +5,99 @@ package dns
|
|||||||
|
|
||||||
func compressionLenHelperType(c map[string]int, r RR) {
|
func compressionLenHelperType(c map[string]int, r RR) {
|
||||||
switch x := r.(type) {
|
switch x := r.(type) {
|
||||||
case *AFSDB:
|
case *KX:
|
||||||
compressionLenHelper(c, x.Hostname)
|
compressionLenHelper(c, x.Exchanger)
|
||||||
case *RRSIG:
|
|
||||||
compressionLenHelper(c, x.SignerName)
|
|
||||||
case *MD:
|
|
||||||
compressionLenHelper(c, x.Md)
|
|
||||||
case *MX:
|
case *MX:
|
||||||
compressionLenHelper(c, x.Mx)
|
compressionLenHelper(c, x.Mx)
|
||||||
case *TALINK:
|
|
||||||
compressionLenHelper(c, x.PreviousName)
|
|
||||||
compressionLenHelper(c, x.NextName)
|
|
||||||
case *MF:
|
|
||||||
compressionLenHelper(c, x.Mf)
|
|
||||||
case *RP:
|
|
||||||
compressionLenHelper(c, x.Mbox)
|
|
||||||
compressionLenHelper(c, x.Txt)
|
|
||||||
case *RT:
|
|
||||||
compressionLenHelper(c, x.Host)
|
|
||||||
case *SOA:
|
|
||||||
compressionLenHelper(c, x.Ns)
|
|
||||||
compressionLenHelper(c, x.Mbox)
|
|
||||||
case *NSAPPTR:
|
|
||||||
compressionLenHelper(c, x.Ptr)
|
|
||||||
case *CNAME:
|
|
||||||
compressionLenHelper(c, x.Target)
|
|
||||||
case *LP:
|
|
||||||
compressionLenHelper(c, x.Fqdn)
|
|
||||||
case *NSEC:
|
case *NSEC:
|
||||||
compressionLenHelper(c, x.NextDomain)
|
compressionLenHelper(c, x.NextDomain)
|
||||||
case *PTR:
|
|
||||||
compressionLenHelper(c, x.Ptr)
|
|
||||||
case *TSIG:
|
|
||||||
compressionLenHelper(c, x.Algorithm)
|
|
||||||
case *MG:
|
|
||||||
compressionLenHelper(c, x.Mg)
|
|
||||||
case *PX:
|
|
||||||
compressionLenHelper(c, x.Map822)
|
|
||||||
compressionLenHelper(c, x.Mapx400)
|
|
||||||
case *SRV:
|
|
||||||
compressionLenHelper(c, x.Target)
|
|
||||||
case *TKEY:
|
|
||||||
compressionLenHelper(c, x.Algorithm)
|
|
||||||
case *MINFO:
|
|
||||||
compressionLenHelper(c, x.Rmail)
|
|
||||||
compressionLenHelper(c, x.Email)
|
|
||||||
case *NAPTR:
|
|
||||||
compressionLenHelper(c, x.Replacement)
|
|
||||||
case *SIG:
|
|
||||||
compressionLenHelper(c, x.SignerName)
|
|
||||||
case *DNAME:
|
case *DNAME:
|
||||||
compressionLenHelper(c, x.Target)
|
compressionLenHelper(c, x.Target)
|
||||||
case *HIP:
|
case *HIP:
|
||||||
for i := range x.RendezvousServers {
|
for i := range x.RendezvousServers {
|
||||||
compressionLenHelper(c, x.RendezvousServers[i])
|
compressionLenHelper(c, x.RendezvousServers[i])
|
||||||
}
|
}
|
||||||
case *KX:
|
case *CNAME:
|
||||||
compressionLenHelper(c, x.Exchanger)
|
compressionLenHelper(c, x.Target)
|
||||||
case *MB:
|
|
||||||
compressionLenHelper(c, x.Mb)
|
|
||||||
case *MR:
|
case *MR:
|
||||||
compressionLenHelper(c, x.Mr)
|
compressionLenHelper(c, x.Mr)
|
||||||
|
case *PX:
|
||||||
|
compressionLenHelper(c, x.Map822)
|
||||||
|
compressionLenHelper(c, x.Mapx400)
|
||||||
|
case *SIG:
|
||||||
|
compressionLenHelper(c, x.SignerName)
|
||||||
|
case *SRV:
|
||||||
|
compressionLenHelper(c, x.Target)
|
||||||
|
case *TALINK:
|
||||||
|
compressionLenHelper(c, x.PreviousName)
|
||||||
|
compressionLenHelper(c, x.NextName)
|
||||||
|
case *LP:
|
||||||
|
compressionLenHelper(c, x.Fqdn)
|
||||||
|
case *NAPTR:
|
||||||
|
compressionLenHelper(c, x.Replacement)
|
||||||
case *NS:
|
case *NS:
|
||||||
compressionLenHelper(c, x.Ns)
|
compressionLenHelper(c, x.Ns)
|
||||||
|
case *RP:
|
||||||
|
compressionLenHelper(c, x.Mbox)
|
||||||
|
compressionLenHelper(c, x.Txt)
|
||||||
|
case *RRSIG:
|
||||||
|
compressionLenHelper(c, x.SignerName)
|
||||||
|
case *TKEY:
|
||||||
|
compressionLenHelper(c, x.Algorithm)
|
||||||
|
case *TSIG:
|
||||||
|
compressionLenHelper(c, x.Algorithm)
|
||||||
|
case *AFSDB:
|
||||||
|
compressionLenHelper(c, x.Hostname)
|
||||||
|
case *MF:
|
||||||
|
compressionLenHelper(c, x.Mf)
|
||||||
|
case *RT:
|
||||||
|
compressionLenHelper(c, x.Host)
|
||||||
|
case *MINFO:
|
||||||
|
compressionLenHelper(c, x.Rmail)
|
||||||
|
compressionLenHelper(c, x.Email)
|
||||||
|
case *PTR:
|
||||||
|
compressionLenHelper(c, x.Ptr)
|
||||||
|
case *SOA:
|
||||||
|
compressionLenHelper(c, x.Ns)
|
||||||
|
compressionLenHelper(c, x.Mbox)
|
||||||
|
case *MD:
|
||||||
|
compressionLenHelper(c, x.Md)
|
||||||
|
case *NSAPPTR:
|
||||||
|
compressionLenHelper(c, x.Ptr)
|
||||||
|
case *MG:
|
||||||
|
compressionLenHelper(c, x.Mg)
|
||||||
|
case *MB:
|
||||||
|
compressionLenHelper(c, x.Mb)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func compressionLenSearchType(c map[string]int, r RR) (int, bool) {
|
func compressionLenSearchType(c map[string]int, r RR) (int, bool) {
|
||||||
switch x := r.(type) {
|
switch x := r.(type) {
|
||||||
|
case *MF:
|
||||||
|
k1, ok1 := compressionLenSearch(c, x.Mf)
|
||||||
|
return k1, ok1
|
||||||
|
case *MG:
|
||||||
|
k1, ok1 := compressionLenSearch(c, x.Mg)
|
||||||
|
return k1, ok1
|
||||||
|
case *MINFO:
|
||||||
|
k1, ok1 := compressionLenSearch(c, x.Rmail)
|
||||||
|
k2, ok2 := compressionLenSearch(c, x.Email)
|
||||||
|
return k1 + k2, ok1 && ok2
|
||||||
|
case *MR:
|
||||||
|
k1, ok1 := compressionLenSearch(c, x.Mr)
|
||||||
|
return k1, ok1
|
||||||
case *PTR:
|
case *PTR:
|
||||||
k1, ok1 := compressionLenSearch(c, x.Ptr)
|
k1, ok1 := compressionLenSearch(c, x.Ptr)
|
||||||
return k1, ok1
|
return k1, ok1
|
||||||
|
case *AFSDB:
|
||||||
|
k1, ok1 := compressionLenSearch(c, x.Hostname)
|
||||||
|
return k1, ok1
|
||||||
|
case *CNAME:
|
||||||
|
k1, ok1 := compressionLenSearch(c, x.Target)
|
||||||
|
return k1, ok1
|
||||||
|
case *MD:
|
||||||
|
k1, ok1 := compressionLenSearch(c, x.Md)
|
||||||
|
return k1, ok1
|
||||||
case *RT:
|
case *RT:
|
||||||
k1, ok1 := compressionLenSearch(c, x.Host)
|
k1, ok1 := compressionLenSearch(c, x.Host)
|
||||||
return k1, ok1
|
return k1, ok1
|
||||||
@ -86,34 +108,12 @@ func compressionLenSearchType(c map[string]int, r RR) (int, bool) {
|
|||||||
case *MB:
|
case *MB:
|
||||||
k1, ok1 := compressionLenSearch(c, x.Mb)
|
k1, ok1 := compressionLenSearch(c, x.Mb)
|
||||||
return k1, ok1
|
return k1, ok1
|
||||||
case *MG:
|
case *MX:
|
||||||
k1, ok1 := compressionLenSearch(c, x.Mg)
|
k1, ok1 := compressionLenSearch(c, x.Mx)
|
||||||
return k1, ok1
|
|
||||||
case *MR:
|
|
||||||
k1, ok1 := compressionLenSearch(c, x.Mr)
|
|
||||||
return k1, ok1
|
return k1, ok1
|
||||||
case *NS:
|
case *NS:
|
||||||
k1, ok1 := compressionLenSearch(c, x.Ns)
|
k1, ok1 := compressionLenSearch(c, x.Ns)
|
||||||
return k1, ok1
|
return k1, ok1
|
||||||
case *MINFO:
|
|
||||||
k1, ok1 := compressionLenSearch(c, x.Rmail)
|
|
||||||
k2, ok2 := compressionLenSearch(c, x.Email)
|
|
||||||
return k1 + k2, ok1 && ok2
|
|
||||||
case *MX:
|
|
||||||
k1, ok1 := compressionLenSearch(c, x.Mx)
|
|
||||||
return k1, ok1
|
|
||||||
case *AFSDB:
|
|
||||||
k1, ok1 := compressionLenSearch(c, x.Hostname)
|
|
||||||
return k1, ok1
|
|
||||||
case *CNAME:
|
|
||||||
k1, ok1 := compressionLenSearch(c, x.Target)
|
|
||||||
return k1, ok1
|
|
||||||
case *MD:
|
|
||||||
k1, ok1 := compressionLenSearch(c, x.Md)
|
|
||||||
return k1, ok1
|
|
||||||
case *MF:
|
|
||||||
k1, ok1 := compressionLenSearch(c, x.Mf)
|
|
||||||
return k1, ok1
|
|
||||||
}
|
}
|
||||||
return 0, false
|
return 0, false
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user