diff options
| author | Horus3 | 2015-06-02 05:38:12 +0200 |
|---|---|---|
| committer | Horus3 | 2015-06-02 05:38:12 +0200 |
| commit | f8a4da578bc8f58924ef060b60c472ade8390d55 (patch) | |
| tree | d9b1b35966149ad69f0d638a7c158ea3aff1883e | |
| parent | 0a00051d30184c94a666638f66f1d145df855995 (diff) | |
| download | freemail-f8a4da578bc8f58924ef060b60c472ade8390d55.tar.gz | |
Bug fix and better wording.
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | domain.go | 28 | ||||
| -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.go | 3 | ||||
| -rw-r--r-- | statistics/mailgraph.cgi | 3 | ||||
| -rw-r--r-- | views/email/index.html | 0 |
28 files changed, 37 insertions, 17 deletions
@@ -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) @@ -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 @@ -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 |
