2388 Commits (a49b9d79744282ea3b404845a262ed8324595504)
 

Author SHA1 Message Date
Pierre Jaury e178ba2ffc Upgrade Roundcube to 1.2.2 8 years ago
Pierre Jaury 7be2d458d9 Use Email as a mixin and explicitely specify table names
This also fixes #77, as explained in the ticket, because Flask
SQlAlchemy is not accessing declared attributes early anymore.
8 years ago
Pierre Jaury c7fe29c957 Push the missing messages.pot 8 years ago
Pierre Jaury c007b37df7 Display error messages when Docker is unreachable properly, related to #78 8 years ago
kaiyou fe8e25485d Merge pull request #75 from kaiyou/feat-babel
Implement babel translation for I18N
8 years ago
Pierre Jaury 984b605d05 Compile translations when building the admin container 8 years ago
Pierre Jaury acf4addae0 Add initial translations, fix #37 8 years ago
Pierre Jaury c37ad3557f Missing translations 8 years ago
Pierre Jaury 3fa44613b1 Add a default babel configuration 8 years ago
Pierre Jaury 3ade5641d9 Fix the confirmation form 8 years ago
Pierre Jaury 0beeeade41 Enable Babel for all views 8 years ago
Pierre Jaury a3ad45c8ac Use babel for base views 8 years ago
Pierre Jaury fe035114e9 Enable Babel for forms 8 years ago
Pierre Jaury d3436668d8 Enable Babel 8 years ago
Pierre Jaury 676a9a5d2c Do not redirect users to admin pages, fix #74 8 years ago
Pierre Jaury c028a3799d Write an equivalence test for domains, fixes #65
(cherry picked from commit 144f427088acf9439fd9971898296137b8339f9a)
8 years ago
Pierre Jaury 883afb30cd Remove unnecessary spaces in env file 8 years ago
kaiyou 1ae8fe6af1 Merge pull request #73 from diresi/junk_filter
dovecot: use rspamd X-Spamd-Result percentage to evaluate spam
8 years ago
Pierre Jaury c02faada94 Remove deprecated references to flask_wtf.Form, fix #72 8 years ago
Pierre Jaury e7399e6926 Add a development run.py script 8 years ago
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%
8 years ago
kaiyou 79adbbb76c Merge pull request #69 from aminb/message_size_limit
Default message_size_limit to 50MB
8 years ago
Amin Bandali b5aec1f065 Default message_size_limit to 50MB
Add MESSAGE_SIZE_LIMIT variable in .env to allow setting the message
size limit for postfix.
8 years ago
Pierre Jaury 525089a531 Do not leak information about existing domains or users 8 years ago
Pierre Jaury dcda715382 Force temporary files to /tmp, related to #54 8 years ago
Pierre Jaury 2cb4a44b5a Display fetchmail errors to the user, fixes #23 8 years ago
Pierre Jaury 709869d4ba Escape fetchmail parameters properly 8 years ago
Pierre Jaury 55d5121816 Buld the proper http image 8 years ago
Pierre Jaury f07615c4a4 Do not expose the Web admin interface by default, fixes #40 8 years ago
Pierre Jaury ec5a75f603 Proxify to webmail only if enabled, related to #40 8 years ago
kaiyou 18253b1dd3 Merge pull request #61 from vhf/admin-creation
Allow admin creation after initial setup
8 years ago
kaiyou c1770a1dc1 Merge pull request #62 from vhf/typofix
Fix a typo in the admin UI
8 years ago
Victor Felder 3976a5b38e Allow admin creation after initial setup 8 years ago
Victor Felder 97d952d7f1 Fix a typo 8 years ago
Pierre Jaury 3f6175c34a Remove deprecated awl settings 8 years ago
Pierre Jaury 382030a7aa Revert to using 'latest' for testing 8 years ago
Pierre Jaury d60ef1991c Add a rainloop Webmail image, fixes #58 8 years ago
Pierre Jaury f5b9f569ca Add a link to the demo server documentation 8 years ago
kaiyou cbc6bb5dd6 Merge pull request #55 from kaiyou/feat-refactor-permissions
Refactor the access control code
8 years ago
Pierre Jaury 40b9883c8c Filter outgoing email headers, fixes #52 8 years ago
Pierre Jaury 92bbfde195 Add a PNG logo for rendering 8 years ago
Pierre Jaury 56e6c7565e Add a draft logo 8 years ago
Pierre Jaury e24da96e58 Add some documentation to access decorators 8 years ago
Pierre Jaury 09bec055fd Fix domain deletion permissions 8 years ago
Pierre Jaury c1f9b61dac Add a simple permission audit script 8 years ago
Pierre Jaury f8dcef22ef Fix the manager deletion behaviour 8 years ago
Pierre Jaury f541a951de Remove obsolete utils module 8 years ago
Pierre Jaury 713318f097 Clean imports and remove calls to the utils module 8 years ago
Pierre Jaury ee9a416696 Implement the decorator-based access control for all views 8 years ago
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.
8 years ago