hoellen
dda64fe91e
allow to disable aliases or users for domains and don't allow negativ values on domain creation/edit
6 years ago
hoellen
8fe1e788b3
add missing route fixes
6 years ago
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.
6 years ago
hoellen
d5d4d6c337
harden email address validation and fix routes with user_email
6 years ago
Ionut Filip
01ec6e7bf3
Removed undefined function
6 years ago
mergify[bot]
d483ef3c2a
Merge pull request #792 from hoellen/admin-broken-links-1
...
fix broken webmail and logo url in admin
6 years ago
Tim Möhlmann
74fe177297
Merge pull request #785 from TheLegend875/feat-displayed-name
...
Feature: send auto reply with displayed name
6 years ago
hoellen
f617e82c06
fix broken webmail and logo url in admin
6 years ago
Tim Möhlmann
4068c5b751
Versioning for mysqlclient and psycopg2
6 years ago
Tim Möhlmann
b2823c23b8
Merge remote-tracking branch 'upstream/master' into feat-psql-support
6 years ago
Tim Möhlmann
9eaeb80a27
Finalize merge with kaiyou/feat-multiple-db
6 years ago
TheLegend875
999d2a9557
changed default.sieve to send displayed name
6 years ago
TheLegend875
2954d84790
added necessary ui elements
6 years ago
TheLegend875
56f4d4c894
fixed auto-forward
6 years ago
TheLegend875
5bdbbf60d7
fixed display of username when not logged in
6 years ago
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
6 years ago
Tim Möhlmann
19df86f13f
Merge pull request #764 from usrpro/fix-alias-bug
...
Added regex validation for alias username
6 years ago
Tim Möhlmann
af086bbdbe
Include DKIM in VOLUME
6 years ago
Ionut Filip
8fc2846924
Added regex validation for alias username
6 years ago
Tim Möhlmann
3c4ee1b31e
Merge pull request #743 from kaiyou/master
...
Fixes #738 regarding application context
6 years ago
ofthesun9
97b3a85090
Merge pull request #737 from hoellen/fix-alias-match-behaviour
...
fix alias match behaviour
6 years ago
mergify-bot
09a50b6cfc
Merge branch 'master' into 'master'
6 years ago
kaiyou
4060ac2223
Remove some forgotten debugging
6 years ago
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.
6 years ago
kaiyou
b5f51b0e2e
Update python dependencies
6 years ago
kaiyou
8707b0fcd7
Use a dictionary of db connection string templates
6 years ago
kaiyou
19f18e2240
Lowercase relays as well as other tables
6 years ago
kaiyou
7e388e472a
Handle relay name as an Idna domain
6 years ago
kaiyou
871aa14c9a
Lowercase every domain name and email
6 years ago
kaiyou
3df9b3962d
Add default columns to the configuration table
6 years ago
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.
6 years ago
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.
6 years ago
kaiyou
e022513a94
Fix support for postgres and mysql
6 years ago
kaiyou
a881a1a839
Revert "Make current migrations work with postgresql"
...
This reverts commit 9b9f3731f6
.
6 years ago
kaiyou
76925e82f3
Revert "Implement CIText as NOCASE alternative in postgresql"
...
This reverts commit 0f3c1b9d15
.
6 years ago
kaiyou
f52ae5535c
Revert "Created function for returning email type"
...
This reverts commit 436055f02c
.
6 years ago
kaiyou
f6520eace6
Merge branch 'feat-psql-support' of https://github.com/usrpro/Mailu into usrpro-feat-psql-support
6 years ago
hoellen
8fe9e695f3
prefer non-wildcard aliases over wildcard aliases
6 years ago
hoellen
79768c09f6
fix alias matching behaviour
6 years ago
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.
6 years ago
kaiyou
b6aaf57be1
Merge branch 'refactor-config' of github.com:kaiyou/mailu into refactor-config
6 years ago
kaiyou
d0f07984b0
Merge remote-tracking branch 'upstream/master' into refactor-config
6 years ago
mergify[bot]
2d4bac03ad
Merge pull request #723 from usrpro/clean-healthcheck-logs
...
Admin: Prevent redirects during health checking
6 years ago
mergify[bot]
a382f74680
Merge pull request #705 from usrpro/fix-recaptcha
...
Fix recaptcha
6 years ago
mergify[bot]
37027cfce7
Merge pull request #633 from kaiyou/fix-sender-checks
...
Improve sender checks
6 years ago
Tim Möhlmann
d18cf7cb25
Prevent redirects during health checking
6 years ago
Tim Möhlmann
c9df311a0d
Set forward_destination to an empty list
...
The value of `None` resulted in an error, since a list was expected.
6 years ago
Tim Möhlmann
eff6c34632
Catch asterisk before resolve_domain
...
Asterisk results in IDNA error and a 500 return code.
6 years ago
Ionut Filip
7b8835070d
Added tenacity retry fir migrations connection
6 years ago
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
6 years ago
Ionut Filip
436055f02c
Created function for returning email type
6 years ago
Tim Möhlmann
47a3fd47b5
Fix DB_FLAVOR condition testing for models.py
6 years ago
Tim Möhlmann
0f3c1b9d15
Implement CIText as NOCASE alternative in postgresql
6 years ago
Tim Möhlmann
9b9f3731f6
Make current migrations work with postgresql
6 years ago
Tim Möhlmann
8bdc0c71af
Allow for setting a different DB flavor
6 years ago
Ionut Filip
fed7146873
Captcha check on signup form
6 years ago
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'
```
6 years ago
kaiyou
72e1b444ca
Merge alembic migrations
6 years ago
kaiyou
5b769e23da
Merge branch 'master' into refactor-config
6 years ago
kaiyou
02995f0a15
Add a mailu command line to flask
6 years ago
kaiyou
f9e30bd87c
Update the dockerfile and upgrade dependencies
6 years ago
kaiyou
4a7eb1eb6c
Explicitely declare flask migrate
6 years ago
kaiyou
2a8808bdec
Add the configuration table migration
6 years ago
kaiyou
f57d4859f3
Provide an in-context wrapper for getting users
6 years ago
kaiyou
f6013aa29f
Fix an old migration that was reading configuration before migrating
6 years ago
kaiyou
206cce0b47
Finish the configuration bits
6 years ago
Ionut Filip
1bbf3f235d
Using a new class when captcha is enabled
6 years ago
mergify[bot]
12689965bd
Merge pull request #699 from usrpro/fix-admin-bug
...
Fixed admin_1 errors in the logs
6 years ago
hoellen
680ad4b67a
Catching only ValueError
...
Co-Authored-By: ionutfilip <ionut.philip@gmail.com>
6 years ago
mergify[bot]
e08f3e81d0
Merge pull request #680 from usrpro/feat-startup
...
Standarize images
6 years ago
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
6 years ago
Tim Möhlmann
42e2dbe35d
Standarize image by using shared / similair layers
6 years ago
Tim Möhlmann
5fa2aac569
Fix imap login when no webmail selected
6 years ago
Tim Möhlmann
903bb70c5b
Merge remote-tracking branch 'upstream/master' into standarize-images
6 years ago
Scott
56fb74c502
Fix typo (duplicate self). Fixes #683
6 years ago
Ionut Filip
8a44a44688
Merge branch 'master' into feat-startup
6 years ago
Ionut Filip
1187cac5e1
Finished up switching from .sh to .py
6 years ago
Tim Möhlmann
ed81c076f2
Take out "models" path, as we are already in it
6 years ago
Tim Möhlmann
aed80a74fa
Rectify decleration of domain_name
6 years ago
Tim Möhlmann
2d382f2d67
Merge branch 'master' into fix-sender-checks
6 years ago
Ionut Filip
0e5606d493
Changed start.sh to start.py
6 years ago
Tim Möhlmann
81b24f61e8
Merge branch 'master' into feat-healthchecks
6 years ago
kaiyou
1fcaef7c7e
Merge branch 'master' into fix-sender-checks
6 years ago
hoellen
72d4fa2bc9
remove empty line from merge conflict
6 years ago
hoellen
857ad50509
Merge branch 'master' into feat-reply-startdate
6 years ago
kaiyou
82069ea3f0
Clean most of the refactored code
6 years ago
kaiyou
f40fcd7ac0
Use click for the manager command
6 years ago
kaiyou
fc24426291
First batch of refactoring, using the app factory pattern
6 years ago
kaiyou
01fa179767
Update the user password in database when needed
6 years ago
kaiyou
988e09e65e
Add a profiler in debug mode for improving performance
6 years ago
kaiyou
dba8f1810d
Do not check the password another time in Dovecot
6 years ago
kaiyou
ed3388ed6e
Merge branch 'master' into feat-reply-startdate
6 years ago
Thomas Sänger
39272ab05c
add healthcheck for http services
6 years ago
kaiyou
e784556330
Fix an edge case with old values containing None for coma separated lists
6 years ago
kaiyou
f647d1a0bc
Merge branch 'master' into fix-sender-checks
6 years ago
kaiyou
5ada669f43
Rebase reply startdate on master
6 years ago
mergify[bot]
bee81d1a54
Merge pull request #647 from HorayNarea/bcrypt
...
support bcrypt and use it as default
6 years ago
kaiyou
c6846fd8db
Merge branch 'master' into feat-reply-startdate
6 years ago
Thomas Sänger
6aafef88bd
remove apk-warning about cache
6 years ago
Thomas Sänger
c8b39c5d4a
support bcrypt and use it as default
6 years ago