1
0
mirror of https://github.com/Mailu/Mailu.git synced 2024-12-14 10:53:30 +02:00
Commit Graph

832 Commits

Author SHA1 Message Date
bors[bot]
b668eccc17
Merge #1181
1181: Update to address issue #1178 (HTTP headers) r=muhlemmer a=bladeswords

This change should remove the duplicate `x-xss-protection` header and also the `x-powered-by` header.  Hopefully a pull request to main is appropriate, but may be worth back porting to 1.7.

Tested config by modifying live 1.7 nginx config and reloading.  Has had the desired outcome of removing the headers.

```/etc/nginx # nginx -t -c /etc/nginx/nginx.conf 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
/etc/nginx # nginx -s reload
```

These steps were based on:
- https://serverfault.com/questions/928912/how-do-i-remove-a-server-added-header-from-proxied-location
- https://serverfault.com/questions/929571/overwrite-http-headers-comming-back-from-a-web-application-server-proxied-in-ngi
- http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header

## What type of PR?

Enhancement

## What does this PR do?
Removes duplicate and unneeded headers.  See issue #1178 

### Related issue(s)
- issue: #1178 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ X ] In case of feature or enhancement: documentation updated accordingly
- [ X ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: bladeswords <bladeswords@users.noreply.github.com>
2019-10-13 18:32:51 +00:00
Michael Wyraz
a907fe4cac Split HOST_ANTISPAM in HOST_ANTISPAM_MILTER and HOST_ANTISPAM_WEBUI 2019-10-13 20:13:02 +02:00
bors[bot]
9c956a04ca
Merge #1183
1183: Fix rspamd-learn when moving mail from/to junk folder r=mergify[bot] a=Nebukadneza

Before, the ham/spam scripts got the rspamd-ip/port from the environment.
However, when checking the environment of these processes now, it seems
cleared. Maybe the new dovecot version now clears environment? — I couldn’t
find a hint.

In any case, using the common mechanism of injecting the ip/port from where
it’s definately known by the already-used jinja2-mechanism seems reasonably
safe.

## What type of PR?
bug-fix

## What does this PR do?
Instead of relying on dovecot passing our environment cleanly to sieve-called scripts, this explicitly injects the antispam ip/port into the spam/ham scripts used when moving files from/to the spam-folder. This required some management of the files, such as setting proper permissions after the jinja-run.

### Related issue(s)
fixes #1177 

## Prerequistes
- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <dario@kanojo.de>
Co-authored-by: Dario Ernst <dario.ernst@rommelag.com>
2019-10-13 16:19:24 +00:00
dependabot[bot]
ed204766b2
Bump werkzeug from 0.15.2 to 0.15.3 in /core/admin
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 0.15.2 to 0.15.3.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/master/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/0.15.2...0.15.3)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-13 14:32:40 +00:00
U-COREI3-3120M\市川ゆり子
26955df7ae remove POT-Creation-Date, PO-Revision-Date 2019-10-12 19:20:55 +09:00
Michael Wyraz
8ece8409f1 Remove unused volume /data from postfix. Add volume /queue to postfix 2019-10-11 08:46:23 +02:00
U-COREI3-3120M\市川ゆり子
efd628c338 add Japanese translation 2019-10-11 05:34:33 +09:00
Michael Wyraz
c20976f071 Allow smtp auth login for TLS port (similar to SSL port) 2019-10-10 10:20:14 +02:00
Dario Ernst
de29012d0b Remove unused stat import 2019-10-10 09:51:52 +02:00
bors[bot]
950a88bf0e
Merge #1196
1196: Change default password scheme to PBKDF2 (#1194) r=mergify[bot] a=hoellen

## What type of PR?
enhancement

## What does this PR do?
This PR change the default password scheme to PBKDF2. It is already changed in some places (e.g. [docs/compose/.env](https://github.com/Mailu/Mailu/blob/master/docs/compose/.env#L142)).

### Related issue(s)
closes #1194 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: hoellen <dev@hoellen.eu>
2019-10-08 06:06:25 +00:00
Michael Wyraz
d689a8eeb3 Enable access log of admin service only for log levels of INFO and finer 2019-10-08 07:29:33 +02:00
bors[bot]
45126624c2
Merge #1180
1180: Add a title to Mailu-Admin pages r=mergify[bot] a=Niduroki

## What type of PR?

Enhancement

## What does this PR do?

This simply adds a title to be displayed in the browser tab for Mailu-Admin pages.

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.

Considering this is only a one-line change I don't think these apply.

-----

I made the title `Mailu-Admin - SITENAME` – if this seems unfitting feel free to change it to something different.

Co-authored-by: Niduroki <chris@niduroki.net>
2019-10-07 20:54:44 +00:00
hoellen
d3dd4802f4 Change default password scheme to PBKDF2 (#1194) 2019-10-07 22:29:03 +02:00
bors[bot]
20e00ac0c4
Merge #1158
1158: Use nginx for kubernetes ingress r=kaiyou a=micw

## What type of PR?

enhancement

## What does this PR do?

Currently, kubernetes uses a complex ingress setting which is not portable across different ingress controllers. This PR simplifies the ingress and delegates everythins special to Mailu to the front container,

### Related issue(s)
- closes #1121
- closes #1117
- closes #1021
- closes #1045

## Prerequistes

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog]

Co-authored-by: Michael Wyraz <michael@wyraz.de>
2019-10-07 19:36:45 +00:00
Dario Ernst
dc8a798ca1 Use correct octal notation for python3 2019-10-03 08:32:56 +00:00
Dario Ernst
18bc2fe78b Use more readable forms of makedirs and chmod 2019-10-03 08:31:00 +00:00
Dario Ernst
88bfb0d17f Fix rspamd-learn when moving mail from/to junk folder
Before, the ham/spam scripts got the rspamd-ip/port from the environment.
However, when checking the environment of these processes now, it seems
cleared. Maybe the new dovecot version now clears environment? — I couldn’t
find a hint.

In any case, using the common mechanism of injecting the ip/port from where
it’s definately known by the already-used jinja2-mechanism seems reasonably
safe.
2019-09-27 19:53:09 +00:00
bladeswords
b13d143b34
Update to address issue #1178 (HTTP headers)
This change should remove the duplicate `x-xss-protection` header and also the `x-powered-by` header.  Hopefully a pull request to main is appropriate, but may be worth back porting to 1.7.

Tested config by modifying live 1.7 nginx config and reloading.  Has had the desired outcome of removing the headers.

```/etc/nginx # nginx -t -c /etc/nginx/nginx.conf 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
/etc/nginx # nginx -s reload
```

These steps were based on:
- https://serverfault.com/questions/928912/how-do-i-remove-a-server-added-header-from-proxied-location
- https://serverfault.com/questions/929571/overwrite-http-headers-comming-back-from-a-web-application-server-proxied-in-ngi
- http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header
2019-09-26 19:43:29 +10:00
Niduroki
b58f06c03e Add a title to Mailu-Admin pages 2019-09-25 19:29:26 +02:00
bors[bot]
e46153c0b1
Merge #1114
1114: Resolve HOST to ADDRESS only if ADDRESS is not already set r=mergify[bot] a=micw

## What type of PR?

bug-fix

## What does this PR do?

~Makes the rsolving from hosts to ips at startup configurable~

I rewrote the pull request after #940 was merged. Now it resolves HOSTs to ADDRESSes only of ADDRESSes are not already set. So on kubernetes we can jsut set the address and have working service discovery.

### Related issue(s)
- closes #1113

## Prerequistes

~Minor change, backward compatible~
Changelog will be added

Co-authored-by: Michael Wyraz <michael@wyraz.de>
2019-09-17 18:30:27 +00:00
Thomas Sänger
5fa87fbdf7
front: advertise real capabilites of mail-backends 2019-09-04 17:37:28 +02:00
Michael Wyraz
92645bcd4a Use nginx for kubernetes ingress 2019-09-03 10:27:10 +02:00
Michael Wyraz
de2f166bd1 Resolve HOST_* to *_ADDRESS only if *_ADDRESS is not already set 2019-08-31 18:18:58 +02:00
Aurélien Bondis
34079244a6 fix ARG positions 2019-08-30 10:24:08 -04:00
Aurélien Bondis
e1a4bf32a6 only insert qemu binary if building for arm 2019-08-23 15:24:21 -04:00
bors[bot]
1a597fbe6a
Merge #1130 #1132
1130: Remove unnecessary host variable assignments r=mergify[bot] a=kaiyou

## What type of PR?

Bug fix

## What does this PR do?

### Related issue(s)
- Closes #1126

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


1132: Release Mailu 1.7 r=mergify[bot] a=kaiyou

## What type of PR?

Release

## What does this PR do?

It provides the changelog and migration notes for release 1.7.

### Related issue(s)

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: kaiyou <pierre@jaury.eu>
2019-08-23 06:46:52 +00:00
kaiyou
d50504fa2b Only set the redis address once, fixes #1125 2019-08-23 00:29:00 +02:00
kaiyou
4afbc09d6e Remove unnecessary host variable assignments 2019-08-22 22:44:49 +02:00
Tim Möhlmann
05ea4474e7
make ANTIVIRUS_ADDRESS consistent with #940 2019-08-22 13:08:43 +03:00
Igor Rzegocki
6f973a2e4b
Fixed hardcoded antispam and antivirus host addresses
Fixes #978
2019-08-22 11:41:18 +03:00
bors[bot]
3e626b8500
Merge #940
940: Fix host variables r=mergify[bot] a=ionutfilip

## What type of PR?
bug-fix

## What does this PR do?

### Related issue(s)
- Fix #884

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
2019-08-21 21:25:36 +00:00
bors[bot]
2785bca1f4
Merge #883
883: Admin create user enhancement r=mergify[bot] a=cr1st1p

## What type of PR?
Enhancement

## What does this PR do?
It allows the admin docker image to also create the admin user.
The idea is that in my kubernetes setup, I do not want to manually do anything, as such, I need a way for the admin user to also be created automatically without me getting inside the pod.
So I had to change the manage.py function that creates the user to allow different 'modes' (me, I'll be using 'ifmissing') and also start.py to call that functionality if appropriate environment variables are present.

So now, in my Deployment, I add 3 more environment variables and I get the admin user created, IF not already present.

### Related issue(s)
none?

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: cristi <cristi.posoiu@gmail.com>
Co-authored-by: cr1st1p <cristi.posoiu@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
2019-08-21 20:58:25 +00:00
Tim Möhlmann
ed0fb77a01
Catch empty WEBMAIL and WEBDAV address 2019-08-21 22:54:42 +03:00
Tim Möhlmann
348ea1a572
Remove obsolete log call 2019-08-21 21:33:49 +03:00
Ionut Filip
075417bf90 Merged master and fixed conflicts 2019-08-21 20:35:24 +03:00
Aurélien Bondis
124b1d4c71 rebase and update for 3.10, avoid adding qemu file to x86 images 2019-08-21 12:24:30 -04:00
Tim Möhlmann
7d964874e8
Cleanup spaces around '=' 2019-08-21 16:35:41 +03:00
Tim Möhlmann
52971ed42e
Use os.environment.get() 2019-08-21 16:34:25 +03:00
Mildred Ki'Lya
95dce5575b Parameterize redis address 2019-08-15 11:28:17 +02:00
bors[bot]
47a40d17b7 Merge #1088
1088: Support domain literals (fix #1087) r=mergify[bot] a=hoellen

## What type of PR?
bug-fix

## What does this PR do?
This PR adds error handling for idna enocding. With telnet you now get a "Bad sender address syntax"  message.

```
> telnet mail.example.com 25

Connected to example.com.
Escape character is '^]'.
220 mail.example.com ESMTP ready
EHLO dummy.example.com
250-mail.example.com
250 STARTTLS
MAIL FROM: does-not-exist@[116.203.165.200]
250 2.0.0 OK
RCPT TO: some-user@example.com
501 5.1.7 Bad sender address syntax
Connection closed by foreign host.
```


### Related issue(s)
fix #1087

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: hoellen <dev@hoellen.eu>
2019-08-15 08:29:11 +00:00
hoellen
b720bedf72 Support domain literals for receiving emails 2019-08-15 00:20:55 +02:00
hoellen
bed2c6ea09 Revert "Error handling for idna encoding"
This reverts commit 10034526a1.
2019-08-14 01:02:07 +02:00
hoellen
10034526a1 Error handling for idna encoding 2019-07-28 08:32:02 +02:00
hoellen
9de5dc2592 Use python package socrate instead of Mailustart 2019-07-25 10:33:57 +02:00
bors[bot]
2788909a13 Merge #1052
1052: Upgrade alpine to 3.10 r=mergify[bot] a=Nebukadneza

## What type of PR?
enhancement / bug-fix

## What does this PR do?
Upgrade the alpine base image to 3.10 and clean up ensuing problems. Also directly uses postfix foreground-running with stdout logging.

### Related issue(s)
closes #1049
closes #1051

Note: This is a duplicate effort of #1050 #1039 …

## Prerequistes
- [X] In case of feature or enhancement: documentation updated accordingly
- [X] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.

With these images, I have tested manually:
- Email receive to user
  - on main domain
  - on additional domain
  - via an alias on main-domain
  - via an alias on additional domain
  - via catchall
- Email reject
  - of eicar testfiles
- Email sending
- Fetchmail from legacy POP
- Front LE certificates
- Simple overriding for postfix (only postfix.cf), nginx, dovecot, rspamd
- Creating a CalDAV calendar and CardDAV entry using davx5

I have not (yet) tested:
- certdumper
- databases other than sqlite

Todo:
- [x] Get rid of podop at `git+https://github.com/Nebukadneza/Podop.git@fix_py37` once https://github.com/Mailu/Podop/pull/6 is merged
- [x] Bend Mailustart back to original repository
- [x] Test more (? also help wanted ?)

Co-authored-by: Thomas Sänger <thomas@gecko.space>
Co-authored-by: Dario Ernst <dario@kanojo.de>
Co-authored-by: Reto Glauser <git@blinkeye.ch>
2019-07-23 13:34:33 +00:00
kaiyou
23871d9180 Translated using Weblate (Russian)
Currently translated at 100.0% (163 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/ru/
2019-07-22 06:23:32 +00:00
kaiyou
0281b5a595 Translated using Weblate (Italian)
Currently translated at 71.8% (117 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/it/
2019-07-22 06:23:32 +00:00
kaiyou
45789d3f22 Translated using Weblate (Hungarian)
Currently translated at 100.0% (163 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/hu/
2019-07-22 06:23:32 +00:00
Bambie07
e70d1e1455
fix dns dkim entry 2019-07-17 11:41:03 +02:00
Dario Ernst
1dbda71401 Adapt shared layer conf to now really-missing mailustart in admin (after merging webpack) 2019-07-14 13:12:59 +00:00
Dario Ernst
a8c3530bfa Remove accidentally reintroduced rsyslogd config 2019-07-14 13:12:28 +00:00
Dario Ernst
8c2e22f666 Merge branch 'master' into HorayNarea-feat-upgrade-alpine 2019-07-14 13:10:30 +00:00
bors[bot]
f77e1bdd0e Merge #1048
1048: Refactor admin using webpack r=mergify[bot] a=kaiyou

## What type of PR?

Refactoring

## What does this PR do?

This PR brings some refactoring to the admin container :
- remove the dependency to mailustart and replace it with socrate
- remove static assets from the repo and use Webpack for building them


Co-authored-by: hoellen <dev@hoellen.eu>
Co-authored-by: kaiyou <pierre@jaury.eu>
2019-07-14 12:21:49 +00:00
Dario Ernst
0f146cd811 Require python3.7-compatible podop
Which is still unreleased, but serves as a placeholder here.
2019-07-14 10:28:56 +00:00
Dario Ernst
0306be1eed Re-add missing MailuStar in admin
It turns out we were all blind and admin *does* use MailuStart
2019-07-14 10:27:57 +00:00
Dario Ernst
ce0c24e076 Merge branch 'master' into HorayNarea-feat-upgrade-alpine 2019-07-14 09:40:58 +00:00
Dario Ernst
53f754f5ac Remove MailuStart from admin and correct layer-sharing comments 2019-07-14 09:33:54 +00:00
Dario Ernst
93b54dcffe Install podop from pypi 2019-07-14 09:24:59 +00:00
Thomas Sänger
2c7d1d2f71
use HTTP/1.1 for proxyied connections 2019-07-11 22:38:34 +02:00
hoellen
31464c5c44 Change image back to alpine 2019-07-09 11:21:44 +02:00
hoellen
b351841418 Expose jQuery for use outside Webpack build 2019-07-08 18:19:09 +02:00
hoellen
90f678de52 add app.css and fix align of menu button 2019-07-08 16:53:25 +02:00
hoellen
616d40d225 Update password in commandline 2019-07-08 10:50:08 +02:00
Dario Ernst
bb2edb6eb6 Revert "Move alpine version definition out to variable"
This reverts commit c787e4bdbd.
2019-06-30 11:39:48 +00:00
hoellen
81a8acf9ec fix resolve issue 2019-06-30 13:18:55 +02:00
Dario Ernst
c787e4bdbd Move alpine version definition out to variable 2019-06-26 21:14:59 +00:00
Daniel Huber
ae290482c0
Format relay credentials file with jinja 2019-06-26 20:22:02 +02:00
Daniel Huber
515e95076a
Merge branch 'master' into feat-relay-auth 2019-06-26 19:52:54 +02:00
Dario Ernst
ea851e77d4 Remove reference to rsyslogd 2019-06-25 20:15:11 +00:00
Dario Ernst
3bfdff155c Use official Mailu/Podop 2019-06-25 19:54:05 +00:00
Dario Ernst
a253ca47fe Use official Mailu/MailuStart 2019-06-25 19:24:05 +00:00
Dario Ernst
d155b2c533 Start postfix directly with stdout logging 2019-06-25 19:24:05 +00:00
Dario Ernst
9c1675e9d8 Use TEMPORARY workaround-branch for podop python 3.7 compatability 2019-06-25 19:24:05 +00:00
Dario Ernst
f85b32914c Add newly missing plain SASL support in postfix 2019-06-25 19:24:05 +00:00
Dario Ernst
d1f80cca99 Update Dockerfiles to most recent alpine 3.10 2019-06-25 19:24:05 +00:00
Dario Ernst
96fbaecc2f Correct executables moved by alpine 2019-06-25 19:23:40 +00:00
Thomas Sänger
ef3c6c407a upgrade alpine base-image 2019-06-25 19:23:40 +00:00
kaiyou
baa5a8a4e0 Fix hostname resolution 2019-06-24 23:54:53 +02:00
kaiyou
c20a502695 Do not forcefully resolve optional hostnames 2019-06-24 20:54:50 +02:00
kaiyou
a3abf8c353 Add the assets source 2019-06-23 23:31:07 +02:00
kaiyou
4b620ba5d1 Merge branch 'hoellen-fix-sidebar-toggle' into refactor-admin-webpack 2019-06-23 14:28:02 +02:00
kaiyou
c147a371d7 Merge branch 'fix-sidebar-toggle' of https://github.com/hoellen/Mailu into hoellen-fix-sidebar-toggle 2019-06-23 14:24:56 +02:00
kaiyou
2d3560b396 Fix select2 using webpack-built assets 2019-06-23 14:19:06 +02:00
kaiyou
c2a04ab1d4 Update the build configuration to use webpack and compiled assets 2019-06-23 14:19:06 +02:00
kaiyou
ecdf0c25b3 Use webpack for building static assets 2019-06-23 14:19:06 +02:00
kaiyou
d7747639e9 Remove the dependency to mailustart, introducing socrate 2019-06-23 14:19:05 +02:00
cristi
f2a009795b Merge branch 'master' into admin_create_user_enhancement 2019-05-20 23:17:22 +03:00
bors[bot]
f1f5aef7d3 Merge #931
931: Resolve webmail in admin r=mergify[bot] a=ionutfilip

## What type of PR?
bug-fix

## What does this PR do?
Implement mailustart to resolve webmail in admin

### Related issue(s)
Fix #716 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
2019-05-09 06:46:09 +00:00
bors[bot]
2c90ac3334 Merge #962
962: Open some admin sidebar links in a new browser tab r=kaiyou a=mariooos

## What type of PR?

Enhancement

## What does this PR do?

Add target=_blank attribute to html <a href ...> tag in following admin sidebar links:
- Antispam
- Webmail
- Website
- Help


Co-authored-by: mariooos <48351788+mariooos@users.noreply.github.com>
2019-05-08 18:02:02 +00:00
bors[bot]
7021278bfb Merge #993
993: Make aliases case-insensitive (too) r=mergify[bot] a=Nebukadneza

Even though RFC5321 2.4 explains that local-parts are to be case-sensitive,
this does not seem to be how EMail is used today. Thus, instead of reverting
user-emails back to being case sensitive, let’s make aliases case-insensitive
too. Not only more consistent, this also allows users to enjoy receiving EMails
from large airlines or car-rental agencies onto their already existing aliases.

For the rare case of case sensitive aliases existing, let’s query for the
forced-lowercase alias only in the event that the preserved-case one isn’t
found …

closes #867

## What type of PR?
bug-fix

## What does this PR do?
Make aliases optionally case-insensitive: After attempting to resolve an alias in its preserved case, also attempt to match it case-insensitively.

This followed after some more thought from  #868 …

### Related issue(s)
closes #867

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <dario@kanojo.de>
2019-05-08 17:34:37 +00:00
bors[bot]
df14935819 Merge #945
945: Add extra newline to main.cf r=mergify[bot] a=flopes89

This should prevent jinja from stripping the newline, which causes overrides to be appended after the comment section


## What type of PR?

Bugfix

## What does this PR do?

Adds a new empty newline a the end of `conf/main.cf` so prevent jinja from stripping it, by which overrides done with `postconf -e` are not appended correctly.

### Related issue(s)

see #941

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

Co-authored-by: Florian Peschka <flopes89@users.noreply.github.com>
2019-05-08 13:11:41 +00:00
bors[bot]
d76ba5ee39 Merge #1005
1005: distinguish disabled users in user list view by row color r=kaiyou a=zhuangyy

## What type of PR?

enhancement

## What does this PR do?

distinguish disabled users in user list view by row color

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Zhuang Yuyao <jssyan@qq.com>
2019-05-08 11:48:37 +00:00
kaiyou
645c423d09 Update messages.po (POEditor.com) 2019-05-07 09:24:31 +02:00
kaiyou
08bdc715bb Update messages.po (POEditor.com) 2019-05-07 09:24:29 +02:00
kaiyou
a150315c1d Added translation using Weblate (Japanese) 2019-05-07 07:21:09 +00:00
Weblate
abece125f4 Merge branch 'origin/master' into Weblate 2019-05-07 07:21:08 +00:00
kaiyou
d99ad5fe3e Added translation using Weblate (Hungarian) 2019-05-07 07:21:06 +00:00
kaiyou
b91c7f64ee Update messages.po (POEditor.com) 2019-05-07 09:15:56 +02:00
kaiyou
d929413784 Update messages.po (POEditor.com) 2019-05-07 09:15:54 +02:00
kaiyou
91c8ca1279 Update messages.po (POEditor.com) 2019-05-07 09:15:50 +02:00
kaiyou
c0263a2ae9 Update messages.po (POEditor.com) 2019-05-07 09:15:47 +02:00
kaiyou
80c57b597b Update messages.po (POEditor.com) 2019-05-07 09:15:45 +02:00
kaiyou
0566b00664 Update messages.po (POEditor.com) 2019-05-07 09:15:42 +02:00
kaiyou
c939b30e6b Update messages.po (POEditor.com) 2019-05-07 09:15:40 +02:00
kaiyou
308521ff9a Update messages.po (POEditor.com) 2019-05-07 09:15:37 +02:00
kaiyou
0ca18035e1 Update messages.po (POEditor.com) 2019-05-07 09:15:35 +02:00
kaiyou
8bcb4deb7e Update messages.po (POEditor.com) 2019-05-07 09:15:32 +02:00
kaiyou
65a61ad5c8 Added translation using Weblate (Icelandic) 2019-05-07 06:39:48 +00:00
kaiyou
57385df15c Deleted translation using Weblate (Icelandic) 2019-05-07 06:38:36 +00:00
kaiyou
cfc224352a Added translation using Weblate (Icelandic) 2019-05-07 06:33:36 +00:00
Zhuang Yuyao
67d5c8fcb3 distinguish disabled user in user list view by row color 2019-05-06 11:00:22 +08:00
Dario Ernst
e22324adcd Make aliases case-insensitive (too)
Even though RFC5321 2.4 explains that local-parts are to be case-sensitive,
this does not seem to be how EMail is used today. Thus, instead of reverting
user-emails back to being case sensitive, let’s make aliases case-insensitive
too. Not only more consistent, this also allows users to enjoy receiving EMails
from large airlines or car-rental agencies onto their already existing aliases.

For the rare case of case sensitive aliases existing, let’s query for the
forced-lowercase alias only in the event that the preserved-case one isn’t
found …

closes #867
2019-04-14 12:02:12 +00:00
hoellen
167e5a87e1 add sidebar toggle button 2019-04-14 11:52:01 +02:00
hoellen
92ef73fa74 update AdminLTE to version 2.4 2019-04-14 11:30:55 +02:00
mariooos
253ae9fad8 Open some admin sidebar links (Antispam, Webmail, Website, Help) in a new browser tab 2019-03-08 14:11:58 +01:00
Ionut Filip
ac0fc41421
Merge branch 'master' into replace-gethostbyname 2019-03-08 14:47:21 +02:00
Ionut Filip
dd7710951e
Replaced double quotes with single ones 2019-03-08 14:45:22 +02:00
Daniel Huber
7dcb2eb006
Add authentication for email relays 2019-03-04 18:54:53 +01:00
Ionut Filip
8d34756023 Increase dovecot mail max userip 2019-02-21 17:15:56 +02:00
Florian Peschka
b9fd29a52f
Add extra newline to main.cf
This should prevent jinja from stripping the newline, which causes overrides to be appended after the comment section

see #941
2019-02-19 21:09:50 +01:00
Ionut Filip
0ce0b5ec02 Fix addresses in front 2019-02-18 15:41:22 +02:00
Ionut Filip
4c25c83419 HOST_* and *_ADDRESS variables cleanup 2019-02-18 14:46:48 +02:00
Ionut Filip
f9e3cd3c5d Use corret host_* variables 2019-02-15 16:49:56 +02:00
Ionut Filip
71d63c6e45 Fix redis resolve in imap 2019-02-15 16:20:55 +02:00
Ionut Filip
ef49357eb3 Update redis urls 2019-02-15 16:07:23 +02:00
Ionut Filip
43abbf4d63 Resolve redis and add logging 2019-02-15 15:37:55 +02:00
bors[bot]
211136f9b1 Merge #934
934: Pass optional arguments to domain model r=mergify[bot] a=ionutfilip

## What type of PR?
bug-fix

## What does this PR do?
Passing optional args to domain model when using cli.

### Related issue(s)
Fixes #933

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
2019-02-13 21:58:49 +00:00
bors[bot]
d129733fac Merge #919
919: Install bash in alpine based images. r=mergify[bot] a=firvida

This fixes #918

Bash shell is used by default in Kubernetes' dashboard console, which is very
useful for admins.

## What type of PR?

bug-fix

## What does this PR do?

### Related issue(s)
- closes #918 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Abel Alfonso Fírvida Donéstevez <abel@merchise.org>
2019-02-13 21:31:25 +00:00
hoellen
62511b723b
Merge branch 'master' into fix-doc-commands-1 2019-02-13 19:31:39 +01:00
Ionut Filip
4d2844c1f5 Fixed arguments passed to domain 2019-02-13 16:43:45 +02:00
Roman Hoellen
1dfef1609a add domain cli to docs 2019-02-13 10:53:40 +01:00
Ionut Filip
cebc64a280 Resolve HOST_WEBMAIL in admin 2019-02-13 11:48:32 +02:00
Roman Hoellen
bc617cf8ec replace _ with - in cli options 2019-02-13 10:30:08 +01:00
Tim Möhlmann
111dae351a
Fix typo in migration file
Fixes #905
2019-02-12 18:17:38 +02:00
Abel Alfonso Fírvida Donéstevez
39444c794e Install bash in alpine based images.
This fix https://github.com/Mailu/Mailu/issues/918

Bash shell is used by default in Kubernetes' dashboard console, which is very
useful for admins.
2019-02-06 15:01:02 -05:00
bors[bot]
86b4242f82 Merge #886
886: Ipv6 support r=mergify[bot] a=muhlemmer

## What type of PR?

(Feature, enhancement, bug-fix, documentation) -> A bit of everything

## What does this PR do?

Document how to use ipv6nat. This, however triggers some kind of flaky behavior with the Docker DNS resolver, resulting in lookup failures between containers.  So all resolving needs to be done during container startup/configuration.

In order not to pollute every single start.py file, we've created a small library called [Mailu/MailuStart](https://github.com/Mailu/MailuStart). As an addition, this library also defines the template generation function, including its logging facility.

Note: `docker-compose.yml` downgrade is necessary, as IPv6 settings are not supported by the Docker Compose file format 3 😞  

### Related issue(s)
Supersedes  PR #844
- Fixes #827 
- Hopefully helps with #829 and #834

## No backport yet

This PR directly imports MailuStart from git. This makes it a bit more simple to implement on the short term an do some testing and probably some future improvements. When everything is proved stable, we will create a proper PyPi package with versioning and consider back porting.

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
2019-02-06 12:56:40 +00:00
Tim Möhlmann
06457e9617
Merge branch 'master' into fix_fetches_create 2019-01-28 12:52:42 +02:00
cr1st1p
9b65a6c862
Merge branch 'master' into admin_create_user_enhancement 2019-01-25 23:36:06 +02:00
Ionut Filip
f8dffe5a19
Resolve hosts in admin 2019-01-25 17:26:45 +02:00
Ionut Filip
004a431e97
Change to mailustart functions 2019-01-25 17:26:45 +02:00
Dario Ernst
34b31727c4 Fix password validator for creating fetched accounts 2019-01-25 15:08:41 +01:00
cristi
a071181c61 Allow to automatically create admin account during startup. 2019-01-25 16:04:20 +02:00
hoellen
fba246e9a1 add wildcard option to cli (alias) 2019-01-24 21:32:22 +01:00
Ionut Filip
9684ebf33f Use mailustart package from git 2019-01-24 14:53:02 +02:00
hoellen
808092c65e
Merge pull request #834 from hoellen/token-ipv6
allow ipv6 addresses for tokens
2019-01-23 21:30:13 +01:00
Tim Möhlmann
e341e0141f
Merge remote-tracking branch 'upstream/master' into token-ipv6 2019-01-22 13:55:56 +02:00
Manuel Vázquez Acosta
dfe5ddb18e
Check if sender address is not null before trying to check the domain. 2019-01-22 05:50:20 -05:00
Tim Möhlmann
fd236e4ea5
Fix syntax error 2019-01-17 18:06:40 +02:00
Tim Möhlmann
7a9685bcb9
Resolve admin during start to work around Docker DNS flaky-ness 2019-01-17 16:40:44 +02:00
nathan-sain
23bad0e042
Set value for SQLALCHEMY_DATABASE_URI in admin DEFAULT_CONFIG to SQLite URI 2019-01-17 07:58:47 -06:00
nathan-sain
db8977e17a
Update SQLite DB file in DEFAULT_CONFIG and DB_TEMPLATES 2019-01-17 00:32:12 -06:00
hoellen
6dea8b422a
Merge pull request #839 from hoellen/fix-create-onupdate-default
fix default value for created_at and updated_at
2019-01-16 12:11:13 +01:00
hoellen
79c4edcaf1
Merge pull request #838 from hoellen/schema-maxUserQuota-1
Change quota columns type to BigInteger
2019-01-16 12:07:50 +01:00
hoellen
54169db7e3
Merge branch 'master' into fix-forward-validation 2019-01-15 18:55:08 +01:00
hoellen
9721df0bc5 fix default value for created_at and updated_at
Use date instead of datetime for created_at and updated_at.
2019-01-15 16:41:58 +01:00
hoellen
cfa7ca3838 Merge branch 'master' into schema-maxUserQuota-1 2019-01-15 16:22:54 +01:00
hoellen
f1e1c96c3b create migration file for changing quota to big integer 2019-01-15 15:32:00 +01:00
Ionut Filip
2d34f0ee52 Fixed auto-forward email validation 2019-01-15 14:03:09 +02:00
hoellen
c8758a6526 allow ipv6 addresses for tokens 2019-01-13 16:45:41 +01:00
hoellen
2af540a1c9 change quota columns to bigint 2019-01-13 16:40:28 +01:00
Dario Ernst
66df7a31b0 Unify and coerce booleans from env used in admin
At some places, the string that DOMAIN_REGISTRATION is got used like a boolean
(an easy misassumption to make while in python and dealing with the config
dict), making `DOMAIN_REGISTRATION=False` act as a truthy value. To stop such
future problems from happening, coerce environment config strings to real
bools.

closes #830
2019-01-13 10:22:32 +01:00
mergify[bot]
9175b15d49
Merge pull request #826 from Nebukadneza/reverse_user_alias_pref
Reverse the resolution order of user and alias
2019-01-11 16:28:35 +00:00
mergify[bot]
278bcfb13a
Merge pull request #814 from Nebukadneza/fix_delimiter_alias
Deliver mails to alias-stripped-of-delimeter, even if catchall exists
2019-01-11 14:06:35 +00:00
Dario Ernst
276dc3ffda Reverse the resolution order of user and alias
Since it’s common for wildcard~ish systems to prefer concrete objects over
wildcards, and aliases can be broad-wildcards (think catchall, %@xxx.tld), it
may be more intuitive for users that user-names rank higher than aliases. This
makes it impossible for user-names to be unreachable, since they can be
completely overridden by a catchall otherwise.

This changes default behavior, and is not configurable.

closes #815
2019-01-11 11:51:56 +01:00
Tim Möhlmann
8541ae2c46
Fix migration order after merge 2019-01-11 12:49:07 +02:00
mergify[bot]
99cd1d714b
Merge pull request #799 from hoellen/fix-domain-negative-values-1
don't allow negative values on domain creation/edit
2019-01-11 09:57:15 +00:00
Tim Möhlmann
2567646f47
Merge branch 'master' into fix-domain-negative-values-1 2019-01-11 11:32:30 +02:00
Ionut Filip
50343f354e Merge remote-tracking branch 'upstream/master' into feat-psql-support 2019-01-11 11:21:22 +02:00
Dario Ernst
b8d1beed29 Simplify alias-wildcard detection to not consider actual % anymore 2019-01-10 23:06:56 +01:00
Dario Ernst
10d2601963 Unsimplify alias precedence handling
As discussed with hoellen on matrix, since postfix indeed supports including
the recipient delimiter character in a verbatim alias, we should support so too
— and handle its precedence correctly. The clearer and simpler formulation of
the precedence-clauses are credit to @hoellen. Thanks!
2019-01-10 17:30:11 +01:00
mergify[bot]
b4822ad43e
Merge pull request #821 from HorayNarea/fix-remove-fts
remove (broken) FTS
2019-01-10 11:38:37 +00:00
mergify[bot]
161394a774
Merge pull request #817 from hoellen/fix-fetch-passwordfield-1
fix edit of fetched acc without changing password
2019-01-10 11:10:46 +00:00
Thomas Sänger
492f3867d8
remove (broken) FTS 2019-01-10 12:09:08 +01:00
Dario Ernst
ac64a75743 Simplify alias precedence handling; Remove bogus changelog 2019-01-10 10:28:57 +01:00
mergify[bot]
520ebbb97d
Merge pull request #819 from hoellen/move-spam-1
Mark messages as seen when reporting them as spam
2019-01-10 02:08:12 +00:00
hoellen
7247b4b10c
Merge branch 'master' into fix-password-on-user-edit 2019-01-09 21:14:18 +01:00
hoellen
b65d70cf1e mark spam as seen 2019-01-09 20:12:17 +01:00
hoellen
a59d5dad23 fix edit of fetched acc without changing password 2019-01-09 12:52:05 +01:00
hoellen
f08491dc46 fix forced password on user edit 2019-01-09 12:09:14 +01:00
Ionut Filip
2b0a2d561b Fix connection to mysql db 2019-01-09 12:53:59 +02:00
Dario Ernst
291f8a457b Deliver mails to alias-stripped-of-delimeter, even if catchall exists
This fixes delivery to an alias minus recipient delimiter in cases where a
wildcard alias would also match. For example,
* foo@xxx.tld
* %@xxx.tld
Sending to foo+spam@xxx.tld would get eaten by the catchall before this fix.
Now, the order of alias resolution is made clearer.

closes #813
2019-01-09 11:41:22 +01:00
hoellen
732b5fe161 change password field type in fetch creation/edit and add validators. 2019-01-08 19:44:27 +01:00
mergify[bot]
4204facd85
Merge pull request #810 from usrpro/feat-logging
Implement some degree of logging
2019-01-08 15:53:31 +00:00
Tim Möhlmann
049ca9941f
Cleanup syntax and fix typo 2019-01-08 05:21:03 +02:00
Tim Möhlmann
0ac3cf9617
Don't recursivly chown on mailboxes.
This fixes #776.
Recursion is not needed, as the permissions will only need to be set on the first invocation.
2019-01-08 05:00:15 +02:00
Tim Möhlmann
71cda7983e
Merge branch 'master' into feat-logging 2019-01-08 01:54:33 +02:00
Tim Möhlmann
7d01bb2a4d
LOG_LEVEL docs and changelog entry 2019-01-08 00:58:01 +02:00
Tim Möhlmann
b04a9d1c28
Implement debug logging for template rendering 2019-01-08 00:38:06 +02:00
Tim Möhlmann
b9313488dd
Add logging for tenacity.retry
In the process we found that the previous way of tenacity syntax caused it not to honor any args.
In this commit we've refactored to use the @decorator syntax, in which tenacity seems to behave better.
2019-01-07 23:49:10 +02:00
mergify[bot]
3b5f3af207
Merge pull request #778 from Nebukadneza/fix_recipient_delimiter
Attempt stripping recipient delimiter from localpart
2019-01-07 19:01:44 +00:00
Ionut Filip
9077bf7313 Merge remote-tracking branch 'upstream/master' into feat-psql-support 2019-01-07 16:29:50 +02:00
Tim Möhlmann
5636e7f5a7
Remove to avoid matching webroot 2019-01-07 14:08:00 +02:00
Ionut Filip
953aa04354 Added postgresql-libs to admin 2019-01-07 14:04:39 +02:00
Tim Möhlmann
561e2fda67
Merge remote-tracking branch 'upstream/master' into fix-favicon 2019-01-07 12:20:06 +02:00
hoellen
501ecf13c1 add migration script 2019-01-06 15:36:57 +01:00
Tim Möhlmann
a358b5305f
Merge pull request #797 from Mailu/upgrade-pyyaml
Upgrade PyYAML
2019-01-06 15:56:18 +02:00
Tim Möhlmann
4f93e09028
Implement favicon package
Credit to:
- https://stackoverflow.com/a/19590415/1816774
- https://realfavicongenerator.net/
2019-01-06 15:49:40 +02:00
Tim Möhlmann
284d54190a
Upgrade PyYAML to 4.2b4 2019-01-06 14:40:29 +02:00
hoellen
dda64fe91e allow to disable aliases or users for domains and don't allow negativ values on domain creation/edit 2019-01-05 13:52:13 +01:00
hoellen
8fe1e788b3 add missing route fixes 2019-01-04 21:18:51 +01:00
Tim Möhlmann
3c7bf58211
Upgrade PyYAML
CVE-2017-18342
Vulnerable versions: < 4.2b1
Patched version: 4.2b1
In PyYAML before 4.1, the yaml.load() API could execute arbitrary code. In other words, yaml.safe_load is not used.
2019-01-04 21:52:43 +02:00
hoellen
d5d4d6c337 harden email address validation and fix routes with user_email 2019-01-04 18:05:56 +01:00
Ionut Filip
01ec6e7bf3 Removed undefined function 2019-01-04 16:48:51 +02:00
mergify[bot]
d483ef3c2a
Merge pull request #792 from hoellen/admin-broken-links-1
fix broken webmail and logo url in admin
2019-01-02 17:18:46 +00:00
Tim Möhlmann
74fe177297
Merge pull request #785 from TheLegend875/feat-displayed-name
Feature: send auto reply with displayed name
2019-01-02 19:14:17 +02:00
hoellen
f617e82c06 fix broken webmail and logo url in admin 2019-01-02 14:08:03 +01:00
Tim Möhlmann
4068c5b751
Versioning for mysqlclient and psycopg2 2018-12-31 18:22:24 +02:00
Tim Möhlmann
b2823c23b8
Merge remote-tracking branch 'upstream/master' into feat-psql-support 2018-12-31 18:20:39 +02:00
Tim Möhlmann
9eaeb80a27
Finalize merge with kaiyou/feat-multiple-db 2018-12-31 18:02:07 +02:00
TheLegend875
999d2a9557 changed default.sieve to send displayed name 2018-12-30 22:06:36 +01:00
TheLegend875
2954d84790 added necessary ui elements 2018-12-30 22:06:36 +01:00
TheLegend875
56f4d4c894 fixed auto-forward 2018-12-30 22:05:33 +01:00
TheLegend875
5bdbbf60d7 fixed display of username when not logged in 2018-12-28 19:30:23 +01:00
Dario Ernst
c2d45a47fe Attempt stripping recipient delimiter from localpart
Since postfix now asks us for the complete email over podop, which
includes the recipient-delimiter-and-what-follows not stripped, we need
to attempt to find both the verbatim localpart, as well as the localpart
stripped of the delimited part ….

Fixes #755
2018-12-27 16:31:59 +01:00
Tim Möhlmann
19df86f13f
Merge pull request #764 from usrpro/fix-alias-bug
Added regex validation for alias username
2018-12-27 11:54:43 +02:00
Tim Möhlmann
3a5b763018
Option to disable full text search (lucene)
This is a workaround for the bug in issue #751
2018-12-25 13:52:12 +02:00
mergify-bot
983c388150 Merge branch 'master' into 'fix-localpart-chars' 2018-12-21 14:48:36 +01:00
mergify-bot
6cfb74e96c Merge branch 'master' into 'fix-localpart-chars' 2018-12-21 14:25:19 +01:00
Tim Möhlmann
af086bbdbe
Include DKIM in VOLUME 2018-12-20 17:47:15 +02:00
hoellen
c041a9d45c allow all characters for username in dovecot 2018-12-19 16:19:37 +01:00
Tim Möhlmann
24828615cf
Webmail on root, fixes #757 2018-12-19 16:20:24 +02:00
Ionut Filip
8fc2846924 Added regex validation for alias username 2018-12-18 17:06:39 +02:00
Tim Möhlmann
3c4ee1b31e
Merge pull request #743 from kaiyou/master
Fixes #738 regarding application context
2018-12-14 11:09:27 +02:00
ofthesun9
97b3a85090
Merge pull request #737 from hoellen/fix-alias-match-behaviour
fix alias match behaviour
2018-12-13 20:34:09 +01:00
mergify-bot
09a50b6cfc Merge branch 'master' into 'master' 2018-12-13 19:14:20 +01:00
kaiyou
4060ac2223 Remove some forgotten debugging 2018-12-13 15:19:34 +01:00
kaiyou
087841d5b7 Fix the way we handle the application context
The init script was pushing an application context, which maked
flask.g global and persisted across requests. This was evaluated
to have a minimal security impact.

This explains/fixes #738: flask_wtf caches the csrf token in the
application context to have a single token per request, and only
sets the session attribute after the first generation.
2018-12-13 14:23:17 +01:00
kaiyou
b5f51b0e2e Update python dependencies 2018-12-13 14:10:43 +01:00
kaiyou
8707b0fcd7 Use a dictionary of db connection string templates 2018-12-10 15:30:53 +01:00
kaiyou
19f18e2240 Lowercase relays as well as other tables 2018-12-10 15:16:30 +01:00
kaiyou
7e388e472a Handle relay name as an Idna domain 2018-12-10 15:16:30 +01:00
kaiyou
871aa14c9a Lowercase every domain name and email 2018-12-10 15:16:30 +01:00
kaiyou
3df9b3962d Add default columns to the configuration table 2018-12-10 15:16:30 +01:00
kaiyou
b88f61f183 Name all constraints when creating them
Prefious commit set the constraint names for existing databases.
New databases can now have named constraints from the ground up.
2018-12-10 15:16:30 +01:00
kaiyou
b8282b1d46 Support named constraints for multiple backends
Supporting multiple backends requires that specific sqlite
collations are not used, thus lowercase is applied to all non
case-sensitive columns. However, lowercasing the database requires
temporary disabling foreign key constraints, which is not possible
on SQLite and requires we specify the constraint names.

This migration specific to sqlite and postgresql drops every
constraint, whether it is named or not, and recreates all of them
with known names so we can later disable them.
2018-12-10 15:16:30 +01:00
kaiyou
e022513a94 Fix support for postgres and mysql 2018-12-10 15:16:30 +01:00
kaiyou
a881a1a839 Revert "Make current migrations work with postgresql"
This reverts commit 9b9f3731f6.
2018-12-10 15:03:12 +01:00
kaiyou
76925e82f3 Revert "Implement CIText as NOCASE alternative in postgresql"
This reverts commit 0f3c1b9d15.
2018-12-10 15:01:27 +01:00
kaiyou
f52ae5535c Revert "Created function for returning email type"
This reverts commit 436055f02c.
2018-12-10 14:58:18 +01:00
kaiyou
f6520eace6 Merge branch 'feat-psql-support' of https://github.com/usrpro/Mailu into usrpro-feat-psql-support 2018-12-10 14:50:38 +01:00
hoellen
8fe9e695f3 prefer non-wildcard aliases over wildcard aliases 2018-12-10 08:40:10 +01:00
Tim Möhlmann
c7dcfee882
Merge pull request #713 from pgeorgi/extend-nginx
nginx: Allow extending config with overrides
2018-12-09 21:44:24 +02:00
hoellen
79768c09f6 fix alias matching behaviour 2018-12-09 19:49:23 +01:00
Tim Möhlmann
6ca8ed437d
Merge pull request #732 from Nebukadneza/add_front_certificate_reload
Add certificate watcher for external certs to reload nginx
2018-12-08 20:11:09 +02:00
Dario Ernst
1aa97c9914 Add certificate watcher for external certs to reload nginx
In case of TLS_FLAVOR=[mail,cert], the user supplies their own certificates.
However, since nginx is not aware of changes to these files, it cannot
reload itself e.g. when the certs get renewed.

To solve this, let’s add a small daemon in the place of
`letsencrypt.py`, which uses a flexible file-watching framework and
reloads nginx in the case the certificates change ….
2018-12-07 16:20:42 +00:00
Tim Möhlmann
c00910ca4b
Merge remote-tracking branch 'upstream/master' into extend-nginx 2018-12-07 16:48:50 +02:00
Tim Möhlmann
97d338e68a
Rectify 'endif' placement 2018-12-07 16:44:42 +02:00
Tim Möhlmann
425cdd5e77
Fix syntax errors 2018-12-07 16:29:41 +02:00
Tim Möhlmann
20f1faf6d0
Send 404 when nothing server at '/'
Prevents Nginx welcome screen
2018-12-07 16:10:52 +02:00
Tim Möhlmann
2de4995fec
Don't redirect when webmail is served on '/' 2018-12-07 15:17:04 +02:00
Tim Möhlmann
f0906073e3
Merge remote-tracking branch 'upstream/master' into feat-subnet2 2018-12-07 11:08:28 +02:00
mergify[bot]
a634c7b72d
Merge pull request #725 from usrpro/fix-outlook2019-smtp
Add login method to smtp_auth under ssl
2018-12-06 16:02:35 +00:00
Tim Möhlmann
8172f3eab8
Move the Mailu Docker network to a fixed subnet.
This will make network configuration and host based authentication
more robust, across different deployment platforms.
The options `RELAYNETS` and`POD_ADDRESS_RANGE` are kept for compatibility.
However, their usage have become optional.
2018-12-06 12:08:22 +02:00
kaiyou
b6aaf57be1 Merge branch 'refactor-config' of github.com:kaiyou/mailu into refactor-config 2018-12-06 10:33:21 +01:00
kaiyou
d0f07984b0 Merge remote-tracking branch 'upstream/master' into refactor-config 2018-12-06 10:23:43 +01:00
Tim Möhlmann
9dd447e23b
Add login method to smtp_auth under ssl
Fixes #704
2018-12-06 01:00:16 +02:00
Patrick Georgi
eac4d553a9 nginx: Allow extending config with overrides
To facilitate this, the default redirect at / can be disabled, even if
the default remains at redirecting to the webmailer.

The extensions are within the host scope and are read from
$ROOT/overrides/nginx/*.conf.
2018-12-05 23:54:52 +01:00
mergify[bot]
2d4bac03ad
Merge pull request #723 from usrpro/clean-healthcheck-logs
Admin: Prevent redirects during health checking
2018-12-05 18:09:14 +00:00
mergify[bot]
a382f74680
Merge pull request #705 from usrpro/fix-recaptcha
Fix recaptcha
2018-12-05 18:05:22 +00:00
mergify[bot]
37027cfce7
Merge pull request #633 from kaiyou/fix-sender-checks
Improve sender checks
2018-12-05 16:03:24 +00:00
Tim Möhlmann
d18cf7cb25
Prevent redirects during health checking 2018-12-05 17:43:42 +02:00
Tim Möhlmann
c9df311a0d
Set forward_destination to an empty list
The value of `None` resulted in an error, since a list was expected.
2018-12-04 16:22:18 +02:00
Tim Möhlmann
eff6c34632
Catch asterisk before resolve_domain
Asterisk results in IDNA error and a 500 return code.
2018-12-04 15:40:07 +02:00
Ionut Filip
7b8835070d Added tenacity retry fir migrations connection 2018-12-03 15:25:10 +02:00
David Rothera
88c174fb7a Query alternative table for domain matches
At present postfix checks this view for matches in the domain table and is used to accept/deny messages sent into it however it never checks for matches in the alternative table.

Fixes #718
2018-12-02 11:21:42 +00:00
Ionut Filip
436055f02c Created function for returning email type 2018-11-21 13:43:06 +01:00
Tim Möhlmann
47a3fd47b5
Fix DB_FLAVOR condition testing for models.py 2018-11-20 18:18:33 +02:00
Tim Möhlmann
0f3c1b9d15
Implement CIText as NOCASE alternative in postgresql 2018-11-20 14:41:17 +02:00
Tim Möhlmann
9b9f3731f6
Make current migrations work with postgresql 2018-11-19 19:10:38 +02:00
Tim Möhlmann
8bdc0c71af
Allow for setting a different DB flavor 2018-11-14 14:58:54 +02:00
Ionut Filip
fed7146873 Captcha check on signup form 2018-11-09 12:30:49 +02:00
Tim Möhlmann
4783e61693
Fix password context
Fixes the following error:
```
admin_1      | [2018-11-09 09:44:10,533] ERROR in app: Exception on /internal/auth/email [GET]
admin_1      | Traceback (most recent call last):
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
admin_1      |     response = self.full_dispatch_request()
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
admin_1      |     rv = self.handle_user_exception(e)
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
admin_1      |     reraise(exc_type, exc_value, tb)
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
admin_1      |     raise value
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
admin_1      |     rv = self.dispatch_request()
admin_1      |   File "/usr/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
admin_1      |     return self.view_functions[rule.endpoint](**req.view_args)
admin_1      |   File "/usr/lib/python3.6/site-packages/flask_limiter/extension.py", line 544, in __inner
admin_1      |     return obj(*a, **k)
admin_1      |   File "/app/mailu/internal/views/auth.py", line 18, in nginx_authentication
admin_1      |     headers = nginx.handle_authentication(flask.request.headers)
admin_1      |   File "/app/mailu/internal/nginx.py", line 48, in handle_authentication
admin_1      |     if user.check_password(password):
admin_1      |   File "/app/mailu/models.py", line 333, in check_password
admin_1      |     context = User.pw_context
admin_1      | AttributeError: type object 'User' has no attribute 'pw_context'
```
2018-11-09 11:45:08 +02:00
kaiyou
72e1b444ca Merge alembic migrations 2018-11-08 21:55:39 +01:00
kaiyou
5b769e23da Merge branch 'master' into refactor-config 2018-11-08 21:43:05 +01:00
kaiyou
02995f0a15 Add a mailu command line to flask 2018-11-08 21:29:30 +01:00
kaiyou
f9e30bd87c Update the dockerfile and upgrade dependencies 2018-11-08 21:29:11 +01:00
kaiyou
4a7eb1eb6c Explicitely declare flask migrate 2018-11-08 20:32:23 +01:00
kaiyou
2a8808bdec Add the configuration table migration 2018-11-08 20:32:06 +01:00
kaiyou
f57d4859f3 Provide an in-context wrapper for getting users 2018-11-08 20:30:41 +01:00
kaiyou
f6013aa29f Fix an old migration that was reading configuration before migrating 2018-11-08 20:30:20 +01:00
kaiyou
206cce0b47 Finish the configuration bits 2018-11-08 20:29:52 +01:00
Ionut Filip
1bbf3f235d Using a new class when captcha is enabled 2018-11-07 09:58:49 +02:00
mergify[bot]
12689965bd
Merge pull request #699 from usrpro/fix-admin-bug
Fixed admin_1 errors in the logs
2018-11-06 18:10:52 +00:00
hoellen
680ad4b67a
Catching only ValueError
Co-Authored-By: ionutfilip <ionut.philip@gmail.com>
2018-11-05 19:36:28 +02:00
mergify[bot]
e08f3e81d0
Merge pull request #680 from usrpro/feat-startup
Standarize images
2018-11-02 17:36:28 +00:00
Ionut Filip
6dcc33e390 Fixed admin_1 errors in the logs
Fixed errors when trying to log in with an account without domain.
This closes #585
2018-11-02 12:14:23 +02:00
Tim Möhlmann
42e2dbe35d
Standarize image by using shared / similair layers 2018-10-31 19:17:23 +02:00
Tim Möhlmann
5fa2aac569
Fix imap login when no webmail selected 2018-10-31 17:47:05 +02:00
Tim Möhlmann
903bb70c5b
Merge remote-tracking branch 'upstream/master' into standarize-images 2018-10-31 16:22:21 +02:00
Scott
56fb74c502 Fix typo (duplicate self). Fixes #683 2018-10-23 10:47:31 -05:00
Ionut Filip
8a44a44688
Merge branch 'master' into feat-startup 2018-10-23 12:51:32 +03:00
Ionut Filip
1187cac5e1 Finished up switching from .sh to .py 2018-10-23 11:58:36 +03:00
Tim Möhlmann
ed81c076f2
Take out "models" path, as we are already in it 2018-10-23 11:53:52 +03:00
Tim Möhlmann
aed80a74fa
Rectify decleration of domain_name 2018-10-23 11:52:15 +03:00
Tim Möhlmann
2d382f2d67
Merge branch 'master' into fix-sender-checks 2018-10-23 10:58:29 +03:00
Ionut Filip
0e5606d493 Changed start.sh to start.py 2018-10-22 18:01:59 +03:00
Ionut Filip
eb7dfb5771 Cleaning up start.py 2018-10-22 17:02:43 +03:00
Thomas Sänger
603b6e7390
Merge pull request #2 from usrpro/fix-nginx-healthcheck
Fix nginx healthcheck
2018-10-21 22:44:44 +02:00
Tim Möhlmann
81b24f61e8
Merge branch 'master' into feat-healthchecks 2018-10-21 20:58:59 +03:00
Tim Möhlmann
a2fea36c79
Increase HEALTHCHECK start time for services that need to wait for host resolving during startup.
In Docker Swarm mode the services listed below can get stuck in their start script, while they
are waiting for other services become available. Now, with HEALTHCHECK enabled, docker does not resolve
names of services that not pass HEALTHCHECK yet. Meaning that if one of the depenend services is not yet
available, it will create a chain of failing services.

The services below retry to resolve 100 time, with an average of 3.5 seconds. Hence, the --start-time
flag is now set at 350 seconds.
- dovecot (imap)
- postfix (smtp)
- rspamd (antispam)
2018-10-21 20:49:01 +03:00