old window is nearly deprecated
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
73811178b5
commit
b8991ccf58
|
@ -9,15 +9,17 @@ import (
|
||||||
// it's assumed you are always passing in a box
|
// it's assumed you are always passing in a box
|
||||||
func draw(ls *LinuxStatus) {
|
func draw(ls *LinuxStatus) {
|
||||||
if ! ls.Ready() {return}
|
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 = ls.group.NewGrid("gridnuts", 2, 2)
|
||||||
|
|
||||||
ls.grid.SetNext(1,1)
|
ls.grid.SetNext(1,1)
|
||||||
|
|
||||||
|
ls.fqdn = gadgets.NewOneLiner(ls.grid, "hostname -f")
|
||||||
ls.hostshort = gadgets.NewOneLiner(ls.grid, "hostname -s")
|
ls.hostshort = gadgets.NewOneLiner(ls.grid, "hostname -s")
|
||||||
ls.domainname = gadgets.NewOneLiner(ls.grid, "domain name")
|
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.uid = gadgets.NewOneLiner(ls.grid, "UID =")
|
||||||
ls.IPv4 = gadgets.NewOneLiner(ls.grid, "Current IPv4 =")
|
ls.IPv4 = gadgets.NewOneLiner(ls.grid, "Current IPv4 =")
|
||||||
ls.IPv6 = gadgets.NewOneLiner(ls.grid, "Current IPv6 =")
|
ls.IPv6 = gadgets.NewOneLiner(ls.grid, "Current IPv6 =")
|
||||||
|
|
|
@ -50,7 +50,7 @@ func (ls *LinuxStatus) GetHostShort() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ls *LinuxStatus) setHostShort() {
|
func (ls *LinuxStatus) setHostShort() {
|
||||||
if ! me.Ready() {return ""}
|
if ! me.Ready() {return}
|
||||||
hshort := run("hostname -s")
|
hshort := run("hostname -s")
|
||||||
if (me.hostshort.Get() != hshort) {
|
if (me.hostshort.Get() != hshort) {
|
||||||
log.Log(CHANGE, "hostname -s has changed from", me.hostshort.Get(), "to", 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))
|
log.Error(errors.New("full hostname should be: " + s))
|
||||||
|
|
||||||
me.setDomainName()
|
me.setDomainName()
|
||||||
|
me.setHostShort()
|
||||||
|
|
||||||
/*
|
/*
|
||||||
var test string
|
var test string
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"os/user"
|
"os/user"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"go.wit.com/log"
|
"go.wit.com/log"
|
||||||
)
|
)
|
||||||
|
@ -23,14 +24,10 @@ func linuxLoop() {
|
||||||
log.Log(NET, strconv.Itoa(i) + " iface = " + t.iface.Name)
|
log.Log(NET, strconv.Itoa(i) + " iface = " + t.iface.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
var aaaa []string
|
// get all the real AAAA records from all the network interfaces linux can see
|
||||||
aaaa = dhcpAAAA()
|
tmp := strings.Join(realAAAA(), "\n")
|
||||||
var all string
|
tmp = sortLines(tmp)
|
||||||
for _, s := range aaaa {
|
me.workingIPv6.Set(tmp)
|
||||||
log.Log(NET, "my actual AAAA = ",s)
|
|
||||||
all += s + "\n"
|
|
||||||
}
|
|
||||||
// me.IPv6.SetText(all)
|
|
||||||
|
|
||||||
user, _ := user.Current()
|
user, _ := user.Current()
|
||||||
log.Log(INFO, "os.Getuid =", user.Username, os.Getuid())
|
log.Log(INFO, "os.Getuid =", user.Username, os.Getuid())
|
||||||
|
|
|
@ -103,7 +103,7 @@ func checkInterface(i net.Interface) {
|
||||||
These are the real IP address you have been
|
These are the real IP address you have been
|
||||||
given from DHCP
|
given from DHCP
|
||||||
*/
|
*/
|
||||||
func dhcpAAAA() []string {
|
func realAAAA() []string {
|
||||||
var aaaa []string
|
var aaaa []string
|
||||||
|
|
||||||
for s, t := range me.ipmap {
|
for s, t := range me.ipmap {
|
||||||
|
|
|
@ -30,7 +30,7 @@ type LinuxStatus struct {
|
||||||
hostshort *gadgets.OneLiner
|
hostshort *gadgets.OneLiner
|
||||||
domainname *gadgets.OneLiner
|
domainname *gadgets.OneLiner
|
||||||
fqdn *gadgets.OneLiner
|
fqdn *gadgets.OneLiner
|
||||||
NSrr *gadgets.OneLiner
|
resolver *gadgets.OneLiner
|
||||||
uid *gadgets.OneLiner
|
uid *gadgets.OneLiner
|
||||||
IPv4 *gadgets.OneLiner
|
IPv4 *gadgets.OneLiner
|
||||||
IPv6 *gadgets.OneLiner
|
IPv6 *gadgets.OneLiner
|
||||||
|
|
111
net.go
111
net.go
|
@ -156,117 +156,8 @@ func checkDNS() (map[string]*IPtype, map[string]*IPtype) {
|
||||||
return ipv6s, ipv4s
|
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
|
// delete network interfaces and ip addresses from the gui
|
||||||
func deleteChanges() bool {
|
func deleteChanges2() bool {
|
||||||
var changed bool = false
|
var changed bool = false
|
||||||
for i, t := range me.ifmap {
|
for i, t := range me.ifmap {
|
||||||
if (t.gone) {
|
if (t.gone) {
|
||||||
|
|
Loading…
Reference in New Issue