From 491462e033ae78a5b5c4f93ed8d5663e4da0a9e3 Mon Sep 17 00:00:00 2001 From: horus_arch Date: Fri, 20 Mar 2015 23:16:27 +0100 Subject: Fix bug which prevented creating a new entry. --- domain.go | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'domain.go') diff --git a/domain.go b/domain.go index 501351b..aa0ce40 100644 --- a/domain.go +++ b/domain.go @@ -33,12 +33,13 @@ func (vD VirtualDomain) CreateDomain() bool { } func (vD VirtualDomain) ValidateDomain(ref string) bool { + log.Println("Validating " + vD.Name) if vD.Name == "" { return false } addr, err := net.LookupIP(vD.Name) if err != nil { - log.Println(err) + log.Println(vD.Name + " " + err.Error()) return false } if len(addr) == 0 { @@ -46,23 +47,35 @@ func (vD VirtualDomain) ValidateDomain(ref string) bool { } serverIP, err := net.LookupIP(ref) if err != nil { - log.Println(err) + log.Println(ref + " " + err.Error()) return false } return reflect.DeepEqual(serverIP, addr) } func (vD VirtualDomain) ValidateDomainMX(ref string) bool { + log.Println("Validating MX " + vD.Name) if vD.Name == "" { + log.Println("Empty domain.") return false } mx, err := net.LookupMX(vD.Name) if err != nil { - log.Println(err) + log.Println("Lookup error " + vD.Name + " " + err.Error()) return false } match := false + + serverIP, err := net.LookupIP(ref) + if err != nil { + log.Println("Lookup error for server " + ref + " " + err.Error()) + return false + } for _, v := range mx { - if v.Host == ref { + mxIP, err := net.LookupIP(v.Host) + if err != nil { + log.Println(err) + } + if reflect.DeepEqual(serverIP, mxIP) { match = true } } -- cgit v1.2.3