summaryrefslogtreecommitdiff
path: root/domain.go
diff options
context:
space:
mode:
authorhorus_arch2015-03-20 23:16:27 +0100
committerhorus_arch2015-03-20 23:16:27 +0100
commit491462e033ae78a5b5c4f93ed8d5663e4da0a9e3 (patch)
treecdc82ee4c600a86ba6bc7b92a589b129a01c7429 /domain.go
parent17bea88eb3f6e2bc5f63641437a997cc8bd32881 (diff)
downloadfreemail-491462e033ae78a5b5c4f93ed8d5663e4da0a9e3.tar.gz
Fix bug which prevented creating a new entry.
Diffstat (limited to 'domain.go')
-rw-r--r--domain.go21
1 files changed, 17 insertions, 4 deletions
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
}
}