summaryrefslogtreecommitdiff
path: root/hostname.go
blob: 4725d2cf6607e2463f87ac944da1ce1d98049c40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// inspired from:
// https://github.com/mactsouk/opensource.com.git
// and
// https://coderwall.com/p/wohavg/creating-a-simple-tcp-server-in-go

package main

// import "net"

// will try to get this hosts FQDN
import "github.com/Showmax/go-fqdn"

// this is the king of dns libraries
import "github.com/miekg/dns"

// dnssec IPv6 socket library
import "git.wit.org/jcarr/dnssecsocket"

func getHostname() {
	var err error
	me.fqdn, err = fqdn.FqdnHostname()
	if (err != nil) {
		log("FQDN hostname error =", err)
		exit()
		return
	}
	log("FQDN hostname is", me.fqdn)

	var aaaa []string
	aaaa = getAAAA(me.fqdn)
	log("AAAA =", aaaa)
}

func getAAAA(s string) []string {
	// lookup the IP address from DNS
	dnsRR := dnssecsocket.Dnstrace(s, "AAAA")
	log(args.VerboseDNS, SPEW, dnsRR)
	if (dnsRR == nil) {
		return nil
	}
	ipaddr1 := dns.Field(dnsRR, 1)
	ipaddr2 := dns.Field(dnsRR, 2)
	log("ipaddr", ipaddr1, ipaddr2)
	return []string{ipaddr1, ipaddr2}
}