correctly shows the DNS status
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
058f142127
commit
90f9015ab2
45
gui.go
45
gui.go
|
@ -72,16 +72,9 @@ func addDNSTab(title string) {
|
||||||
g2.NewButton("Escalate()", func () {
|
g2.NewButton("Escalate()", func () {
|
||||||
Escalate()
|
Escalate()
|
||||||
})
|
})
|
||||||
g2.NewButton("pprof(goroutine)", func () {
|
|
||||||
// loggo()
|
|
||||||
// panic("correctly inside of gui goroutine (goroutine 1?)")
|
|
||||||
})
|
|
||||||
g2.NewButton("gui.DebugWindow()", func () {
|
g2.NewButton("gui.DebugWindow()", func () {
|
||||||
gui.DebugWindow()
|
gui.DebugWindow()
|
||||||
})
|
})
|
||||||
g2.NewButton("NewCheckbox(test)", func () {
|
|
||||||
me.notes.NewCheckbox("test")
|
|
||||||
})
|
|
||||||
g2.NewButton("LookupAddr(<raw ipv6>) == fire from /etc/hosts", func () {
|
g2.NewButton("LookupAddr(<raw ipv6>) == fire from /etc/hosts", func () {
|
||||||
host, err := net.LookupAddr("2600:1700:afd5:6000:b26e:bfff:fe80:3c52")
|
host, err := net.LookupAddr("2600:1700:afd5:6000:b26e:bfff:fe80:3c52")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -139,18 +132,46 @@ func nsupdateGroup(w *gui.Node) {
|
||||||
grid.NewLabel("interfaces =")
|
grid.NewLabel("interfaces =")
|
||||||
me.Interfaces = grid.NewCombobox("foo(1,3)")
|
me.Interfaces = grid.NewCombobox("foo(1,3)")
|
||||||
|
|
||||||
|
grid.NewLabel("DNS AAAA =")
|
||||||
|
me.DnsAAAA = grid.NewLabel("need to lookup")
|
||||||
|
|
||||||
|
grid.NewLabel("DNS A =")
|
||||||
|
me.DnsA = grid.NewLabel("need to lookup")
|
||||||
|
|
||||||
|
grid.NewLabel("DNS Status =")
|
||||||
|
me.DnsStatus = grid.NewLabel("unknown")
|
||||||
|
|
||||||
g.NewButton("DNS AAAA", func () {
|
g.NewButton("DNS AAAA", func () {
|
||||||
var aaaa []string
|
var aaaa []string
|
||||||
var out string
|
h := me.hostname
|
||||||
h := me.fqdn.GetText()
|
if (h == "") {
|
||||||
// h := "fire.lab.wit.org"
|
h = "unknown.lab.wit.org"
|
||||||
|
// h = "hpdevone.lab.wit.org"
|
||||||
|
}
|
||||||
aaaa = dnsAAAA(h)
|
aaaa = dnsAAAA(h)
|
||||||
log(SPEW, me)
|
log(SPEW, me)
|
||||||
if (aaaa == nil) {
|
if (aaaa == nil) {
|
||||||
out += "There are no DNS AAAA records for hostname: " + h + "\n"
|
log("There are no DNS AAAA records for hostname: ", h)
|
||||||
}
|
}
|
||||||
|
var broken int = 0
|
||||||
|
var all string
|
||||||
for _, s := range aaaa {
|
for _, s := range aaaa {
|
||||||
out += "host " + h + " DNS AAAA = " + s + "\n"
|
log("host", h, "DNS AAAA =", s)
|
||||||
|
all += s + "\n"
|
||||||
|
if ( me.ipmap[s] == nil) {
|
||||||
|
log("THIS IS THE WRONG AAAA DNS ENTRY: host", h, "DNS AAAA =", s)
|
||||||
|
broken = 2
|
||||||
|
} else {
|
||||||
|
if (broken == 0) {
|
||||||
|
broken = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
me.DnsAAAA.SetText(all)
|
||||||
|
if (broken == 1) {
|
||||||
|
me.DnsStatus.SetText("WORKING")
|
||||||
|
} else {
|
||||||
|
me.DnsStatus.SetText("Broken")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
g.NewButton("dig +trace", func () {
|
g.NewButton("dig +trace", func () {
|
||||||
|
|
|
@ -28,7 +28,9 @@ func getHostname() {
|
||||||
if (me.fqdn != nil) {
|
if (me.fqdn != nil) {
|
||||||
// s = me.fqdn.GetText()
|
// s = me.fqdn.GetText()
|
||||||
log("trying to update gui.Label")
|
log("trying to update gui.Label")
|
||||||
|
me.fqdn.AddText(s)
|
||||||
me.fqdn.SetText(s)
|
me.fqdn.SetText(s)
|
||||||
|
me.hostname = s
|
||||||
}
|
}
|
||||||
log("FQDN =", s)
|
log("FQDN =", s)
|
||||||
}
|
}
|
||||||
|
|
5
main.go
5
main.go
|
@ -48,9 +48,10 @@ func main() {
|
||||||
Poll for changes to the networking settings
|
Poll for changes to the networking settings
|
||||||
*/
|
*/
|
||||||
func checkNetworkChanges() {
|
func checkNetworkChanges() {
|
||||||
var ttl int = 3
|
var ttl int = 0
|
||||||
|
var ttlsleep int = 5
|
||||||
for {
|
for {
|
||||||
sleep(1)
|
sleep(ttlsleep)
|
||||||
ttl -= 1
|
ttl -= 1
|
||||||
if (ttl < 0) {
|
if (ttl < 0) {
|
||||||
if (runtime.GOOS == "linux") {
|
if (runtime.GOOS == "linux") {
|
||||||
|
|
|
@ -28,6 +28,9 @@ type Host struct {
|
||||||
IPv4 *gui.Node // show valid IPv4 addresses
|
IPv4 *gui.Node // show valid IPv4 addresses
|
||||||
IPv6 *gui.Node // show valid IPv6 addresses
|
IPv6 *gui.Node // show valid IPv6 addresses
|
||||||
Interfaces *gui.Node // Interfaces
|
Interfaces *gui.Node // Interfaces
|
||||||
|
DnsAAAA *gui.Node // the actual DNS AAAA results
|
||||||
|
DnsA *gui.Node // the actual DNS A results (ignore for status since mostly never happens?)
|
||||||
|
DnsStatus *gui.Node // the current state of DNS
|
||||||
}
|
}
|
||||||
|
|
||||||
type IPtype struct {
|
type IPtype struct {
|
||||||
|
|
Loading…
Reference in New Issue