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
ac64a75743
Simplify alias precedence handling; Remove bogus changelog
2019-01-10 10:28:57 +01:00
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
3b5f3af207
Merge pull request #778 from Nebukadneza/fix_recipient_delimiter
...
Attempt stripping recipient delimiter from localpart
2019-01-07 19:01:44 +00:00
9077bf7313
Merge remote-tracking branch 'upstream/master' into feat-psql-support
2019-01-07 16:29:50 +02:00
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
b2823c23b8
Merge remote-tracking branch 'upstream/master' into feat-psql-support
2018-12-31 18:20:39 +02:00
56f4d4c894
fixed auto-forward
2018-12-30 22:05:33 +01:00
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
7e388e472a
Handle relay name as an Idna domain
2018-12-10 15:16:30 +01:00
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
e022513a94
Fix support for postgres and mysql
2018-12-10 15:16:30 +01:00
a881a1a839
Revert "Make current migrations work with postgresql"
...
This reverts commit 9b9f3731f6
.
2018-12-10 15:03:12 +01:00
76925e82f3
Revert "Implement CIText as NOCASE alternative in postgresql"
...
This reverts commit 0f3c1b9d15
.
2018-12-10 15:01:27 +01:00
f52ae5535c
Revert "Created function for returning email type"
...
This reverts commit 436055f02c
.
2018-12-10 14:58:18 +01:00
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
8fe9e695f3
prefer non-wildcard aliases over wildcard aliases
2018-12-10 08:40:10 +01:00
79768c09f6
fix alias matching behaviour
2018-12-09 19:49:23 +01:00
b6aaf57be1
Merge branch 'refactor-config' of github.com:kaiyou/mailu into refactor-config
2018-12-06 10:33:21 +01:00
d0f07984b0
Merge remote-tracking branch 'upstream/master' into refactor-config
2018-12-06 10:23:43 +01:00
37027cfce7
Merge pull request #633 from kaiyou/fix-sender-checks
...
Improve sender checks
2018-12-05 16:03:24 +00:00
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
436055f02c
Created function for returning email type
2018-11-21 13:43:06 +01:00
0f3c1b9d15
Implement CIText as NOCASE alternative in postgresql
2018-11-20 14:41:17 +02:00
9b9f3731f6
Make current migrations work with postgresql
2018-11-19 19:10:38 +02:00
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
5b769e23da
Merge branch 'master' into refactor-config
2018-11-08 21:43:05 +01:00
f57d4859f3
Provide an in-context wrapper for getting users
2018-11-08 20:30:41 +01:00
680ad4b67a
Catching only ValueError
...
Co-Authored-By: ionutfilip <ionut.philip@gmail.com >
2018-11-05 19:36:28 +02:00
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
56fb74c502
Fix typo (duplicate self). Fixes #683
2018-10-23 10:47:31 -05:00
ed81c076f2
Take out "models" path, as we are already in it
2018-10-23 11:53:52 +03:00
2d382f2d67
Merge branch 'master' into fix-sender-checks
2018-10-23 10:58:29 +03:00
1fcaef7c7e
Merge branch 'master' into fix-sender-checks
2018-10-20 10:18:36 +02:00
72d4fa2bc9
remove empty line from merge conflict
2018-10-19 22:13:38 +02:00
857ad50509
Merge branch 'master' into feat-reply-startdate
2018-10-19 22:06:56 +02:00
82069ea3f0
Clean most of the refactored code
2018-10-18 17:55:07 +02:00
fc24426291
First batch of refactoring, using the app factory pattern
2018-10-18 15:57:43 +02:00
01fa179767
Update the user password in database when needed
2018-10-17 21:22:22 +02:00
ed3388ed6e
Merge branch 'master' into feat-reply-startdate
2018-10-16 23:53:43 +02:00
e784556330
Fix an edge case with old values containing None for coma separated lists
2018-10-16 20:47:38 +02:00
5ada669f43
Rebase reply startdate on master
2018-10-16 20:38:18 +02:00
c6846fd8db
Merge branch 'master' into feat-reply-startdate
2018-10-15 21:52:06 +02:00
c8b39c5d4a
support bcrypt and use it as default
2018-10-10 19:29:23 +02:00
508e519a34
Refactor the postfix views and implement sender checks
2018-10-07 16:24:48 +02:00
fcad52b145
Implement a start date filter for autoreply, fixes #362
2018-09-27 22:45:16 +02:00
542793260b
Handle wildcard aliases using podop
2018-09-27 14:53:23 +02:00
7143fb8c47
Implement some basic views for podop
2018-09-26 00:15:03 +02:00
76617a3c97
Store the quota status in database
2018-07-26 21:38:21 +02:00
14687d09ba
Fix announcements for idna domains
2018-06-02 10:59:57 +02:00