old window is nearly deprecated

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2024-01-06 14:57:51 -06:00
parent ba3d5a3cb2
commit 5dee2af784
11 changed files with 31 additions and 149 deletions

4
dns.go
View File

@ -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)
}
}

15
gui.go
View File

@ -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()

View File

@ -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")

View File

@ -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 =")

View File

@ -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

View File

@ -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())

View File

@ -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 {

View File

@ -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

View File

@ -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

111
net.go
View File

@ -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) {

View File

@ -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