corrige detecção de endereços
This commit is contained in:
+18
-14
@@ -4,6 +4,7 @@ package updater
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
|
||||
"git.aehoo.net/alphard/he-dydns/internal/config"
|
||||
"git.aehoo.net/alphard/he-dydns/internal/hedns"
|
||||
@@ -34,21 +35,24 @@ func Run(cfg *config.Config) error {
|
||||
|
||||
var failures int
|
||||
for _, entry := range cfg.Entries {
|
||||
if addrs.IPv4 != nil {
|
||||
if err := hedns.Update(entry.Hostname, entry.Token, addrs.IPv4); err != nil {
|
||||
log.Printf("error: %v", err)
|
||||
failures++
|
||||
} else {
|
||||
log.Printf("updated %s -> %s", entry.Hostname, addrs.IPv4)
|
||||
}
|
||||
var ip net.IP
|
||||
switch entry.RecordType {
|
||||
case config.RecordTypeAAAA:
|
||||
ip = addrs.IPv6
|
||||
default:
|
||||
ip = addrs.IPv4
|
||||
}
|
||||
if addrs.IPv6 != nil {
|
||||
if err := hedns.Update(entry.Hostname, entry.Token, addrs.IPv6); err != nil {
|
||||
log.Printf("error: %v", err)
|
||||
failures++
|
||||
} else {
|
||||
log.Printf("updated %s -> %s", entry.Hostname, addrs.IPv6)
|
||||
}
|
||||
|
||||
if ip == nil {
|
||||
log.Printf("no %s address available for %s; skipping", entry.RecordType, entry.Hostname)
|
||||
continue
|
||||
}
|
||||
|
||||
if err := hedns.Update(entry.Hostname, entry.Token, ip); err != nil {
|
||||
log.Printf("error: %v", err)
|
||||
failures++
|
||||
} else {
|
||||
log.Printf("updated %s (%s) -> %s", entry.Hostname, entry.RecordType, ip)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user