Commit Graph

153 Commits (5626ff93f704c2ead06e57ed80ff48c879a248d6)

Author SHA1 Message Date
Pierre Jaury fe0b292d45 Handle infinite quotas when adding validators, fixes
Pierre Jaury e6c18e6ac3 Use relative path for certificates, fixes
Pierre Jaury be5562620e Enable https and --preload on the admin to improve letsencrypt support
Pierre Jaury 0ff6dc892d Install certbot from pip instead of source
Pierre Jaury 25d8b9e614 Add a keep option per fetch, fixes
Pierre Jaury 38f291bc5d Implement a maximum quota per domain, fixes
Pierre Jaury 41b1666609 Fix the behaviour from Wtforms Components regarding readonly, related to
Pierre Jaury 182e844ae6 Set password properly when using the CLI, fixes,
kaiyou 020ec8ef6b Merge pull request from sanduhrs/german-translation-update
Update german translation from poeditor.com
Stefan Auditor f043e50983 Add method to create an alias
Stefan Auditor 2c3c52a2ec Add method to create a normal user
Stefan Auditor 9f8051f6e7 Update german translation from poeditor.com: add some missing strings, a few wording corrections, fix typo
Pierre Jaury 764b9e209b Bug when redirecting after deleting a fetch, related to
Pierre Jaury a5f061a8b2 Fix a typo when renaming the domain variable
Pierre Jaury 720db8e72a Generate a certificate for the proper hostname
Pierre Jaury 373998ea99 Do not use objects after deleting them, fixes
kaiyou 08e4e2ee86 Update messages.po (POEditor.com)
Pierre Jaury 8ac9400c85 Add some missing translations
Pierre Jaury c3b9756000 Announcement to all users, fixes
Stefan Auditor eacf2a363b Add german translation
Pierre Jaury 9ef706517a Add the Docker client helper
Pierre Jaury 9e0718b00f Speed up local builds of the admin container
Pierre Jaury a8bc8e9d4b Reload Docker containers when certificates are generated
Pierre Jaury bbf71b262e Move docker related features to a separate module
Pierre Jaury 4246179b88 First working certificate generation code, related to
Pierre Jaury a9cb1e2d11 Change the spam threshold to an integer, related to
Pierre Jaury afbcb9b8c6 Remove an exception trigger in the main init file
d-fens 40820e4701 Fix admin template to reference github repository
Pierre Jaury c9aff0691b Add a scheduler to the Flask application
Pierre Jaury d4f93e39db Select translation based on browser configuration, fixes
kaiyou 9f09e0c8e0 Update messages.po (POEditor.com)
Pierre Jaury 013286b8e1 Rename the freeposte/mailu directory and database
Pierre Jaury 7be2d458d9 Use Email as a mixin and explicitely specify table names
This also fixes , as explained in the ticket, because Flask
SQlAlchemy is not accessing declared attributes early anymore.
Pierre Jaury c7fe29c957 Push the missing messages.pot
Pierre Jaury c007b37df7 Display error messages when Docker is unreachable properly, related to
Pierre Jaury 984b605d05 Compile translations when building the admin container
Pierre Jaury acf4addae0 Add initial translations, fix
Pierre Jaury c37ad3557f Missing translations
Pierre Jaury 3fa44613b1 Add a default babel configuration
Pierre Jaury 3ade5641d9 Fix the confirmation form
Pierre Jaury 0beeeade41 Enable Babel for all views
Pierre Jaury a3ad45c8ac Use babel for base views
Pierre Jaury fe035114e9 Enable Babel for forms
Pierre Jaury d3436668d8 Enable Babel
Pierre Jaury 676a9a5d2c Do not redirect users to admin pages, fix
Pierre Jaury c028a3799d Write an equivalence test for domains, fixes
(cherry picked from commit 144f427088acf9439fd9971898296137b8339f9a)
kaiyou 1ae8fe6af1 Merge pull request from diresi/junk_filter
dovecot: use rspamd X-Spamd-Result percentage to evaluate spam
Pierre Jaury c02faada94 Remove deprecated references to flask_wtf.Form, fix
Pierre Jaury e7399e6926 Add a development run.py script
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%