pass all the ip addresses back

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2023-02-19 02:20:09 -06:00
parent a138364227
commit d53d4f1647
2 changed files with 14 additions and 10 deletions

View File

@ -73,7 +73,7 @@ func HandleConnection(conn *net.TCPConn) {
conn.Close() conn.Close()
return return
} }
ipaddr := dns.Field(dnsRR, 1) ipaddr := dns.Field(dnsRR[1], 1)
log.Println("Client claims to be: ", ipaddr) log.Println("Client claims to be: ", ipaddr)
log.Println("Serving to IPv6 client:", ipv6client) log.Println("Serving to IPv6 client:", ipv6client)

View File

@ -38,7 +38,7 @@ func colorize(s interface{}, color int, enabled bool) string {
return fmt.Sprintf("\x1b[%dm%v\x1b[0m", color, s) return fmt.Sprintf("\x1b[%dm%v\x1b[0m", color, s)
} }
func Dnstrace(hostname string, qtypestr string) dns.RR { func Dnstrace(hostname string, qtypestr string) []dns.RR {
// color := flag.Bool("color", true, "Enable/disable colors") // color := flag.Bool("color", true, "Enable/disable colors")
color := true color := true
@ -63,7 +63,7 @@ func Dnstrace(hostname string, qtypestr string) dns.RR {
o.SetUDPSize(dns.DefaultMsgSize) o.SetUDPSize(dns.DefaultMsgSize)
m.Extra = append(m.Extra, o) m.Extra = append(m.Extra, o)
c := client.New() c := client.New(1)
c.Client.Timeout = 500 * time.Millisecond c.Client.Timeout = 500 * time.Millisecond
t := client.Tracer{ t := client.Tracer{
GotIntermediaryResponse: func(i int, m *dns.Msg, rs client.Responses, rtype client.ResponseType) { GotIntermediaryResponse: func(i int, m *dns.Msg, rs client.Responses, rtype client.ResponseType) {
@ -142,18 +142,22 @@ func Dnstrace(hostname string, qtypestr string) dns.RR {
log.Println() log.Println()
log.Printf(col(";; Cold best path time: %s\n\n", cGray), rtt) log.Printf(col(";; Cold best path time: %s\n\n", cGray), rtt)
for _, rr := range r.Answer { for i, rr := range r.Answer {
log.Println(rr) log.Println("r.Answer =", i, rr)
} }
for _, rr := range r.Answer { return r.Answer
return rr // for _, rr := range r.Answer {
} // return rr
return nil // }
// return nil
} }
func ResolveIPv6hostname(hostname string) *net.TCPAddr { func ResolveIPv6hostname(hostname string) *net.TCPAddr {
dnsRR := Dnstrace(hostname, "AAAA") dnsRR := Dnstrace(hostname, "AAAA")
aaaa := dns.Field(dnsRR, 1) if (dnsRR == nil) {
return nil
}
aaaa := dns.Field(dnsRR[1], 1)
localTCPAddr, _ := net.ResolveTCPAddr("tcp", aaaa) localTCPAddr, _ := net.ResolveTCPAddr("tcp", aaaa)
return localTCPAddr return localTCPAddr
} }