Make err non-exported
This commit is contained in:
parent
76dd2f8220
commit
70f9c6b964
|
@ -265,7 +265,7 @@ func Fqdn(s string) string {
|
||||||
func ReverseAddr(addr string) (arpa string, err error) {
|
func ReverseAddr(addr string) (arpa string, err error) {
|
||||||
ip := net.ParseIP(addr)
|
ip := net.ParseIP(addr)
|
||||||
if ip == nil {
|
if ip == nil {
|
||||||
return "", &Error{Err: "unrecognized address", Name: addr}
|
return "", &Error{Err: "unrecognized address: " + addr}
|
||||||
}
|
}
|
||||||
if ip.To4() != nil {
|
if ip.To4() != nil {
|
||||||
return strconv.Itoa(int(ip[15])) + "." + strconv.Itoa(int(ip[14])) + "." + strconv.Itoa(int(ip[13])) + "." +
|
return strconv.Itoa(int(ip[15])) + "." + strconv.Itoa(int(ip[14])) + "." + strconv.Itoa(int(ip[13])) + "." +
|
||||||
|
|
14
dns.go
14
dns.go
|
@ -77,7 +77,6 @@
|
||||||
package dns
|
package dns
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -90,22 +89,13 @@ const (
|
||||||
)
|
)
|
||||||
|
|
||||||
// Error represents a DNS error
|
// Error represents a DNS error
|
||||||
type Error struct {
|
type Error struct{ err string }
|
||||||
Err string
|
|
||||||
Name string
|
|
||||||
Server net.Addr
|
|
||||||
Timeout bool
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e *Error) Error() string {
|
func (e *Error) Error() string {
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return "dns: <nil>"
|
return "dns: <nil>"
|
||||||
}
|
}
|
||||||
if e.Name == "" {
|
return "dns: " + e.err
|
||||||
return "dns: " + e.Err
|
|
||||||
}
|
|
||||||
return "dns: " + e.Name + ": " + e.Err
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// An RR represents a resource record.
|
// An RR represents a resource record.
|
||||||
|
|
13
msg.go
13
msg.go
|
@ -404,7 +404,7 @@ func packStructValue(val reflect.Value, msg []byte, off int, compression map[str
|
||||||
case reflect.Slice:
|
case reflect.Slice:
|
||||||
switch val.Type().Field(i).Tag {
|
switch val.Type().Field(i).Tag {
|
||||||
default:
|
default:
|
||||||
return lenmsg, &Error{Name: val.Type().Field(i).Tag.Get("dns"), Err: "bad tag packing slice"}
|
return lenmsg, &Error{"bad tag packing slice: " + val.Type().Field(i).Tag.Get("dns")}
|
||||||
case `dns:"domain-name"`:
|
case `dns:"domain-name"`:
|
||||||
for j := 0; j < val.Field(i).Len(); j++ {
|
for j := 0; j < val.Field(i).Len(); j++ {
|
||||||
element := val.Field(i).Index(j).String()
|
element := val.Field(i).Index(j).String()
|
||||||
|
@ -598,7 +598,7 @@ func packStructValue(val reflect.Value, msg []byte, off int, compression map[str
|
||||||
s := fv.String()
|
s := fv.String()
|
||||||
switch val.Type().Field(i).Tag {
|
switch val.Type().Field(i).Tag {
|
||||||
default:
|
default:
|
||||||
return lenmsg, &Error{Name: val.Type().Field(i).Tag.Get("dns"), Err: "bad tag packing string"}
|
return lenmsg, &Error{"bad tag packing string: " + val.Type().Field(i).Tag.Get("dns")}
|
||||||
case `dns:"base64"`:
|
case `dns:"base64"`:
|
||||||
b64, err := packBase64([]byte(s))
|
b64, err := packBase64([]byte(s))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -691,7 +691,7 @@ func unpackStructValue(val reflect.Value, msg []byte, off int) (off1 int, err er
|
||||||
case reflect.Slice:
|
case reflect.Slice:
|
||||||
switch val.Type().Field(i).Tag {
|
switch val.Type().Field(i).Tag {
|
||||||
default:
|
default:
|
||||||
return lenmsg, &Error{Name: val.Type().Field(i).Tag.Get("dns"), Err: "bad tag unpacking slice"}
|
return lenmsg, &Error{"bad tag unpacking slice: " + val.Type().Field(i).Tag.Get("dns")}
|
||||||
case `dns:"domain-name"`:
|
case `dns:"domain-name"`:
|
||||||
// HIP record slice of name (or none)
|
// HIP record slice of name (or none)
|
||||||
servers := make([]string, 0)
|
servers := make([]string, 0)
|
||||||
|
@ -941,7 +941,7 @@ func unpackStructValue(val reflect.Value, msg []byte, off int) (off1 int, err er
|
||||||
var s string
|
var s string
|
||||||
switch val.Type().Field(i).Tag {
|
switch val.Type().Field(i).Tag {
|
||||||
default:
|
default:
|
||||||
return lenmsg, &Error{Name: val.Type().Field(i).Tag.Get("dns"), Err: "bad tag unpacking string"}
|
return lenmsg, &Error{"bad tag unpacking string: " + val.Type().Field(i).Tag.Get("dns")}
|
||||||
case `dns:"hex"`:
|
case `dns:"hex"`:
|
||||||
// Rest of the RR is hex encoded, network order an issue here?
|
// Rest of the RR is hex encoded, network order an issue here?
|
||||||
rdlength := int(val.FieldByName("Hdr").FieldByName("Rdlength").Uint())
|
rdlength := int(val.FieldByName("Hdr").FieldByName("Rdlength").Uint())
|
||||||
|
@ -1342,9 +1342,8 @@ func (dns *Msg) Unpack(msg []byte) (err error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if off != len(msg) {
|
if off != len(msg) {
|
||||||
// TODO(mg) remove eventually
|
// TODO(miek) make this an error?
|
||||||
// Err: extra bytes in packet
|
// println("dns: extra bytes in dns packet", off, "<", len(msg))
|
||||||
println("dns: extra bytes in dns packet", off, "<", len(msg))
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue