Commit Graph

375 Commits (291f8a457bd31118165065d5940a36135de0fb73)

Author SHA1 Message Date
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 
mergify[bot] 4204facd85
Merge pull request from usrpro/feat-logging
Implement some degree of logging
Tim Möhlmann 049ca9941f
Cleanup syntax and fix typo
Tim Möhlmann 0ac3cf9617
Don't recursivly chown on mailboxes.
This fixes .
Recursion is not needed, as the permissions will only need to be set on the first invocation.
Tim Möhlmann 71cda7983e
Merge branch 'master' into feat-logging
Tim Möhlmann 7d01bb2a4d
LOG_LEVEL docs and changelog entry
Tim Möhlmann b04a9d1c28
Implement debug logging for template rendering
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.
mergify[bot] 3b5f3af207
Merge pull request from Nebukadneza/fix_recipient_delimiter
Attempt stripping recipient delimiter from localpart
Tim Möhlmann 5636e7f5a7
Remove to avoid matching webroot
Tim Möhlmann 561e2fda67
Merge remote-tracking branch 'upstream/master' into fix-favicon
Tim Möhlmann a358b5305f
Merge pull request from Mailu/upgrade-pyyaml
Upgrade PyYAML
Tim Möhlmann 4f93e09028
Implement favicon package
Credit to:
- https://stackoverflow.com/a/19590415/1816774
- https://realfavicongenerator.net/
Tim Möhlmann 284d54190a
Upgrade PyYAML to 4.2b4
hoellen 8fe1e788b3 add missing route fixes
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.
hoellen d5d4d6c337 harden email address validation and fix routes with user_email
mergify[bot] d483ef3c2a
Merge pull request from hoellen/admin-broken-links-1
fix broken webmail and logo url in admin
Tim Möhlmann 74fe177297
Merge pull request from TheLegend875/feat-displayed-name
Feature: send auto reply with displayed name
hoellen f617e82c06 fix broken webmail and logo url in admin
TheLegend875 999d2a9557 changed default.sieve to send displayed name
TheLegend875 2954d84790 added necessary ui elements
TheLegend875 56f4d4c894 fixed auto-forward
TheLegend875 5bdbbf60d7 fixed display of username when not logged in
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 
Tim Möhlmann 19df86f13f
Merge pull request from usrpro/fix-alias-bug
Added regex validation for alias username
Tim Möhlmann 3a5b763018
Option to disable full text search (lucene)
This is a workaround for the bug in issue 
mergify-bot 983c388150 Merge branch 'master' into 'fix-localpart-chars'
mergify-bot 6cfb74e96c Merge branch 'master' into 'fix-localpart-chars'
Tim Möhlmann af086bbdbe
Include DKIM in VOLUME
hoellen c041a9d45c allow all characters for username in dovecot
Tim Möhlmann 24828615cf
Webmail on root, fixes
Ionut Filip 8fc2846924 Added regex validation for alias username
Tim Möhlmann 3c4ee1b31e
Merge pull request from kaiyou/master
Fixes  regarding application context
ofthesun9 97b3a85090
Merge pull request from hoellen/fix-alias-match-behaviour
fix alias match behaviour
mergify-bot 09a50b6cfc Merge branch 'master' into 'master'
kaiyou 4060ac2223 Remove some forgotten debugging
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 : 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.
kaiyou b5f51b0e2e Update python dependencies
hoellen 8fe9e695f3 prefer non-wildcard aliases over wildcard aliases
Tim Möhlmann c7dcfee882
Merge pull request from pgeorgi/extend-nginx
nginx: Allow extending config with overrides
hoellen 79768c09f6 fix alias matching behaviour
Tim Möhlmann 6ca8ed437d
Merge pull request from Nebukadneza/add_front_certificate_reload
Add certificate watcher for external certs to reload nginx
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 ….
Tim Möhlmann c00910ca4b
Merge remote-tracking branch 'upstream/master' into extend-nginx
Tim Möhlmann 97d338e68a
Rectify 'endif' placement
Tim Möhlmann 425cdd5e77
Fix syntax errors
Tim Möhlmann 20f1faf6d0
Send 404 when nothing server at '/'
Prevents Nginx welcome screen
Tim Möhlmann 2de4995fec
Don't redirect when webmail is served on '/'
Tim Möhlmann f0906073e3
Merge remote-tracking branch 'upstream/master' into feat-subnet2