summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHorus32015-06-02 05:38:12 +0200
committerHorus32015-06-02 05:38:12 +0200
commitf8a4da578bc8f58924ef060b60c472ade8390d55 (patch)
treed9b1b35966149ad69f0d638a7c158ea3aff1883e
parent0a00051d30184c94a666638f66f1d145df855995 (diff)
downloadfreemail-f8a4da578bc8f58924ef060b60c472ade8390d55.tar.gz
Bug fix and better wording.
-rw-r--r--Makefile2
-rw-r--r--domain.go28
-rw-r--r--html/about.html (renamed from views/about.html)0
-rw-r--r--html/about_de.html (renamed from views/about_de.html)0
-rw-r--r--html/alert.html (renamed from views/alert.html)0
-rw-r--r--html/footer.html (renamed from views/footer.html)0
-rw-r--r--html/header.html (renamed from views/header.html)0
-rw-r--r--html/howto.html (renamed from views/howto.html)0
-rw-r--r--html/howto_de.html (renamed from views/howto_de.html)0
-rw-r--r--html/index.html (renamed from views/index.html)0
-rw-r--r--html/index_de.html (renamed from views/index_de.html)0
-rw-r--r--html/navbar.html (renamed from views/navbar.html)2
-rw-r--r--html/navbar_de.html (renamed from views/navbar_de.html)4
-rw-r--r--html/password.html (renamed from views/password.html)0
-rw-r--r--html/password_de.html (renamed from views/password_de.html)0
-rw-r--r--html/privacy.html (renamed from views/privacy.html)2
-rw-r--r--html/privacy_de.html (renamed from views/privacy_de.html)4
-rw-r--r--html/register.html (renamed from views/register.html)0
-rw-r--r--html/register_de.html (renamed from views/register_de.html)0
-rw-r--r--html/server.html (renamed from views/server.html)0
-rw-r--r--html/server_de.html (renamed from views/server_de.html)0
-rw-r--r--html/tos.html (renamed from views/tos.html)2
-rw-r--r--html/tos_de.html (renamed from views/tos_de.html)4
-rw-r--r--html/user.html (renamed from views/user.html)0
-rw-r--r--html/user_de.html (renamed from views/user_de.html)0
-rw-r--r--main.go3
-rw-r--r--statistics/mailgraph.cgi3
-rw-r--r--views/email/index.html0
28 files changed, 37 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index 95cb3b5..6f76677 100644
--- a/Makefile
+++ b/Makefile
@@ -95,7 +95,7 @@ pack: gen_config
if [ ! -d $(FREEMAIL_DB_DIR) ]; then \
mkdir $(FREEMAIL_DB_DIR); \
fi
- tar czf $(APP).tar.gz start.sh $(APP) _env.sh views static $(FREEMAIL_DB_DIR) statistics 2>/dev/null && \
+ tar czf $(APP).tar.gz start.sh $(APP) _env.sh html static $(FREEMAIL_DB_DIR) statistics 2>/dev/null && \
rm start.sh 2>/dev/null && \
echo "\n/$(APP).tar.gz is ready." || \
(echo "Run \"make build\" first." && exit 1)
diff --git a/domain.go b/domain.go
index 252cab4..e18b379 100644
--- a/domain.go
+++ b/domain.go
@@ -32,6 +32,7 @@ func (vD VirtualDomain) CreateDomain() bool {
return true
}
+// TODO: Needs better handling with multiple IPs.
func (vD VirtualDomain) ValidateDomain(ref string) bool {
log.Println("Info: Validating " + vD.Name)
if vD.Name == "" {
@@ -52,36 +53,51 @@ func (vD VirtualDomain) ValidateDomain(ref string) bool {
}
return reflect.DeepEqual(serverIP, addr)
}
+
func (vD VirtualDomain) ValidateDomainMX(ref string) bool {
log.Println("Info: Validating MX " + vD.Name)
+ var isValid bool = false // Has the domain an MX entry pointing to this server?
+
if vD.Name == "" {
log.Println("Info: Empty domain.")
return false
}
+
+ // All the MX entries for the desired domain.
mx, err := net.LookupMX(vD.Name)
if err != nil {
log.Println("Info: Lookup error " + vD.Name + " " + err.Error())
return false
}
- match := false
- serverIP, err := net.LookupIP(ref)
+ // Our IPs.
+ serverIPs, err := net.LookupIP(ref)
if err != nil {
log.Println("Info: Lookup error for server " + ref + " " + err.Error())
return false
}
+
+ // We loop over MX entries, each one has a host field.
for _, v := range mx {
- mxIP, err := net.LookupIP(v.Host)
+ // Each host field may have multiple IPs.
+ mxIPs, err := net.LookupIP(v.Host)
if err != nil {
log.Println("Info: ", err)
}
- if reflect.DeepEqual(serverIP, mxIP) {
- match = true
+ // Our server has probably more than one IP as well...
+ for _, serverIP := range serverIPs {
+ // ... thus we need to compare all of them.
+ for _, mxIP := range mxIPs {
+ if string(serverIP) == string(mxIP) {
+ isValid = true
+ }
+ }
}
}
- return match
+ return isValid
}
+// Returns the last fragment from a string splitted by '@'.
func GetDomain(email string) string {
fragments := strings.Split(email, "@")
return fragments[len(fragments)-1]
diff --git a/views/about.html b/html/about.html
index 364bc28..364bc28 100644
--- a/views/about.html
+++ b/html/about.html
diff --git a/views/about_de.html b/html/about_de.html
index 7cee528..7cee528 100644
--- a/views/about_de.html
+++ b/html/about_de.html
diff --git a/views/alert.html b/html/alert.html
index aa4dd1a..aa4dd1a 100644
--- a/views/alert.html
+++ b/html/alert.html
diff --git a/views/footer.html b/html/footer.html
index 6581cac..6581cac 100644
--- a/views/footer.html
+++ b/html/footer.html
diff --git a/views/header.html b/html/header.html
index 8269f3d..8269f3d 100644
--- a/views/header.html
+++ b/html/header.html
diff --git a/views/howto.html b/html/howto.html
index 72a4e3f..72a4e3f 100644
--- a/views/howto.html
+++ b/html/howto.html
diff --git a/views/howto_de.html b/html/howto_de.html
index 76ce646..76ce646 100644
--- a/views/howto_de.html
+++ b/html/howto_de.html
diff --git a/views/index.html b/html/index.html
index 4e5b2ee..4e5b2ee 100644
--- a/views/index.html
+++ b/html/index.html
diff --git a/views/index_de.html b/html/index_de.html
index f563b9e..f563b9e 100644
--- a/views/index_de.html
+++ b/html/index_de.html
diff --git a/views/navbar.html b/html/navbar.html
index d90b6d6..77cec0f 100644
--- a/views/navbar.html
+++ b/html/navbar.html
@@ -15,7 +15,7 @@
<a class="" href="https://iamfabulous.de/webmail" title="Login to Webmail"><span class="glyphicon glyphicon-envelope"></span> Read Your Mail</a>
</li>
<li><a class="" href="/register" title="Sign Up"><span class="fa fa-user-plus"></span> Create New Account</a></li>
- <li><a class="" href="/password" title="Change Password"><span class="fa fa-lock"></span> Change Password</a></li>
+ <li><a class="" href="/password" title="Change Password"><span class="fa fa-edit"></span> Change Password</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
diff --git a/views/navbar_de.html b/html/navbar_de.html
index 186758f..a4d38d1 100644
--- a/views/navbar_de.html
+++ b/html/navbar_de.html
@@ -14,8 +14,8 @@
<li>
<a class="" href="https://iamfabulous.de/webmail" title="Webmail"><span class="glyphicon glyphicon-envelope"></span> Login & E-Mail lesen</a>
</li>
- <li><a class="" href="/register" title="Sign Up"><span class="fa fa-user-plus"></span> Neue E-Mail</a></li>
- <li><a class="" href="/password" title="Change Password"><span class="fa fa-lock"></span> Passwort ändern</a></li>
+ <li><a class="" href="/register" title="Sign Up"><span class="fa fa-user-plus"></span> Neue E-Mail Adresse</a></li>
+ <li><a class="" href="/password" title="Change Password"><span class="fa fa-edit"></span> Passwort ändern</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
diff --git a/views/password.html b/html/password.html
index c5f6741..c5f6741 100644
--- a/views/password.html
+++ b/html/password.html
diff --git a/views/password_de.html b/html/password_de.html
index 11ad57b..11ad57b 100644
--- a/views/password_de.html
+++ b/html/password_de.html
diff --git a/views/privacy.html b/html/privacy.html
index 538aa52..03a2f2d 100644
--- a/views/privacy.html
+++ b/html/privacy.html
@@ -35,6 +35,8 @@
<p>
The server software may store logs about usage, this includes e.g. the time of login. We are using those logs to debug the application and prevent spamming.
</p>
+ <br>
+ <p>Please note we may change the privacy policy any moment without prior notice.</p>
</div>
</div>
</div>
diff --git a/views/privacy_de.html b/html/privacy_de.html
index b6624b7..cc4a0ec 100644
--- a/views/privacy_de.html
+++ b/html/privacy_de.html
@@ -25,7 +25,7 @@
<br>
<h2 id="website">Website</h2>
<p>
- So wie bei andere Webseiten werden Zugriffe automatisch vom Webserver geloggt. Das schließt u.a. die Besucher IP Adresse ein, der Browser, der Referer sowie die Zeit des Besuchs.
+ So wie bei andere Webseiten werden Zugriffe automatisch vom Webserver geloggt. Das schließt u.a. die IP Adresse des Besuchers ein, der Browser, der Referer sowie die Zeit des Besuchs.
<br>
Cookies werden benutzt um Besucher beim Besuch und Interaktion mit der Website wiederzuerkennen, sowie werden Statistiken über Nutzung der Website erhoben.
@@ -35,6 +35,8 @@
<p>
Die Server Software speichert automatisch Daten über die Benutzung des Services, das schließt u.a. den Zeitpunkt des Logins ein. Wir nutzen diese Logs um Fehler in der Anwendung zu finden, sowie um Spam und Ausnutzung zu erkennen und zu verhindern.
</p>
+ <br>
+ <p>Bitte beachten Sie, dass die Datenschutzerklärung jederzeit ohne vorherige Ankündigung geändert werden kann.</p>
</div>
</div>
</div>
diff --git a/views/register.html b/html/register.html
index 2bd62b0..2bd62b0 100644
--- a/views/register.html
+++ b/html/register.html
diff --git a/views/register_de.html b/html/register_de.html
index 17d9550..17d9550 100644
--- a/views/register_de.html
+++ b/html/register_de.html
diff --git a/views/server.html b/html/server.html
index ef2929c..ef2929c 100644
--- a/views/server.html
+++ b/html/server.html
diff --git a/views/server_de.html b/html/server_de.html
index eeb26b9..eeb26b9 100644
--- a/views/server_de.html
+++ b/html/server_de.html
diff --git a/views/tos.html b/html/tos.html
index 28fe737..16ca231 100644
--- a/views/tos.html
+++ b/html/tos.html
@@ -31,6 +31,8 @@
<p>
THERE IS ABSOLUT NO WARRANTY IN ANY WAY, BE IT UPTIME, BACKUP OR ABUSE. THE USER IS RESPONSIBLE FOR HIS OWN DOING.
</p>
+ <br>
+ <p>Please note we may change the terms of use any moment without prior notice.</p>
</div>
</div>
</div>
diff --git a/views/tos_de.html b/html/tos_de.html
index 39fd460..8de8894 100644
--- a/views/tos_de.html
+++ b/html/tos_de.html
@@ -16,7 +16,7 @@
<li>kein Missbrauch</li>
<li>kein Senden von gefälschten Beschwerdebriefen</li>
</ul>
- Wir befolgen alle Gesetze bezüglich der Veröffentlich von Inhalten im Internet und werden alle illegalen Aktivitäten an die entsprechenden Behörden melden.
+ Wir befolgen alle Gesetze bezüglich der Veröffentlichung von Inhalten im Internet und werden alle illegalen Aktivitäten an die entsprechenden Behörden melden.
</p>
<br>
<h2 id="delivery_problems">Zustellungsprobleme</h2>
@@ -30,6 +30,8 @@
<p>
ES WIRD KEINERLEI GARANTIE IN IRGENDEINER ART UND WEISE GEWÄHRLEISTET, SEI ES ERREICHBARKEIT, BACKUPS ODER MISSBRAUCH. JEDER NUTZER IST FÜR SEIN EIGENES VERHALTEN VERANTWORTLICH.
</p>
+ <br>
+ <p>Bitte beachten Sie, dass die Nutzungsbedingungen jederzeit ohne vorherige Ankündigung geändert werden können.</p>
</div>
</div>
</div>
diff --git a/views/user.html b/html/user.html
index 58798ce..58798ce 100644
--- a/views/user.html
+++ b/html/user.html
diff --git a/views/user_de.html b/html/user_de.html
index a1e67d8..a1e67d8 100644
--- a/views/user_de.html
+++ b/html/user_de.html
diff --git a/main.go b/main.go
index 208c9bc..7659cd5 100644
--- a/main.go
+++ b/main.go
@@ -14,8 +14,7 @@ var decoder = schema.NewDecoder()
var store = sessions.NewCookieStore([]byte(os.Getenv("FREEMAIL_SECRET")))
-var mainTempl = template.Must(template.New("global").Funcs(template.FuncMap{"add": add}).ParseGlob("./views/*.html"))
-var emailTempl = template.Must(template.New("email").Funcs(template.FuncMap{"add": add}).ParseGlob("./views/email/*.html"))
+var mainTempl = template.Must(template.New("global").Funcs(template.FuncMap{"add": add}).ParseGlob("./html/*.html"))
func add(x, y int) int {
return x + y
diff --git a/statistics/mailgraph.cgi b/statistics/mailgraph.cgi
index f911769..3deb69a 100644
--- a/statistics/mailgraph.cgi
+++ b/statistics/mailgraph.cgi
@@ -252,9 +252,6 @@ a:hover { text-decoration: underline; }
<li><a class="" href="/password" title="Change Password"><span class="fa fa-lock"></span> Change Password</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
- <li>
- <a class="" href="/locale?to=de" title="Change to German"><span class="fa fa-language"></span> de</a>
- </li>
<li class="dropdown">
<a class="" href="/register" title="More" data-target="#" data-toggle="dropdown"><span class="fa fa-plus"></span> More <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
diff --git a/views/email/index.html b/views/email/index.html
deleted file mode 100644
index e69de29..0000000
--- a/views/email/index.html
+++ /dev/null