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
Tim Möhlmann
81b24f61e8
Merge branch 'master' into feat-healthchecks
2018-10-21 20:58:59 +03:00
kaiyou
1fcaef7c7e
Merge branch 'master' into fix-sender-checks
2018-10-20 10:18:36 +02:00
hoellen
72d4fa2bc9
remove empty line from merge conflict
2018-10-19 22:13:38 +02:00
hoellen
857ad50509
Merge branch 'master' into feat-reply-startdate
2018-10-19 22:06:56 +02:00
kaiyou
82069ea3f0
Clean most of the refactored code
2018-10-18 17:55:07 +02:00
kaiyou
f40fcd7ac0
Use click for the manager command
2018-10-18 16:20:56 +02:00
kaiyou
fc24426291
First batch of refactoring, using the app factory pattern
2018-10-18 15:57:43 +02:00
kaiyou
01fa179767
Update the user password in database when needed
2018-10-17 21:22:22 +02:00
kaiyou
988e09e65e
Add a profiler in debug mode for improving performance
2018-10-17 21:22:15 +02:00
kaiyou
dba8f1810d
Do not check the password another time in Dovecot
2018-10-17 21:22:09 +02:00
kaiyou
ed3388ed6e
Merge branch 'master' into feat-reply-startdate
2018-10-16 23:53:43 +02:00
Thomas Sänger
39272ab05c
add healthcheck for http services
2018-10-16 21:38:12 +02:00
kaiyou
e784556330
Fix an edge case with old values containing None for coma separated lists
2018-10-16 20:47:38 +02:00
kaiyou
f647d1a0bc
Merge branch 'master' into fix-sender-checks
2018-10-16 20:41:18 +02:00
kaiyou
5ada669f43
Rebase reply startdate on master
2018-10-16 20:38:18 +02:00
mergify[bot]
bee81d1a54
Merge pull request #647 from HorayNarea/bcrypt
...
support bcrypt and use it as default
2018-10-16 17:50:44 +00:00
kaiyou
c6846fd8db
Merge branch 'master' into feat-reply-startdate
2018-10-15 21:52:06 +02:00
Thomas Sänger
6aafef88bd
remove apk-warning about cache
2018-10-11 02:57:13 +02:00
Thomas Sänger
c8b39c5d4a
support bcrypt and use it as default
2018-10-10 19:29:23 +02:00
kaiyou
00b5ae11db
Merge branch 'master' into feat-abstract-db
2018-10-10 08:41:56 +02:00
kaiyou
508e519a34
Refactor the postfix views and implement sender checks
2018-10-07 16:24:48 +02:00
kaiyou
fc99eb7b34
Re-enable sender access check to prevent source spoofing
2018-10-07 01:52:01 +02:00
kaiyou
4d70a8737e
Expose the data volume for admin container
2018-09-28 17:42:10 +02:00
kaiyou
fcad52b145
Implement a start date filter for autoreply, fixes #362
2018-09-27 22:45:16 +02:00
kaiyou
82bb8c2fd9
Merge remote-tracking branch 'github/master' into feat-abstract-db
2018-09-27 17:06:21 +02:00
kaiyou
f5668dea51
Handle relays as virtual transports through podop
2018-09-27 16:30:20 +02:00
kaiyou
42c6bdb4df
Split the internal blueprint into multiple view files
2018-09-27 16:09:38 +02:00
kaiyou
f9c6c98180
Remove fetchmail dependency to the databse
2018-09-27 15:54:08 +02:00
kaiyou
542793260b
Handle wildcard aliases using podop
2018-09-27 14:53:23 +02:00
kaiyou
0d52364eac
Fix alias resolution through podop
2018-09-27 14:38:10 +02:00
kaiyou
6ba55ee377
Implement the sieve script name resolution pattern
2018-09-27 14:10:53 +02:00
kaiyou
3c725bf634
Only support generating the default sieve script
2018-09-27 08:18:22 +02:00
kaiyou
ca6c0bc8fd
Fix the user sieve script generation
2018-09-27 08:18:03 +02:00
kaiyou
4d25083847
Move sieve script generation to the admin container
2018-09-27 08:11:26 +02:00
kaiyou
cfeaa189f9
Use proper 404 return codes for missing objects
2018-09-27 08:00:31 +02:00
kaiyou
d8365bfbcf
Use simpler routes for Dovecot
2018-09-27 07:55:54 +02:00
kaiyou
7143fb8c47
Implement some basic views for podop
2018-09-26 00:15:03 +02:00
kaiyou
68aa797720
Merge branch 'master' into feat-abstract-db
2018-09-25 21:46:12 +02:00
Thomas Sänger
0b885548ab
bind to any protocol
2018-09-25 06:29:53 +02:00
kaiyou
73ca5fb3d3
Provide a more generic skeletton for postfix virtual lookups
2018-09-24 23:19:06 +02:00
kaiyou
313b79538e
Merge pull request #513 from mprihoda/feature/better-ratelimit-error
...
Return correct status codes from auth rate limiter failure.
2018-09-16 19:58:34 +02:00
Pierre Jaury
5ad02ae2e5
Use a more uniform 'Save' for most form submits, fixes #523
2018-08-01 21:24:13 +02:00
Pierre Jaury
809fe78f82
Add dovecot views to the internal API
2018-07-26 21:40:44 +02:00
Pierre Jaury
28001213d4
Remove the redis-based quota code
2018-07-26 21:39:30 +02:00
Pierre Jaury
76617a3c97
Store the quota status in database
2018-07-26 21:38:21 +02:00
Michal Prihoda
f5e7751835
Return correct status codes from auth rate limiter failure.
2018-07-02 21:41:40 +02:00
kaiyou
74b72375cb
Merge pull request #493 from MFAshby/user_validation
...
Made User and UserSignup validation consistent for the local part of
2018-06-28 14:16:01 +02:00
hoellen
9091e54fda
Hide administration header in sidebar for normal users.
2018-06-25 21:35:40 +02:00
mfashby
0284b6a8e9
Made User and UserSignup validation consistent for the local part of the email address
2018-06-10 15:15:36 +00:00
Pierre Jaury
14687d09ba
Fix announcements for idna domains
2018-06-02 10:59:57 +02:00
Pierre Jaury
1371ba5f5e
Add the keep field to fetch forms, fixes #479
2018-05-30 00:40:50 +02:00
Pierre Jaury
ea658a174d
Fix a typo in the base html template
2018-05-30 00:37:34 +02:00
Pierre Jaury
b6c76a5e39
Do not remove openssl when purging build deps, fixes #481
2018-05-30 00:28:44 +02:00
kaiyou
91e51a24c8
Merge pull request #465 from sanduhrs/feature/463
...
Remove services status page
2018-05-28 22:57:43 +02:00
Thomas Sänger
7d661ab80d
don't require BootstrapCDN for FontAwesome (GDPR-compliance)
2018-05-22 03:33:27 +02:00
Stefan Auditor
6177571e4d
Remove services status localization
2018-04-23 18:59:46 +02:00
Stefan Auditor
b541d4c257
Remove services status sidebar link
2018-04-23 18:56:48 +02:00
Stefan Auditor
e89b32a3f4
Remove services route
2018-04-23 18:55:37 +02:00
Stefan Auditor
ec8e82aaca
Remove services status template
2018-04-23 18:55:13 +02:00
kaiyou
f55e5e26cd
Update messages.po (POEditor.com)
2018-04-22 12:19:35 +02:00
kaiyou
2b96abbef4
Update messages.po (POEditor.com)
2018-04-22 12:15:40 +02:00
kaiyou
af38d5ab0c
Update messages.po (POEditor.com)
2018-04-22 12:15:38 +02:00
kaiyou
fc89b30e8a
Update messages.po (POEditor.com)
2018-04-22 12:15:36 +02:00
kaiyou
791fab688a
Update messages.po (POEditor.com)
2018-04-22 12:15:33 +02:00
kaiyou
c9b0832899
Update messages.po (POEditor.com)
2018-04-22 12:15:31 +02:00
kaiyou
fa1b0ac32c
Update messages.po (POEditor.com)
2018-04-22 12:15:28 +02:00
kaiyou
75f0791965
Update messages.po (POEditor.com)
2018-04-22 12:15:26 +02:00
kaiyou
c91c5c7493
Update messages.po (POEditor.com)
2018-04-22 12:15:24 +02:00
kaiyou
299a654e97
Update messages.po (POEditor.com)
2018-04-22 12:15:22 +02:00
kaiyou
494e52d8f0
Update messages.po (POEditor.com)
2018-04-22 12:15:20 +02:00
kaiyou
3b7014d563
Add dummy spanish and russion languages
2018-04-22 12:13:25 +02:00
kaiyou
be0a0b4ac8
Update translation strings
2018-04-22 12:10:39 +02:00
kaiyou
8bad30cd59
Move the domain MX status to the detail page
2018-04-22 10:15:09 +02:00
kaiyou
7f0447514c
Finish storing the user quota to redis
2018-04-21 17:19:44 +02:00
kaiyou
80893be68b
Add a missing import to dnspython
2018-04-21 16:37:30 +02:00
kaiyou
091369915b
Display the user quota in the admin interface
2018-04-21 15:48:07 +02:00
kaiyou
e13593f29a
Switch to database 2 for rate limiting
2018-04-21 15:07:04 +02:00
kaiyou
d1dbba2d3a
Add expose instructions in Dockerfiles, fixes #392
2018-04-21 14:46:01 +02:00
kaiyou
62d1a0c104
Add a status field to the domain list
2018-04-21 13:56:20 +02:00
kaiyou
bb0d7bf6dc
Enforce the nocase collation on the email table
2018-04-21 13:25:48 +02:00
kaiyou
186c30d2ac
Have the admin listen on ipv6
2018-04-21 12:55:14 +02:00
kaiyou
dfaedb76f1
Merge pull request #447 from sanduhrs/feature/446
...
Add a sqlalchemy custom type for unicode to idna conversion of domain names
2018-04-21 11:46:43 +02:00
kaiyou
9968d708f1
Update the prod requirements
2018-04-18 20:34:21 +02:00
kaiyou
381e76511d
Add self-service domain registration
2018-04-18 20:34:21 +02:00
Stefan Auditor
c688970b32
Respect user enabled flag in admin authentication
2018-04-16 08:57:35 +02:00
Stefan Auditor
d3064579f4
Respect user enabled flag in basic authentication
2018-04-16 08:57:35 +02:00
Stefan Auditor
92f4858323
Respect user.enabled status in internal authentication
2018-04-16 08:57:35 +02:00
Stefan Auditor
d2c6cecca6
Remove is_enabled method and use the enabled attribute instead
2018-04-16 08:57:35 +02:00
Stefan Auditor
5bfdd75738
Respect user enabled flag on user.login
2018-04-16 08:57:35 +02:00
Stefan Auditor
78f4fa7db9
Add field to ui for user enabled flag
2018-04-16 08:57:35 +02:00
Stefan Auditor
20d6fbae48
Add enabled flag to user model
2018-04-16 08:57:35 +02:00
Scott
2c2a1ed042
Remove stale link to old auto-forward settings. Fixes #450
...
Also update a reference to 'smtp' to use HOST_AUTHSMTP
2018-04-16 08:57:35 +02:00
kaiyou
a51416a4af
Merge pull request #452 from sanduhrs/feature/449
...
Add enabled flag to user model
2018-04-15 23:15:20 +02:00
Stefan Auditor
e843f7ef1f
Respect user enabled flag in admin authentication
2018-04-15 19:53:24 +02:00
Stefan Auditor
c8540ddba7
Respect user enabled flag in basic authentication
2018-04-15 14:02:15 +02:00
Stefan Auditor
6fc22e5432
Respect user.enabled status in internal authentication
2018-04-15 13:43:30 +02:00
Stefan Auditor
733b89bff5
Remove is_enabled method and use the enabled attribute instead
2018-04-15 13:42:19 +02:00
Stefan Auditor
3b66fcada7
Respect user enabled flag on user.login
2018-04-15 13:00:38 +02:00
Stefan Auditor
7139a27bf1
Add field to ui for user enabled flag
2018-04-15 11:35:37 +02:00
Stefan Auditor
f585197e52
Add enabled flag to user model
2018-04-15 11:23:58 +02:00
Scott
e5c25c395f
Remove stale link to old auto-forward settings. Fixes #450
...
Also update a reference to 'smtp' to use HOST_AUTHSMTP
2018-04-14 16:48:08 -05:00
Stefan Auditor
7f5bd98a2e
Add parameters to database field
2018-04-14 13:02:00 +02:00
Stefan Auditor
93d5254b3f
Add another type decorator for idna email support
2018-04-14 13:00:29 +02:00
Stefan Auditor
792c720c13
Save user email domain_name as idna representation
2018-04-13 08:13:26 +02:00
Stefan Auditor
c40e255f3b
Reset relay columns to string
2018-04-12 22:21:28 +02:00
Stefan Auditor
d9ea64fac7
Import idna library and move code a bit upwards
2018-04-12 21:35:38 +02:00
Stefan Auditor
5a7272ff12
Replace other occurences of domain names with idna
2018-04-12 20:30:19 +02:00
Stefan Auditor
1b666cd25b
Add a sqlalchemy custom type for unicode to idna conersion of domain names
2018-04-12 19:07:48 +02:00
kaiyou
db0cd8efb4
Fix the client setup page when not logged in
2018-04-11 22:45:04 +02:00
kaiyou
b4134b7774
Add a client setup page, fixes #342
2018-04-11 21:45:17 +02:00
kaiyou
fa0bda7b69
Merge the auto-forward and antispam settings
2018-04-11 21:28:36 +02:00
kaiyou
3ef4e1f6b7
Add support for recaptcha upon signup
2018-04-11 21:08:59 +02:00
Mildred Ki'Lya
f538e33dcf
Parametrize hosts
...
Allows to use mailu without docker-compose when hostnames are not set up
by docker itself but provided via a separate resolver.
Use case: use mailu using nomad scheduler and consul resolver instead of
docker-compose. Other servers are provided by the DNS resolver that
resolves names like admin.service.consul or webmail.service.consul.
These names needs to be configurable.
2018-01-24 22:54:41 +01:00
kaiyou
d8ebfbe020
Display infinite user quotas correctly, fixes #368
2018-01-16 20:03:07 +01:00
kaiyou
d98f16333a
Display an infinite quota when necessary for users, fixes #345
2017-12-17 15:13:47 +01:00
kaiyou
8d224824ea
Display a conditional button for generation dkim keys, fixes #346
2017-12-17 15:11:08 +01:00
kaiyou
42314d3d75
Remove a remaining rebug print() statement
2017-12-04 21:55:40 +01:00
kaiyou
a4f46ced49
Properly use x-forwarded-proto with redirects in the webui, related to #347
2017-12-04 21:16:08 +01:00
kaiyou
319965a4af
Add a format check for the email localpart when signing up
2017-12-03 19:37:36 +01:00
kaiyou
18ae6a4a0f
Fix the signup quota
2017-12-03 17:53:33 +01:00
kaiyou
e85eada522
Fix the login view when no next page is provided
2017-12-03 17:53:12 +01:00