diff options
| author | Jeff Carr <[email protected]> | 2024-11-01 21:41:46 -0500 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-11-01 21:41:46 -0500 | 
| commit | 7e1460f9f633572def950f005080f899613ba9d0 (patch) | |
| tree | df2ac08c5813291431dee7d9f226b2827dd757c7 | |
| parent | 40e811b3b39ffe8d6c2394dc024bb0770933683a (diff) | |
getDomainname()v0.22.1
Signed-off-by: Jeff Carr <[email protected]>
| -rw-r--r-- | Makefile | 5 | ||||
| -rw-r--r-- | hostname.go | 35 | ||||
| -rw-r--r-- | linuxloop.go | 2 | ||||
| -rw-r--r-- | net.go | 2 | 
4 files changed, 38 insertions, 6 deletions
@@ -1,8 +1,5 @@  all: -	@echo -	@echo Run: make redomod -	@echo -	@# ./myrepos >/tmp/myrepos.stderr 2>&1 +	GO111MODULE=off go vet  goimports:  	goimports -w *.go diff --git a/hostname.go b/hostname.go index bf4c4a7..9b38d4a 100644 --- a/hostname.go +++ b/hostname.go @@ -3,8 +3,11 @@  package linuxstatus  import ( +	"fmt"  	"io/ioutil" +	"strings" +	"go.wit.com/lib/gui/shell"  	"go.wit.com/log"  	// will try to get this hosts FQDN @@ -80,6 +83,17 @@ func (ls *LinuxStatus) setHostShort() {  	}  } +// getDomainName extracts the domain name from a given hostname +func getDomainName(hostname string) (string, error) { +	parts := strings.Split(hostname, ".") +	if len(parts) < 3 { +		return "", fmt.Errorf("hostname '%s' is too short to extract a domain name", hostname) +	} +	// Join all parts except the first one, which is assumed to be a subdomain +	domain := strings.Join(parts[1:], ".") +	return domain, nil +} +  func lookupHostname() {  	if !me.Ready() {  		return @@ -107,6 +121,27 @@ func lookupHostname() {  	if hostfqdn != hostname {  		log.Log(WARN, "hostname", hostname, "does not equal fqdn.FqdnHostname()", hostfqdn)  		// TODO: figure out what is wrong +		if dn == "(none)" { +			realdn, err := getDomainName(hostfqdn) +			if err == nil { +				log.Log(WARN, "need to run: 'domainname", realdn, "' here") +				me.changed = true +				me.hostnameStatus.SetText("FIXING") +				shell.RunPath("", []string{"domainname", realdn}) +				return +			} else { +				log.Log(WARN, "getDomainName() err =", err) +				log.Log(WARN, "/etc/hostname is too short. let the user set the name here.") +				// me.changed = true +				me.hostnameStatus.SetText("INVALID DOMAIN NAME") +				// return +			} +		} +		log.Log(WARN, "don't know what to do here with domainname") +		log.Log(WARN, "check that /etc/hostname is valid?") +		// me.changed = true +		me.hostnameStatus.SetText("UNKNOWN") +		// return  	}  	var test string diff --git a/linuxloop.go b/linuxloop.go index e1d7d5e..49d744b 100644 --- a/linuxloop.go +++ b/linuxloop.go @@ -44,7 +44,7 @@ func linuxLoop() {  	sort.Strings(a)  	tmp := strings.Join(a, "\n")  	if tmp != me.workingIPv4.String() { -		log.Log(CHANGE, "realAAAA() your real IPv6 addresses changed") +		log.Log(CHANGE, "realA() your real IPv6 addresses changed")  		me.changed = true  		me.workingIPv4.SetText(tmp)  	} @@ -101,7 +101,7 @@ func realA() []string {  	return a  } -func checkDNS() (map[string]*IPtype, map[string]*IPtype) { +func checkDNSOld() (map[string]*IPtype, map[string]*IPtype) {  	var ipv4s map[string]*IPtype  	var ipv6s map[string]*IPtype  | 
