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

116 Commits

Author SHA1 Message Date
Pierre Jaury
c37ad3557f Missing translations 2016-10-02 17:33:34 +02:00
Pierre Jaury
3fa44613b1 Add a default babel configuration 2016-10-02 14:56:33 +02:00
Pierre Jaury
3ade5641d9 Fix the confirmation form 2016-10-02 14:53:01 +02:00
Pierre Jaury
0beeeade41 Enable Babel for all views 2016-10-02 14:52:50 +02:00
Pierre Jaury
a3ad45c8ac Use babel for base views 2016-10-02 14:43:48 +02:00
Pierre Jaury
fe035114e9 Enable Babel for forms 2016-10-02 14:37:06 +02:00
Pierre Jaury
d3436668d8 Enable Babel 2016-10-02 14:23:44 +02:00
Pierre Jaury
676a9a5d2c Do not redirect users to admin pages, fix #74 2016-10-02 10:14:53 +02:00
Pierre Jaury
c028a3799d Write an equivalence test for domains, fixes #65
(cherry picked from commit 144f427088)
2016-10-02 10:13:45 +02:00
kaiyou
1ae8fe6af1 Merge pull request #73 from diresi/junk_filter
dovecot: use rspamd X-Spamd-Result percentage to evaluate spam
2016-10-02 09:46:48 +02:00
Pierre Jaury
c02faada94 Remove deprecated references to flask_wtf.Form, fix #72 2016-10-02 09:33:07 +02:00
Pierre Jaury
e7399e6926 Add a development run.py script 2016-10-02 09:19:34 +02:00
Christoph Rissner
b9de28e910 dovecot: use rspamd X-Spamd-Result percentage to evaluate spam
- configures dovecot to use the spamtest sieve plugins
- configures sieve to read the score from X-Spamd-Result: headers
- before.sieve applies the ${spam_threshold} to the spamtest percentage
- freeposte.db stores a percentage for ${spam_threshold}
- migrate freeposte.db spam_threshold from X/15 to percentages

the filter investigates the overall ratio of the `rspamd` header
`X-Spamd-Result` that looks something like this:

X-Spamd-Result: default: True [12.36 / 15.00]
 RBL_SPAMHAUS_XBL(4.00)[]
 BAYES_SPAM(3.06)[92.67%]
 RBL_SPAMHAUS_XBL_ANY(4.00)[]
 ONCE_RECEIVED_STRICT(4.00)[]
 HFILTER_HELO_BAREIP(3.00)[]
 RBL_SORBS_DUL(2.00)[]
 HFILTER_HOSTNAME_UNKNOWN(2.50)[]
 RBL_SPAMHAUS_PBL(2.00)[]
 RBL_SORBS_RECENT(1.50)[]
 MIME_UNKNOWN(0.10)[application/x-rar-compressed]
 RDNS_NONE(1.00)[]
 RBL_SORBS(0.00)[]
 R_SPF_NEUTRAL(0.00)[?all]
 ONCE_RECEIVED(0.10)[]
 RBL_SEM(1.00)[]
 MIME_HTML_ONLY(0.20)[]
 RBL_UCEPROTECT_LEVEL1(1.00)[]
 MIME_GOOD(-0.10)[multipart/mixed]

the sieve `spamtest :percent :value` in this case would be
   100*12.36/15 = 82.4%
2016-09-30 11:21:29 +02:00
Pierre Jaury
525089a531 Do not leak information about existing domains or users 2016-09-13 20:59:25 +02:00
Pierre Jaury
2cb4a44b5a Display fetchmail errors to the user, fixes #23 2016-09-10 13:05:55 +02:00
kaiyou
18253b1dd3 Merge pull request #61 from vhf/admin-creation
Allow admin creation after initial setup
2016-09-09 12:36:02 +02:00
Victor Felder
3976a5b38e Allow admin creation after initial setup 2016-09-09 11:07:05 +02:00
Victor Felder
97d952d7f1 Fix a typo 2016-09-09 11:06:43 +02:00
Pierre Jaury
e24da96e58 Add some documentation to access decorators 2016-08-29 20:30:59 +02:00
Pierre Jaury
09bec055fd Fix domain deletion permissions 2016-08-29 20:22:44 +02:00
Pierre Jaury
c1f9b61dac Add a simple permission audit script 2016-08-29 20:18:00 +02:00
Pierre Jaury
f8dcef22ef Fix the manager deletion behaviour 2016-08-29 19:40:18 +02:00
Pierre Jaury
f541a951de Remove obsolete utils module 2016-08-29 19:36:37 +02:00
Pierre Jaury
713318f097 Clean imports and remove calls to the utils module 2016-08-29 19:35:09 +02:00
Pierre Jaury
ee9a416696 Implement the decorator-based access control for all views 2016-08-29 19:24:39 +02:00
Pierre Jaury
4e4f2b8037 First shot at improving access control, related to #42
A couple of things are important to note for this commit:
- it only implements the new access control for alias and admin management
- the access control code is located in access.py

The idea behind simpler access control is auditability. There have been a
couple of bugs related to functions not checking permissions properly. If
checking permissions is as simple as decorating a function, exporting the
permission scheme for an audit should be simple.

Also, this still does not address the information leakage related to 404 errors
when an object does not exist, independently of permissions the user has over
the domain.
2016-08-28 15:23:57 +02:00
Pierre Jaury
3ea3bc1d8e Enforce permission checks for admin management 2016-08-27 15:05:30 +02:00
Pierre Jaury
6dc9131b97 Fix the wildcard migration script, fixes #53 2016-08-23 22:46:21 +02:00
Pierre Jaury
e3197f9156 Have the admin interface listen on localhost 2016-08-21 15:01:07 +02:00
Pierre Jaury
8601d5b8db Fix #49 when deleting a global admin 2016-08-20 12:46:29 +02:00
Pierre Jaury
0d3c75aa89 Fix a migration issue with wildcard aliases 2016-08-20 12:23:55 +02:00
Pierre Jaury
84769cab3e Switch to form-based confirmations, fixes #20 2016-08-19 10:49:05 +02:00
Pierre Jaury
5a69ada041 Add an action confirmation form, related to #20 2016-08-19 10:36:13 +02:00
Pierre Jaury
58337d7dd6 Set a proper default for spam thresholds 2016-08-18 20:42:55 +02:00
Pierre Jaury
1ce0bf2ef7 Update the user settings view with a slider 2016-08-18 20:42:35 +02:00
Pierre Jaury
0371da6307 Add the migration script for wildcard aliases, related to #38 2016-08-15 22:35:25 +02:00
XYunknown
6d4243ec66 Adding SQL Like format for aliases 2016-08-15 21:01:53 +02:00
Pierre Jaury
b3d7b657ab Remove deprecated flask.ext imports 2016-08-13 20:51:54 +02:00
Pierre Jaury
9640d59aca Fix #25, serve static resources locally 2016-08-13 20:39:36 +02:00
Pierre Jaury
689c022a4a Get back to a single forward destination 2016-08-13 20:01:40 +02:00
Pierre Jaury
678a5c8065 Fix #22, use ellipsis for overflowing text 2016-08-11 16:56:50 +02:00
Pierre Jaury
c07211677c Fix the default value for comma separated lists 2016-08-11 16:32:50 +02:00
Pierre Jaury
163494cb78 Use readonly attribute instead of disabled 2016-08-11 16:06:52 +02:00
Pierre Jaury
6af7a07e77 Avoid having an empty entry in destionation fields 2016-08-11 15:41:12 +02:00
Pierre Jaury
5581f1b0d9 Related to #19, fix the alias creation page 2016-08-11 14:27:01 +02:00
Pierre Jaury
dcaf3e3473 Fix #30, use cascade deletion on domains 2016-08-11 14:13:56 +02:00
Pierre Jaury
49a1281976 Display the alias list properly 2016-08-11 13:52:03 +02:00
Pierre Jaury
5f36e6f4f2 Related to #19, implement domain specific field and database type 2016-08-11 13:33:04 +02:00
Pierre Jaury
aace1c2d78 Get back to serving CDN assets, related to #25 2016-06-26 13:48:56 +02:00
Pierre Jaury
1673631e69 Fix the columns in the fetch list 2016-06-26 12:41:25 +02:00