summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-06 14:57:51 -0600
committerJeff Carr <[email protected]>2024-01-06 14:57:51 -0600
commit5dee2af78434191a27987acfb02902a11f81067c (patch)
tree43e9877f72f3a575c68c3e6648ab4928ecf511cb
parentba3d5a3cb24429692a1d799e73a9d53cc798212e (diff)
old window is nearly deprecated
Signed-off-by: Jeff Carr <[email protected]>
-rw-r--r--dns.go4
-rw-r--r--gui.go15
-rw-r--r--hostnameStatus.go8
-rw-r--r--linuxstatus/draw.go6
-rw-r--r--linuxstatus/hostname.go4
-rw-r--r--linuxstatus/linuxloop.go13
-rw-r--r--linuxstatus/net.go2
-rw-r--r--linuxstatus/structs.go2
-rw-r--r--main.go7
-rw-r--r--net.go111
-rw-r--r--structs.go8
11 files changed, 31 insertions, 149 deletions
diff --git a/dns.go b/dns.go
index a2e4763..ac4f35d 100644
--- a/dns.go
+++ b/dns.go
@@ -111,10 +111,10 @@ func lookupNS(domain string) {
}
tmp = shell.Chomp(tmp)
- if (tmp != me.NSrr.S) {
+ if (tmp != me.status.NSrr.Get()) {
me.changed = true
log.Log(CHANGE, "lookupNS() setting me.NSrr =", tmp)
- me.NSrr.SetText(tmp)
+ me.status.NSrr.Set(tmp)
}
}
diff --git a/gui.go b/gui.go
index c988ab4..5b48039 100644
--- a/gui.go
+++ b/gui.go
@@ -47,19 +47,19 @@ func detailsTab(title string) {
grid.NewLabel("DEPRECATED")
grid.NewLabel("NS records =")
- me.NSrr = grid.NewLabel("NS RR's")
+ grid.NewLabel("DEPRECATED")
grid.NewLabel("UID =")
grid.NewLabel("DEPRECATED")
grid.NewLabel("Current IPv4 =")
- me.IPv4 = grid.NewLabel("?")
+ grid.NewLabel("DEPRECATED")
grid.NewLabel("Current IPv6 =")
- me.IPv6 = grid.NewLabel("?")
+ grid.NewLabel("DEPRECATED")
grid.NewLabel("Working Real IPv6 =")
- me.workingIPv6 = grid.NewLabel("?")
+ grid.NewLabel("?")
grid.NewLabel("interfaces =")
me.Interfaces = grid.NewCombobox("Interfaces")
@@ -150,7 +150,7 @@ func missingAAAA() string {
// it just updates the GUI
func displayDNS() string {
var aaaa []string
- aaaa = dhcpAAAA() // your AAAA records right now
+ aaaa = append(aaaa, "blah", "more")
// h := me.hostname
var all string
var broken string = "unknown"
@@ -166,11 +166,6 @@ func displayDNS() string {
}
}
}
- all = sortLines(all)
- if (me.workingIPv6.S != all) {
- log.Log(NOW, "workingIPv6.SetText() to:", all)
- me.workingIPv6.SetText(all)
- }
var a []string
a = realA()
diff --git a/hostnameStatus.go b/hostnameStatus.go
index 87347db..4e8bb14 100644
--- a/hostnameStatus.go
+++ b/hostnameStatus.go
@@ -42,6 +42,7 @@ type hostnameStatus struct {
currentIPv6 *gadgets.OneLiner
// what the DNS servers have
+ NSrr *gadgets.OneLiner
dnsA *gadgets.OneLiner
dnsAAAA *gadgets.OneLiner
dnsAPI *gadgets.OneLiner
@@ -84,6 +85,7 @@ func NewHostnameStatusWindow(p *gui.Node) *hostnameStatus {
hs.currentIPv4 = gadgets.NewOneLiner(grid, "Current IPv4")
hs.currentIPv6 = gadgets.NewOneLiner(grid, "Current IPv6")
+ hs.NSrr = gadgets.NewOneLiner(grid, "dns NS records").Set("unknown")
hs.dnsAPI = gadgets.NewOneLiner(grid, "dns API provider").Set("unknown")
hs.dnsA = gadgets.NewOneLiner(grid, "dns IPv4 resource records").Set("unknown")
hs.dnsAAAA = gadgets.NewOneLiner(grid, "dns IPv6 resource records").Set("unknown")
@@ -339,8 +341,10 @@ func (hs *hostnameStatus) updateStatus() {
}
}
- hs.currentIPv4.Set(me.IPv4.S)
- hs.currentIPv6.Set(me.IPv6.S)
+ // hs.currentIPv4.Set(me.IPv4.S)
+ // hs.currentIPv6.Set(me.IPv6.S)
+ hs.currentIPv4.Set("get this from linuxStatus")
+ hs.currentIPv6.Set("get this from linuxStatus")
if hs.IPv4() && hs.IPv6() {
hs.status.Set("GOOD")
diff --git a/linuxstatus/draw.go b/linuxstatus/draw.go
index 6680f2d..5d28347 100644
--- a/linuxstatus/draw.go
+++ b/linuxstatus/draw.go
@@ -9,15 +9,17 @@ import (
// it's assumed you are always passing in a box
func draw(ls *LinuxStatus) {
if ! ls.Ready() {return}
- ls.group = ls.window.Box().NewGroup("Real Stuff")
+ ls.group = ls.window.Box().NewGroup("What Linux Says It Is")
ls.grid = ls.group.NewGrid("gridnuts", 2, 2)
ls.grid.SetNext(1,1)
+ ls.fqdn = gadgets.NewOneLiner(ls.grid, "hostname -f")
ls.hostshort = gadgets.NewOneLiner(ls.grid, "hostname -s")
ls.domainname = gadgets.NewOneLiner(ls.grid, "domain name")
- ls.NSrr = gadgets.NewOneLiner(ls.grid, "NS records =")
+ ls.resolver = gadgets.NewOneLiner(ls.grid, "nameservers =")
+ ls.resolver.Set("TODO")
ls.uid = gadgets.NewOneLiner(ls.grid, "UID =")
ls.IPv4 = gadgets.NewOneLiner(ls.grid, "Current IPv4 =")
ls.IPv6 = gadgets.NewOneLiner(ls.grid, "Current IPv6 =")
diff --git a/linuxstatus/hostname.go b/linuxstatus/hostname.go
index 08c7971..78682dd 100644
--- a/linuxstatus/hostname.go
+++ b/linuxstatus/hostname.go
@@ -50,7 +50,7 @@ func (ls *LinuxStatus) GetHostShort() string {
}
func (ls *LinuxStatus) setHostShort() {
- if ! me.Ready() {return ""}
+ if ! me.Ready() {return}
hshort := run("hostname -s")
if (me.hostshort.Get() != hshort) {
log.Log(CHANGE, "hostname -s has changed from", me.hostshort.Get(), "to", hshort)
@@ -71,7 +71,7 @@ func lookupHostname() {
log.Error(errors.New("full hostname should be: " + s))
me.setDomainName()
-
+ me.setHostShort()
/*
var test string
diff --git a/linuxstatus/linuxloop.go b/linuxstatus/linuxloop.go
index ba981aa..b2572d1 100644
--- a/linuxstatus/linuxloop.go
+++ b/linuxstatus/linuxloop.go
@@ -8,6 +8,7 @@ import (
"os"
"os/user"
"strconv"
+ "strings"
"go.wit.com/log"
)
@@ -23,14 +24,10 @@ func linuxLoop() {
log.Log(NET, strconv.Itoa(i) + " iface = " + t.iface.Name)
}
- var aaaa []string
- aaaa = dhcpAAAA()
- var all string
- for _, s := range aaaa {
- log.Log(NET, "my actual AAAA = ",s)
- all += s + "\n"
- }
- // me.IPv6.SetText(all)
+ // get all the real AAAA records from all the network interfaces linux can see
+ tmp := strings.Join(realAAAA(), "\n")
+ tmp = sortLines(tmp)
+ me.workingIPv6.Set(tmp)
user, _ := user.Current()
log.Log(INFO, "os.Getuid =", user.Username, os.Getuid())
diff --git a/linuxstatus/net.go b/linuxstatus/net.go
index d86aac5..89f6de0 100644
--- a/linuxstatus/net.go
+++ b/linuxstatus/net.go
@@ -103,7 +103,7 @@ func checkInterface(i net.Interface) {
These are the real IP address you have been
given from DHCP
*/
-func dhcpAAAA() []string {
+func realAAAA() []string {
var aaaa []string
for s, t := range me.ipmap {
diff --git a/linuxstatus/structs.go b/linuxstatus/structs.go
index 10fec02..a012074 100644
--- a/linuxstatus/structs.go
+++ b/linuxstatus/structs.go
@@ -30,7 +30,7 @@ type LinuxStatus struct {
hostshort *gadgets.OneLiner
domainname *gadgets.OneLiner
fqdn *gadgets.OneLiner
- NSrr *gadgets.OneLiner
+ resolver *gadgets.OneLiner
uid *gadgets.OneLiner
IPv4 *gadgets.OneLiner
IPv6 *gadgets.OneLiner
diff --git a/main.go b/main.go
index 5eb83f6..25c5e26 100644
--- a/main.go
+++ b/main.go
@@ -8,7 +8,6 @@ import (
"fmt"
"strings"
"sort"
- "strconv"
"runtime"
"time"
"embed"
@@ -160,12 +159,6 @@ func linuxLoop() {
duration := timeFunction(getHostname)
log.Info("getHostname() execution Time: ", duration, "me.changed =", me.changed)
- duration = timeFunction(scanInterfaces)
- log.Log(NET, "scanInterfaces() execution Time: ", duration)
- for i, t := range me.ifmap {
- log.Log(NET, strconv.Itoa(i) + " iface = " + t.iface.Name)
- }
-
var aaaa []string
aaaa = dhcpAAAA()
var all string
diff --git a/net.go b/net.go
index 6f27c27..cd988d1 100644
--- a/net.go
+++ b/net.go
@@ -156,117 +156,8 @@ func checkDNS() (map[string]*IPtype, map[string]*IPtype) {
return ipv6s, ipv4s
}
-// Will figure out if an IP address is new
-func checkIP(ip *net.IPNet, i net.Interface) bool {
- log.Log(NET, "\t\taddr.(type) = *net.IPNet")
- log.Log(NET, "\t\taddr.(type) =", ip)
- var realip string
- realip = ip.IP.String()
-
- val, ok := me.ipmap[realip]
- if ok {
- log.Log(NET, val.ipnet.IP.String(), "is already a defined IP address")
- me.ipmap[realip].gone = false
- return false
- }
-
- me.ipmap[realip] = new(IPtype)
- me.ipmap[realip].gone = false
- me.ipmap[realip].ipv4 = true
- me.ipmap[realip].ipnet = ip
- me.ipmap[realip].ip = ip.IP
- me.ipmap[realip].iface = &i
- t := "IPv4"
- if (IsIPv6(ip.String())) {
- me.ipmap[realip].ipv6 = true
- me.ipmap[realip].ipv4 = false
- t = "IPv6"
- if (me.IPv6 != nil) {
- me.IPv6.SetText(realip)
- }
- } else {
- me.ipmap[realip].ipv6 = false
- me.ipmap[realip].ipv4 = true
- if (me.IPv4 != nil) {
- me.IPv4.SetText(realip)
- }
- }
- if (IsReal(&ip.IP)) {
- log.Info("\tIP is Real ", t, i.Index, i.Name, realip)
- } else {
- log.Info("\tIP is not Real", t, i.Index, i.Name, realip)
- }
- log.Log(NET, "\t\tIP is IsPrivate() =", ip.IP.IsPrivate())
- log.Log(NET, "\t\tIP is IsLoopback() =", ip.IP.IsLoopback())
- log.Log(NET, "\t\tIP is IsLinkLocalUnicast() =", ip.IP.IsLinkLocalUnicast())
- // log.Info("HERE HERE", "realip =", realip, "me.ip[realip]=", me.ipmap[realip])
- return true
-}
-
-func scanInterfaces() {
- log.Log(NET, "scanInterfaces() START")
- ifaces, _ := net.Interfaces()
- // me.ifnew = ifaces
- log.Log(NET, SPEW, ifaces)
- for _, i := range ifaces {
- addrs, _ := i.Addrs()
- // log.Info("range ifaces = ", i)
- checkInterface(i)
- log.Log(NET, "*net.Interface.Name = ", i.Name, i.Index)
- log.Log(NET, SPEW, i)
- log.Log(NET, SPEW, addrs)
- for _, addr := range addrs {
- log.Log(NET, "\taddr =", addr)
- log.Log(NET, SPEW, addrs)
- ips, _ := net.LookupIP(addr.String())
- log.Log(NET, "\tLookupIP(addr) =", ips)
- switch v := addr.(type) {
- case *net.IPNet:
- if checkIP(v, i) {
- log.Log(true, "scanInterfaces() IP is new () i =", v.IP.String())
- }
- default:
- log.Log(NET, "\t\taddr.(type) = NO IDEA WHAT TO DO HERE v =", v)
- }
- }
- }
- if deleteChanges() {
- me.changed = true
- log.Log(NET, "deleteChanges() detected network changes")
- }
- updateRealAAAA()
- log.Log(NET, "scanInterfaces() END")
-}
-
-// displays the IP address found on your network interfaces
-func updateRealAAAA() {
- var all4 string
- var all6 string
- for s, t := range me.ipmap {
- if (t.ipv4) {
- all4 += s + "\n"
- log.Log(NET, "IPv4 =", s)
- } else if (t.ipv6) {
- all6 += s + "\n"
- log.Log(NET, "IPv6 =", s)
- } else {
- log.Log(NET, "???? =", s)
- }
- }
- all4 = sortLines(all4)
- all6 = sortLines(all6)
- if (me.IPv4.S != all4) {
- log.Log(NET, "IPv4 addresses have changed", all4)
- me.IPv4.SetText(all4)
- }
- if (me.IPv6.S != all6) {
- log.Log(NET, "IPv6 addresses have changed", all6)
- me.IPv6.SetText(all6)
- }
-}
-
// delete network interfaces and ip addresses from the gui
-func deleteChanges() bool {
+func deleteChanges2() bool {
var changed bool = false
for i, t := range me.ifmap {
if (t.gone) {
diff --git a/structs.go b/structs.go
index 1cca577..b8e4418 100644
--- a/structs.go
+++ b/structs.go
@@ -53,16 +53,16 @@ type Host struct {
// local OS settings, network interfaces, etc
// uid *gui.Node // user
fqdn *gui.Node // display the full hostname
- IPv4 *gui.Node // show valid IPv4 addresses
- IPv6 *gui.Node // show valid IPv6 addresses
+ // IPv4 *gui.Node // show valid IPv4 addresses
+ // IPv6 *gui.Node // show valid IPv6 addresses
Interfaces *gui.Node // Interfaces
LocalSpeedActual *gui.Node // the time it takes to check each network interface
// DNS stuff
- NSrr *gui.Node // NS resource records for the domain name
+ // NSrr *gui.Node // NS resource records for the domain name
DnsAPI *gui.Node // what DNS API to use?
DnsAAAA *gadgets.OneLiner // the actual DNS AAAA results
- workingIPv6 *gui.Node // currently working AAAA
+ // workingIPv6 *gui.Node // currently working AAAA
DnsA *gui.Node // the actual DNS A results (ignore for status since mostly never happens?)
DnsStatus *gui.Node // the current state of DNS
DnsSpeed *gui.Node // 'FAST', 'OK', 'SLOW', etc