1
0
mirror of https://github.com/Mailu/Mailu.git synced 2024-12-20 20:22:38 +02:00
Commit Graph

1149 Commits

Author SHA1 Message Date
bors[bot]
9c57f2ac39
Merge #1785
1785: Fix bug #1660 (don't replace nested headers) r=mergify[bot] a=nextgens

## What type of PR?

bug-fix

## What does this PR do?

Don't replace nested headers (typically in forwarded/attached emails). This will ensure we don't break cryptographic signatures.

### Related issue(s)
- close #1660

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
2021-03-10 10:14:29 +00:00
bors[bot]
25e8910b89
Merge #1783
1783: Switch to server-side sessions r=mergify[bot] a=nextgens

## What type of PR?

bug-fix

## What does this PR do?

It simplifies session management.
- it ensures that sessions will eventually expire (*)
- it implements some mitigation against session-fixation attacks
- it switches from client-side to server-side sessions (in Redis)

It doesn't prevent us from (re)-implementing a "remember_me" type of feature if that's considered useful by some.


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
2021-03-10 09:44:31 +00:00
bors[bot]
327884e07c
Merge #1610
1610: add option to enforce inbound starttls r=mergify[bot] a=lub

## What type of PR?

Feature

## What does this PR do?
It implements a check in the auth_http handler to check for Auth-SSL == on and otherwise returns a 530 starttls error.
If INBOUND_TLS_ENFORCE is not set the behaviour is still the same as before, so existing installations should be unaffected.

Although there is a small difference to e.g. smtpd_tls_security_level of Postfix.

Postfix already throws a 530 after mail from, but this solution only throws it after rcpt to. auth_http is only the request after rcpt to, so it's not possible to do it earlier.

### Related issue(s)
#1328 is kinda related, although this PR doesn't solve the issue that the headers will still display ESMTP instead of ESMTPS

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: lub <git@lubiland.de>
2021-03-10 09:14:23 +00:00
bors[bot]
7469bb7087
Merge #1638
1638: Remove the username from the milter_headers r=mergify[bot] a=githtz

Rspamd adds the name of the authenticated user by default. Setting add_smtp_user to false prevents the login to be leaked.

## What type of PR?
Enhancement

## What does this PR do?
This PR prevents the user login to be leaked in sent emails (for example using an alias)

### Related issue(s)
Closes https://github.com/Mailu/Mailu/issues/1465

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: anrc <15327800+githtz@users.noreply.github.com>
2021-03-10 07:30:25 +00:00
lub
f3f0a4d86d
Merge branch 'master' into enforce-tls-admin 2021-03-09 23:40:51 +01:00
Florent Daigniere
513d2a4c5e Fix bug #1660: nested headers shouldn't be touched 2021-03-09 19:43:08 +01:00
Florent Daigniere
64d757582d Disable anti-csrf on the login form
The rationale is that the attacker doesn't have the password...
and that doing it this way we avoid creating useless sessions
2021-03-09 14:21:02 +01:00
Florent Daigniere
481cb67392 cleanup old sessions on startup 2021-03-09 14:21:02 +01:00
Florent Daigniere
b9becd8649 make sessions expire 2021-03-09 14:21:02 +01:00
Florent Daigniere
a1d32568d6 Regenerate session-ids to prevent session fixation 2021-03-09 14:20:22 +01:00
Florent Daigniere
d459c37432 make session IDs 128bits 2021-03-09 14:20:22 +01:00
Florent Daigniere
22af5b8432 Switch to server-side sessions in redis 2021-03-09 14:20:22 +01:00
Alexander Graf
dd2e218375 Merge remote-tracking branch 'upstream/master' into import-export 2021-03-09 13:31:21 +01:00
Florent Daigniere
96ae54d04d CryptContext should be a singleton 2021-03-09 12:05:46 +01:00
Florent Daigniere
5f05fee8b3 Don't need regexps anymore 2021-03-09 12:05:46 +01:00
Florent Daigniere
1c5b58cba4 Remove scheme_dict 2021-03-09 12:05:46 +01:00
Florent Daigniere
df230cb482 Refactor auth under nginx.check_credentials() 2021-03-09 12:05:46 +01:00
Florent Daigniere
f9ed517b39 Be specific token length 2021-03-09 12:05:46 +01:00
Florent Daigniere
d0b34f8e24 Move CREDENTIAL_ROUNDS to advanced settings 2021-03-09 12:05:46 +01:00
Florent Daigniere
fda758e2b4 remove merge artifact 2021-03-09 12:04:42 +01:00
Florent Daigniere
57a6abaf50 Remove {scheme} from the DB if mailu has set it 2021-03-09 12:04:42 +01:00
Florent Daigniere
7137ba6ff1 Misc improvements to PASSWORD_SCHEME
- remove PASSWORD_SCHEME altogether
- introduce CREDENTIAL_ROUNDS
- migrate all old hashes to the current format
- auto-detect/enable all hash types that passlib supports
- upgrade passlib to 1.7.4 (see #1706: ldap_salted_sha512 support)
2021-03-09 12:04:42 +01:00
Florent Daigniere
00b001f76b Improve the token storage format
shortcomings of the previous format included:
- 1000x slower than it should be (no point in adding rounds since there
 is enough entropy: they are not bruteforceable)
- vulnerable to DoS as explained in
https://passlib.readthedocs.io/en/stable/lib/passlib.hash.sha256_crypt.html#security-issues
2021-03-09 12:04:42 +01:00
Florent Daigniere
eb7895bd1c Don't do more work than necessary (/webdav)
This is also fixing tokens on /webdav/
2021-03-09 12:04:42 +01:00
Florent Daigniere
58b2cdc428 Don't do more work than necessary 2021-03-09 12:04:42 +01:00
bors[bot]
464e46b02b
Merge #1765
1765: Set sensible cookie flags on the admin app r=mergify[bot] a=nextgens

## What type of PR?

Bugfix

## What does this PR do?

It sets the right flags on the session cookie issued by the admin app.
This should probably be backported as the lack of secure flag on TLS-enabled setup is a high risk vulnerability.

SameSite is hardening / helps against CSRF on modern browsers
HTTPOnly is hardening / helps reduce the impact of XSS

Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
2021-03-09 09:25:04 +00:00
bors[bot]
47d6c697d0
Merge #1763
1763: show flash messages again r=mergify[bot] a=lub

## What type of PR?

bug-fix

## What does this PR do?
This basically restores the behaviour, that got removed in
ecdf0c25b3 during refactoring.

### Related issue(s)
- noticed it while reviewing #1756

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [-] In case of feature or enhancement: documentation updated accordingly
- [-] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: lub <git@lubiland.de>
2021-03-08 11:53:10 +00:00
bors[bot]
ce0c93a681
Merge #1618
1618: add OCSP stapling to nginx.conf r=mergify[bot] a=lub

It's not added in tls.conf, because apparently the mail ssl module
doesnt' support OCSP stapling.

https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_stapling
^ exists

https://nginx.org/en/docs/mail/ngx_mail_ssl_module.html#ssl_stapling
^ missing

When the configured certificate doesn't have OCSP information, it'll
just log a warning during startup.

## What type of PR?

enhancement

## What does this PR do?

It enables OCSP stapling for the http server. OCSP stapling reduces roundtrips for the client and reduces load on OCSP responders.

### Related issue(s)
- fixes  #1616

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: lub <git@lubiland.de>
2021-03-08 09:39:25 +00:00
bors[bot]
cca4b50915
Merge #1607
1607: _FILE variables for Docker swarm secrets r=mergify[bot] a=lub

## What type of PR?

enhancement

## What does this PR do?

This PR enables usage of DB_PW_FILE and SECRET_KEY_FILE instead of DB_PW and SECRET_KEY to load these values from files instead of supplying them directly. That way it's possible to use Docker secrets.

### Related issue(s)


## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: lub <git@lubiland.de>
2021-03-08 09:07:10 +00:00
Florent Daigniere
0dcc059cd6 Add a new knob as discussed on matrix with lub 2021-03-05 22:26:46 +01:00
Jaume Barber
5bb67dfcbb Translated using Weblate (Basque)
Currently translated at 100.0% (151 of 151 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/eu/
2021-03-04 18:46:27 +00:00
Jaume Barber
a49b9d7974 Translated using Weblate (Catalan)
Currently translated at 99.3% (150 of 151 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/ca/
2021-03-04 18:46:26 +00:00
Jaume Barber
cd9992f79c Translated using Weblate (Swedish)
Currently translated at 74.2% (121 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/sv/
2021-03-04 18:46:25 +00:00
Jaume Barber
afae5d1c24 Translated using Weblate (Russian)
Currently translated at 88.3% (144 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/ru/
2021-03-04 18:46:25 +00:00
Jaume Barber
7a01a63389 Translated using Weblate (Portuguese)
Currently translated at 88.3% (144 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/pt/
2021-03-04 18:46:24 +00:00
Jaume Barber
480ec29d3d Translated using Weblate (Italian)
Currently translated at 91.4% (149 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/it/
2021-03-04 18:46:24 +00:00
Jaume Barber
5e96a4bfcf Translated using Weblate (Spanish)
Currently translated at 91.4% (149 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/es/
2021-03-04 18:46:24 +00:00
Jaume Barber
6143d66eb8 Translated using Weblate (English)
Currently translated at 39.2% (64 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/en/
2021-03-04 18:46:24 +00:00
Anonymous
6da5978870 Translated using Weblate (German)
Currently translated at 88.3% (144 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/de/
2021-03-04 18:46:24 +00:00
Anonymous
58c22fd2c6 Translated using Weblate (English)
Currently translated at 38.6% (63 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/en/
2021-03-03 18:18:39 +00:00
Jaume Barber
0dc8817f32 Translated using Weblate (English)
Currently translated at 38.6% (63 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/en/
2021-03-03 18:18:39 +00:00
Anonymous
3d17000ceb Translated using Weblate (English)
Currently translated at 29.4% (48 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/en/
2021-03-03 17:57:27 +00:00
Jaume Barber
a2933d00f3 Translated using Weblate (English)
Currently translated at 29.4% (48 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/en/
2021-03-03 17:57:26 +00:00
Jaume Barber
7c0158c5f8 Translated using Weblate (English)
Currently translated at 17.7% (29 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/en/
2021-03-03 17:17:18 +00:00
Anonymous
7de94275a0 Translated using Weblate (English)
Currently translated at 17.7% (29 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/en/
2021-03-03 17:17:18 +00:00
Jaume Barber
43133d8515 Added translation using Weblate (Basque) 2021-03-03 17:05:23 +00:00
Jaume Barber
5e0aa65c8d Translated using Weblate (Italian)
Currently translated at 96.3% (157 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/it/
2021-03-03 17:03:23 +00:00
Jaume Barber
725cdc270c Translated using Weblate (Spanish)
Currently translated at 100.0% (163 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/es/
2021-03-03 12:37:52 +00:00
Weblate
a571704a9d Merge branch 'origin/master' into Weblate. 2021-03-03 11:35:49 +00:00
Jaume Barber
b9c2dc1a79 Translated using Weblate (Catalan)
Currently translated at 98.6% (149 of 151 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/ca/
2021-03-03 11:35:49 +00:00
Anonymous
3a9a133226 Translated using Weblate (English)
Currently translated at 11.0% (18 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/en/
2021-03-03 11:35:47 +00:00
Jaume Barber
af251216b0 Translated using Weblate (English)
Currently translated at 11.0% (18 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/en/
2021-03-03 11:35:47 +00:00
Alexander Graf
b55b53b781 optimize generation of transport nexthop 2021-02-26 20:51:58 +01:00
Alexander Graf
0a9f732faa added docstring to Logger. use generators. 2021-02-22 20:35:23 +01:00
Dario Ernst
b6716f0d74 Remove "CHUNKING" capability from nginx-smtp
With `CHUNKING`set as a capability, nginx advertises this capability to
clients at a stage where the SMTP dialog does not seem to be forwarded
to the proxy-target (postfix) yet. Nginx' SMTP parser itself does not
support the `BDAT` command issued as part of a chunke-d dialog. This makes
Nginx respond with a `250 2.0.0 OK` and close the connection, after the
mail-data got sent by the client — without forwarding this to the
proxy-target.

With this, users mail can be lost.

Furthermore, when a user uses a sieve filter to forward mail, dovecot
sometimes chunks the forwarded mail when sending it through `front`.
These forwards then fail.

Removing `CHUNKING` from the capabilities fixes this behavior.
2021-02-20 13:03:08 +01:00
Alexander Graf
bde7a2b6c4 moved import logging to schema
- yaml-import is now logged via schema.Logger
- iremoved relative imports - not used in other mailu modules
- removed develepment comments
- added Mailconfig.check method to check for duplicate domain names
- converted .format() to .format_map() where possible
- switched to yaml multiline dump for dkim_key
- converted dkim_key import from regex to string functions
- automatically unhide/unexclude explicitly specified attributes on dump
- use field order when loading to stabilize import
- fail when using 'hash_password' without 'password'
- fixed logging of dkim_key
- fixed pruning and deleting of lists
- modified error messages
- added debug flag and two verbosity levels
2021-02-19 18:01:02 +01:00
Florent Daigniere
aa8cb98906 Set sensible cookie options 2021-02-18 15:47:13 +01:00
Alexander Graf
e4c83e162d fixed colorize auto detection 2021-02-16 17:59:43 +01:00
Alexander Graf
e46d4737b0 merged changes from api without api 2021-02-16 17:12:45 +01:00
Alexander Graf
4b9886b139 Merge remote-tracking branch 'upstream/master' into import-export 2021-02-16 16:24:30 +01:00
Alexander Graf
10435114ec updated remarks and docs 2021-02-16 15:36:01 +01:00
Alexander Graf
1e2b5f26ab don't handle nested lists 2021-02-16 13:34:02 +01:00
Alexander Graf
70a1c79f81 handle prune and delete for lists and backrefs 2021-02-15 22:57:37 +01:00
Alexander Graf
8929912dea remove OrderedDict - not necessary in python>=3.7 2021-02-15 21:56:58 +01:00
Alexander Graf
3937986e76 Convert OrderedDict to dict for output 2021-02-15 10:01:35 +01:00
Alexander Graf
68caf50154 new import/export using marshmallow 2021-02-15 00:46:59 +01:00
lub
88f992de16 show flash messages again
This basically restores the behaviour, that got removed in
ecdf0c25b3 during refactoring.
2021-02-13 13:36:05 +01:00
Florent Daigniere
80f939cf1a Revert to the old behaviour when ADMIN=false 2021-02-08 10:16:03 +01:00
Florent Daigniere
2e749abe61 DNS records for client autoconfiguration (RFC6186) 2021-02-07 18:50:26 +01:00
Florent Daigniere
b49554bec1 merge artifact 2021-02-07 18:12:00 +01:00
Florent Daigniere
ef637f51b7 derive the SSO keys from a KDF 2021-02-07 17:58:19 +01:00
Florent Daigniere
906a051925 Make rainloop use internal auth 2021-02-07 17:50:17 +01:00
Alexander Graf
1c9abf6e48 updated requirements for import/export
api reqs (flask-restx, ...) are still missing
2021-01-24 19:27:22 +01:00
Alexander Graf
1da7e5b8d2 Merge remote-tracking branch 'upstream/master' into api 2021-01-24 19:10:24 +01:00
Alexander Graf
902b398127 next step for import/export yaml & json 2021-01-24 19:07:48 +01:00
Mordi Sacks
f56af3053a
Removed email address 2021-01-17 01:28:25 +02:00
Alexander Graf
65b1ad46d9 order yaml data and allow callback on import
- in yaml the primary key is now always first
- calling a function on import allows import to be more verbose
- skip "fetches" when empty
2021-01-15 13:57:20 +01:00
Alexander Graf
8213d044b2 added docstrings, use f-strings, cleanup
- idna.encode does not encode upper-case letters,
  so .lower() has to be called on value not on result
- split email-address on '@' only once
- converted '*'.format(*) to f-strings
- added docstrings
- removed from_dict method
- code cleanup/style (list concat, exceptions, return&else, line-length)
- added TODO comments on possible future changes
2021-01-15 13:53:47 +01:00
Alexander Graf
31a903f959 revived & renamed config-fns. cosmetics.
- revived original config-update function for backwards compability
- renamed config-dump to config-export to be in line with config-import
- converted '*'.format(*) to f-strings
- converted string-concatenation to f-strings
2021-01-15 13:45:36 +01:00
Michael Wyraz
2b37be9889 Use alpine 3.13 to fix CVE-2020-25275 and CVE-2020-24386 2021-01-15 10:56:49 +01:00
Alexander Graf
c24bff1c1b added config_import using marshmallow 2021-01-14 01:11:04 +01:00
Alexander Graf
7413f9b7b4 config_dump now using marshmallow 2021-01-13 00:05:43 +01:00
Alexander Graf
dc42d375e2 added filtering of keys and default value 2021-01-08 14:22:59 +01:00
Alexander Graf
82cf0d843f fix sqlalchemy column definitions 2021-01-08 14:22:11 +01:00
Alexander Graf
b3f8dacdad add docstrings and make linter happy 2021-01-08 14:17:28 +01:00
Alexander Graf
6629aa3ff8 first try at api using flask-restx & marshmallow 2021-01-06 17:05:21 +01:00
Alexander Graf
4c258f5a6b cosmetic changes & make linter happy
renamed single letter variables (m => match)
renamed classmethod arguments to cls (model)
removed shadowing of variables (hash, context)
shortened unneeded lambda functions (id)
converted type ... is to isinstance(...)
removed unneded imports (flask)
2021-01-06 16:45:55 +01:00
Alexander Graf
7229c89de1 ConfigManager should not replace app.config
Updated ConfigManager to only modify app.config and not replace it.
Swagger does not play well, when app.config is not a real dict and
it is not necessary to keep ConfigManager around after init.

Also added "API" flag to config (default: disabled).
2021-01-06 16:31:03 +01:00
Alexander Graf
3b35180b41 cosmetic changes 2020-12-20 23:50:26 +01:00
Alexander Graf
815f47667b update dkim-key on commit only 2020-12-20 23:49:42 +01:00
Alexander Graf
0a594aaa2c cosmetic changes 2020-12-20 23:45:27 +01:00
Alexander Graf
3064a1dcff removed call to (undefined) cli 2020-12-20 23:38:55 +01:00
Alexander Graf
0051b93077 removed unused variable 2020-12-16 22:39:50 +01:00
Alexander Graf
2cd3acdc1a Merge remote-tracking branch 'upstream/master' into import-export 2020-12-16 22:39:09 +01:00
Alexander Graf
63176f4878 Merge remote-tracking branch 'upstream/master' into import-export 2020-11-30 22:03:10 +01:00
lub
98a6ffb497 add compression via xz and lz4 2020-11-21 12:37:08 +01:00
dependabot[bot]
54ccfdf975
Bump cryptography from 2.6.1 to 3.2 in /core/admin
Bumps [cryptography](https://github.com/pyca/cryptography) from 2.6.1 to 3.2.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/2.6.1...3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-21 11:15:31 +00:00
ofthesun9
d32e73c5bc Fix letsencrypt access to certbot for the mail-letsencrypt flavour 2020-11-17 10:26:41 +01:00
bors[bot]
3ca81913fc
Merge #1654
1654: Ensure that the rendered file ends with newline in order to make `pos… r=mergify[bot] a=tremlin

## What type of PR?

Bugfix

## What does this PR do?

This fixes #1580 

### Related issue(s)
- closes #1580

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.


Co-authored-by: Thomas Rehn <thomas.rehn@initos.com>
2020-11-15 14:13:06 +00:00
cbachert
32f6a23a95 Remove rspamd unused env var from start script
Environment variable FRONT_ADDRESS is unused in rspamd
FRONT_ADDRESS references were removed with commit 8172f3e in PR #727
2020-10-30 17:12:34 +00:00
Alexander Graf
adc9c70c3e added dump option to dump dns data of domains 2020-10-24 22:31:32 +02:00
Alexander Graf
2a5c46c890 Allow to dump only selected sections 2020-10-24 22:31:31 +02:00
Alexander Graf
500967b2f5 ignore dkim_publickey when updating config 2020-10-24 22:31:29 +02:00
Alexander Graf
c46f9328f7 also dump dkim_publickey. allow key generation. 2020-10-24 22:31:26 +02:00
Alexander Graf
acc728109b validate dkim keys and allow removal 2020-10-24 22:31:13 +02:00
cbachert
72a9ec5b7c Fix extract_host_port port separation
Regex quantifier should be lazy to make port separation work.
2020-10-24 00:25:53 +01:00
Alexander Graf
dfc34b2165 Merge remote-tracking branch 'upstream/master' into import-export 2020-10-23 16:16:29 +02:00
David Fairbrother
e7caff9811 Add ability to set no WEBROOT_REDIRECT to Nginx
Adds a 'none' env option to WEBROOT_REDIRECT so that no `location /`
configuration is written to nginx.conf.

This is useful for setting up Mailu and Mailman where we override the
root to proxy to the mailing list server instead. Without this change
the nginx container will not start, or for 1.7 users can set their
WEBMAIL_PATH to / with no webmail to get the same results.

This fix means that future users don't have to choose between webmail
and a root override and makes the configuration intention clear.
2020-10-05 15:13:07 +01:00
Thomas Rehn
05ab244638 Ensure that the rendered file ends with newline in order to make postconf work correctly 2020-10-04 16:36:37 +02:00
Dimitri Huisman
78890a97ff Preparations for 1.8 release. 2020-10-01 20:32:05 +02:00
Alexander Graf
45bf6d1b4a Merge remote-tracking branch 'upstream/master' into import-export 2020-09-29 08:41:23 +02:00
bors[bot]
5c36dc4f54
Merge #1611
1611: Adds own server on port 80 for letsencrypt and redirect r=mergify[bot] a=elektro-wolle

## What type of PR?

Bugfix

## What does this PR do?

Handle letsencrypt route to `.well-known` by own server configuration within nginx.

### Related issue(s)
closes #1564

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Wolfgang Jung <w.jung@polyas.de>
2020-09-26 05:57:27 +00:00
anrc
59bc4f7aea
Remove the username from the milter_headers
Rspamd adds the name of the authenticated user by default. Setting add_smtp_user to false prevents the login to be leaked.
2020-09-24 13:16:25 +02:00
bors[bot]
92bf736da4
Merge #1635
1635: Add support for AUTH LOGIN authentication mechanism for relaying emai… r=mergify[bot] a=Diman0

…l via smart hosts.

## What type of PR?

Feature

## What does this PR do?

This PR adds support to postfix for AUTH LOGIN authentication mechanism. This enables using smart hosts which only offer AUTH LOGIN. 

### Related issue(s)
- Auto close an issue like: closes #1633

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [n/a] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
2020-09-23 20:08:15 +00:00
Dimitri Huisman
d9e7b8249b Add support for AUTH LOGIN authentication mechanism for relaying email via smart hosts. 2020-09-23 19:59:00 +02:00
lub
66db1f8fd0 add OCSP stapling to nginx.conf
It's not added in tls.conf, because apparently the mail ssl module
doesnt' support OCSP stapling.

https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_stapling
^ exists

https://nginx.org/en/docs/mail/ngx_mail_ssl_module.html#ssl_stapling
^ missing

When the configured certificate doesn't have OCSP information, it'll
just log a warning during startup.
2020-09-12 01:35:10 +02:00
lub
0cb0a26d95 relax TLS settings on port 25
Because basically every MTA out there uses opportunistic TLS _in
the best case_, it's actually counter productive to use such strict
settings.

The alternative to a handshake error is often an unencrypted submission,
which is basically the opposite of what strict ssl_protocols and
ssl_ciphers tries to achieve.

Even big and established providers like Amazon SES are incompatible with the current
settings.

This reverts commit 2ddf46ad2b.
2020-09-10 20:38:15 +02:00
Wolfgang Jung
1f4e9165fa Disables unencrypted http on TLS_ERROR 2020-09-09 21:35:08 +02:00
Alexander Graf
8e14aa80ee documented options and added help text 2020-09-04 12:57:40 +02:00
Alexander Graf
9d2327b0f1 add space for more human readable indentation
add a newline before main sections
add some spaces to indent
2020-09-04 12:32:51 +02:00
Wolfgang Jung
f999e3de08 Adds own server on port 80 for letsencrypt and redirect 2020-09-03 23:18:57 +02:00
lub
05e2af1802
fix small typo in Auth-SSL 2020-09-02 15:16:10 +02:00
lub
f0f873ffe7 add option to enforce inbound starttls 2020-09-01 21:48:09 +02:00
lub
02cfe326d3 support using files for SECRET_KEY and DB_PW
this enables usage of e.g. docker swarm secrets instead of exposing the
passwords directly via environment variables

just use DB_PW_FILE and SECRET_KEY_FILE instead of DB_PW and SECRET_KEY
2020-08-30 01:04:36 +02:00
Alexander Graf
69ccf791d2 fixed data import via from_dict
- stabilized CommaSeparatedList by sorting values
- CommaSeparatedList can now handle list and set input

- from_dict now handles mapped keys
- from_dict now handles null values

- class Domain: handle dkim-key None correctly
- class User: delete obsolete keys after converting
- class Alias: now uses Email._dict_input
2020-08-26 23:16:37 +02:00
Alexander Graf
190e7a709b renamed config-dump option --verbose to --full 2020-08-26 23:14:27 +02:00
Alexander Graf
5c0efe82cf implemented config_update and config_dump
enhanced data model with to_dict and from_dict methods
added config_dump function to manage command
config_update now uses new data model methods
2020-08-26 11:27:38 +02:00
Alexander Graf
c26ddd3c68 fixed user's destination property
self.forward_destination is a list (and not string)
2020-08-26 11:19:01 +02:00
Alexander Graf
5dfccdafe9 fixed some minor typos, removed unused variable 2020-08-26 11:11:23 +02:00
ofthesun9
539114a3d6
Merge branch 'master' into test-alpine-3.12 2020-08-09 16:37:45 +02:00
bors[bot]
47be453aac
Merge #1557
1557: Explicitly define ProxyFix options r=mergify[bot] a=brian-maloney

## What type of PR?
bug-fix

## What does this PR do?
This PR explicitly defines the options for the ProxyFix module, which fixes a regression in admin behind a reverse proxy.

### Related issue(s)
- #1309

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [X] In case of feature or enhancement: documentation updated accordingly
- [X] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.

This is a bugfix, so not doc changes, and it's an extremely minor change.


Co-authored-by: Brian Maloney <3286425+brian-maloney@users.noreply.github.com>
2020-08-09 12:41:05 +00:00
bors[bot]
535b95bca7
Merge #1538
1538: Introduce environment variable to control dovecot full-text-search r=mergify[bot] a=tremlin

## What type of PR?

Enhancement

## What does this PR do?

In #1320 a full-text-search feature was enabled in Dovecot by default. Since this can have a big impact on performance, I think it's preferable to offer an option to disable the feature if it is not needed. This PR doesn't change the default behavior (FTS on).

### Related issue(s)
- #1320

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordinagly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Thomas Rehn <thomas.rehn@initos.com>
2020-08-09 12:12:39 +00:00
bors[bot]
64f21d5b84
Merge #1478 #1501 #1532 #1543
1478: Allow to enforce TLS for outbound r=mergify[bot] a=micw

 using OUTBOUND_TLS_LEVEL=encrypt (default is 'may')

## What type of PR?

enhancement

## What does this PR do?

Add an option to postfix to enforce outbound traffic to be TLS encrypted.

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


1501: In setup/flavor, change DMARC RUA and RUF email default settings r=mergify[bot] a=ofthesun9

## What type of PR?
bug-fix

## What does this PR do?
This PR changes the default value used to set DMARC_RUA and DMARC_RUF:
DMARC_RUA and DMARC_RUF defaults will reuse the value defined for POSTMASTER,
instead of 'admin' as previously.
Please note that the setup tool doesn't allow (yet?) to define dmarc_rua nor dmarc_ruf, so the default value is indeed used for the time being.

### Related issue(s)
closes #1463 

## Prerequistes
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


1532: Replace SMPT with SMTP r=mergify[bot] a=dhoppe



1543: Disable Health checks on swarm mode r=mergify[bot] a=ofthesun9

ref: https://github.com/moby/moby/issues/35451

## What type of PR?
bug-fix

## What does this PR do?
Modify the docker-compose.yml template used by setup (swarm flavor) to disable Health checks on swarm mode for each service

### Related issue(s)
closes #1289

## Prerequistes
- [x]  add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Michael Wyraz <michael@wyraz.de>
Co-authored-by: ofthesun9 <olivier@ofthesun.net>
Co-authored-by: Dennis Hoppe <github@debian-solutions.de>
2020-08-08 16:01:16 +00:00
Brian Maloney
6bd14506c0
Explicitly define ProxyFix options
Even though these seem to be the defaults, since 1.7 x_proto was not being honored (see #1309), this fixes this issue for me.
2020-06-28 17:27:45 -04:00
Dennis Hoppe
f3ac4e9397
Remove unused variables 2020-06-16 15:45:11 +02:00
ofthesun9
1d35b1283d Adjust python required packages for alpine:3.12 2020-06-15 22:57:49 +02:00
ofthesun9
cff2e76269 Switching to alpine:3.12 2020-06-15 17:32:56 +02:00
Thomas Rehn
fc47b736ea introduce environment variable to control dovecot full-text-search 2020-06-14 19:26:05 +02:00
ofthesun9
381bf747cc Check permissions using postfix set-permissions 2020-05-04 18:18:32 +00:00
ofthesun9
3a9c9d0436 Fixed typo 2020-05-04 17:15:15 +00:00
ofthesun9
67caf0c8cf Check /queue permissions before postfix start
postfix and posdrop id might have changed after base image change
2020-05-04 15:41:53 +00:00
Michael Wyraz
e4454d776a Allow to enforce TLS for outbound using OUTBOUND_TLS_LEVEL=encrypt (default is 'may') 2020-05-02 20:58:07 +02:00
bors[bot]
5648669c61
Merge #1293
1293: Remove `reject_unverified_recipient` from `smtpd_client_restrictions` r=mergify[bot] a=SunMar


## What type of PR?

Bug-fix

## What does this PR do?

It removes recipient verification, as it broke my catch-all address.

Fix for #1292, though I'm not sure if this is the right way to fix the issue. It was added in 175349a224.

### Related issue(s)
Fix for #1292 and a revert of 175349a224.


Co-authored-by: SunMar <SunMar@users.noreply.github.com>
2020-05-02 07:59:07 +00:00
bors[bot]
15a0d7303c
Merge #1399 #1417
1399: Remove SPF type SPF record #1394 r=mergify[bot] a=bladeswords

As mentioned in #1394 - In accordance with RFC 7208, offer only TXT RRs for SPF.
Agree with @Nebukadneza - but not sure how to go about telling people to remove the old record...

## What type of PR?

Documentation

## What does this PR do?
Removes the recommendation to add a SPF RR for SPF records, as this is no longer RFC complaint and often causes issues to maintain two records.

### Related issue(s)
- closes #1394

## Prerequistes
None


1417: docker-compose exec needs a -T flag if no TTY is allocated r=mergify[bot] a=ofthesun9

This flag is missing in 00_create_users.sh and is failing the tests on travis arm architecture

## What type of PR?
This PR is an enhancement/bugfix needed to allow usage of travis to test and deploy on arm platform
Before the PR, tests are failing with the msg: "the input device is not a TTY"

## What does this PR do?
This PR add -T flag for the docker-compose exec occurences found in 00_create_users.sh


Co-authored-by: bladeswords <bladeswords@users.noreply.github.com>
Co-authored-by: Dario Ernst <dario@kanojo.de>
Co-authored-by: ofthesun9 <olivier@ofthesun.net>
2020-05-01 00:23:11 +00:00
Weblate
066f2bac07 Merge branch 'origin/master' into Weblate. 2020-04-26 13:09:42 +00:00
Jaume Barber
6c25d20c83 Translated using Weblate (Catalan)
Currently translated at 100.0% (151 of 151 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/ca/
2020-04-26 13:09:41 +00:00
ofthesun9
885a0b5167 Relearn messages for fuzzy storage
This PR add a rspamc fuzzy_del to ham & spam scripts, in order to cover
move from Junk list to Ham list and vice versa
2020-04-09 09:16:29 +02:00
bors[bot]
60b9a3e2f0
Merge #1389
1389: Prefer specific alias over wildcard, regardless of case r=mergify[bot] a=Nebukadneza

## What type of PR?
bug-fix

## What does this PR do?
Since direct addresses (not aliases) are case-insensitive since a while,
it makes sense for aliases to behave the same. Up until now, a wildcard
alias could trump a alias not-matching-the-case of the incoming address.
This clarifies this behavior.

## Notes
I realize that the if-hell down there isn’t nice. What it is, however, is quite clear and easy to read. I’m hoping that if anyone ever gets confused in the future, this will make the current behavior transparent. For me, that was more important than a minimal amount of statements/branches …

### Related issue(s)
closes #1387

## Prerequistes
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <github@kanojo.de>
2020-03-28 05:59:16 +00:00
bors[bot]
8844dc67fa
Merge #1392
1392: Use environment variables for cert paths/names in nginx certwatcher r=mergify[bot] a=Nebukadneza

## What type of PR?
bug-fix

## What does this PR do?
Previously, nginx certwatcher would only react to the hardcoded paths. It should have
honored the enviroment variables that are used by config.py too for this.
 
### Related issue(s)
closes #903

## Prerequistes
- [x] no feature or enhancement
- [x] minor/internal change


Co-authored-by: Dario Ernst <github@kanojo.de>
2020-03-27 07:56:35 +00:00
SunMar
ac6b8d62dd Remove reject_unverified_recipient from smtpd_client_restrictions
Fix for #1292, though I'm not sure if this is the right way to fix the issue. It was added in 175349a224.
2020-03-18 22:22:11 +01:00
bors[bot]
5004e62607
Merge #1398
1398: Update crypto to be modern and inline with tls.conf r=mergify[bot] a=bladeswords

Updated to match tls.conf and be aligned to more modern cryptographic standards and only use currently secure protocols and ciphers.

## What type of PR?

bugfix

## What does this PR do?
Update to use more modern cryptographic techniques
### Related issue(s)
- Addresses comment raised in 4f973f6

## Prerequistes
None


Co-authored-by: bladeswords <bladeswords@users.noreply.github.com>
2020-03-18 10:39:57 +00:00
bors[bot]
67b48f55fd
Merge #1393
1393: Ignore newlines and comment-lines in postfix overrides r=mergify[bot] a=Nebukadneza

## What type of PR?
enhancement

## What does this PR do?
To make postfix override files understandable and readable, users may
want to insert empty newlines and #-commented lines in their postfix
override files too. This will now ignore such bogus-lines and not send
them to `postconf`, which produced ugly errors in the past.

### Related issue(s)
closes #1098

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <github@kanojo.de>
2020-03-12 16:30:29 +00:00
bors[bot]
575f6b1691
Merge #1296 #1322 #1337 #1358
1296: fetchmail: print unhandled exceptions, but don't crash r=Nebukadneza a=Al2Klimov

fixes #1295

1322: Bump validators from 0.12.5 to 0.12.6 in /core/admin r=Nebukadneza a=dependabot[bot]

Bumps [validators](https://github.com/kvesteri/validators) from 0.12.5 to 0.12.6.
<details>
<summary>Changelog</summary>

*Sourced from [validators's changelog](https://github.com/kvesteri/validators/blob/master/CHANGES.rst).*

> 0.12.6 (2019-05-08)
> ^^^^^^^^^^^^^^^^^^^
> 
> - Fixed domain validator for single character domains ([#118](https://github-redirect.dependabot.com/kvesteri/validators/issues/118), pull request courtesy kingbuzzman)
</details>
<details>
<summary>Commits</summary>

- See full diff in [compare view](https://github.com/kvesteri/validators/commits)
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=validators&package-manager=pip&previous-version=0.12.5&new-version=0.12.6)](https://help.github.com/articles/configuring-automated-security-fixes)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Mailu/Mailu/network/alerts).

</details>

1337: Add IPv6 to allow_nets r=Nebukadneza a=PhilRW

Roundcube was not connecting to sieve with IPv6 enabled.

Fixes #1336

1358: Add port to relay if it contains a colon r=Nebukadneza a=PhilRW

## What type of PR?

enhancement

## What does this PR do?

Allows relaying domains to non-standard SMTP ports by appending `:port` to the destination host/IP. E.g., `mx1.internal:2525`

### Related issue(s)

Closes #1357 


## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Alexander A. Klimov <grandmaster@al2klimov.de>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Philip Rosenberg-Watt <p.rosenberg-watt@cablelabs.com>
2020-03-12 13:20:00 +00:00
Weblate
e9ddb2ddcc Merge branch 'origin/master' into Weblate. 2020-03-11 23:03:59 +00:00
Jaume Barber
a2fa52170c Translated using Weblate (Catalan)
Currently translated at 98.6% (149 of 151 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/ca/
2020-03-11 23:03:52 +00:00
Jaume Barber
aafcbadb23 Translated using Weblate (Italian)
Currently translated at 98.7% (161 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/it/
2020-03-11 23:03:51 +00:00
Jaume Barber
ecb8e07da2 Translated using Weblate (Spanish)
Currently translated at 98.7% (161 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/es/
2020-03-11 23:03:51 +00:00
Jae Beojkkoch
ca82380bcf Translated using Weblate (English)
Currently translated at 7.9% (13 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/en/
2020-03-11 23:03:51 +00:00
bors[bot]
ecae6872f3
Merge #1395 #1396
1395: Remove duplicate ports line r=mergify[bot] a=Nebukadneza


## What type of PR?
enhancement

## What does this PR do?

### Related issue(s)
closes #1079

## Prerequistes
- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


1396: Use pyyaml safe_load instead of load r=mergify[bot] a=Nebukadneza




## What type of PR?
enhancement

## What does this PR do?
Since load in unsafe (ref: https://msg.pyyaml.org/load),
switch the only occurrance of `yaml.load` that i could
find to safe_load.

### Related issue(s)
closes #1085

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <github@kanojo.de>
2020-03-10 23:57:46 +00:00
bors[bot]
a28e30b93b
Merge #1320
1320: Add xapian full-text-search plugin to dovecot r=mergify[bot] a=Nebukadneza

## What type of PR?
Enhancement

## What does this PR do?
Currently we are not able to offer our users a FTS experience after the
demise of lucene due to unfixed coredumps with musl/alpine.
We now add lucene, the only remaining maintained small/lean FTS plugin
for dovecot. It is quite simple to add to our stack: A two-stage docker
build is used to compile the fts plugin in the first stage, and copy
over only the resulting plugin-artifact to the second stage, which is
our usual dovecot container. Configuration is also minimal.

There was a upstream issue where bodies were not able to be searched for subwords, but fortunately it was fixed quite quickly. We currently need to wait for a new release to use a stable tag in our `Dockerfile`.

### Related issue(s)
- https://github.com/Mailu/Mailu/pull/1176
- https://github.com/Mailu/Mailu/pull/1297
- https://github.com/Mailu/Mailu/issues/751
- **Upstream-issues which is the cause for the `TODO` in the `Dockerfile`**: https://github.com/grosjo/fts-xapian/issues/32

## Prerequistes
- [ ] Wait for upstream to prepare new release after https://github.com/grosjo/fts-xapian/issues/32 — so that we can use a stable tag in our `Dockerfile`
- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <dario@kanojo.de>
Co-authored-by: Dario Ernst <dario.ernst@rommelag.com>
2020-03-10 23:30:14 +00:00
bladeswords
8010595dd2
Remove SPF type SPF record #1394
As mentioned in #1394 - In accordance with RFC 7208, offer only TXT RRs for SPF.
Agree with @Nebukadneza - but not sure how to go about telling people to remove the old record...
2020-03-09 23:22:13 +11:00
bladeswords
2ddf46ad2b
Update crypto to be modern and inline with tls.conf
Updated to match tls.conf and be aligned to more modern cryptographic standards and only use currently secure protocols and ciphers.
2020-03-09 23:12:02 +11:00
Dario Ernst
23f21f8b9c Use pyyaml safe_load instead of load
Since load in unsafe (ref: https://msg.pyyaml.org/load),
switch the only occurrance of `yaml.load` that i could
find to safe_load.

closes #1085
2020-03-07 19:08:52 +00:00
Dario Ernst
dbcab06587 Ignore newlines and comment-lines in postfix overrides
To make postfix override files understandable and readable, users may
want to insert empty newlines and #-commented lines in their postfix
override files too. This will now ignore such bogus-lines and not send
them to `postconf`, which produced ugly errors in the past.

closes #1098
2020-03-07 18:20:56 +00:00
Dario Ernst
09024c8008 Use environment variables for cert paths/names in nginx certwatcher
Previously, nginx certwatcher would only react to the hardcoded paths. It should have
honored the enviroment variables that are used by config.py too for this.

closes #903
2020-03-07 17:17:17 +00:00
bors[bot]
b8b1699f9e
Merge #1359
1359: Refactor the rate limiting code r=mergify[bot] a=kaiyou

## What type of PR?

Enhancement

## What does this PR do?

Rate limiting was already redesigned to use Python limits. This
introduced some unexpected behavior, including the fact that only
one criteria is supported per limiter. Docs and setup utility are
updated with this in mind.

Also, the code was made more generic, so limiters can be delivered
for something else than authentication. Authentication-specific
code was moved directly to the authentication routine.

### Related issue(s)

No specific issue.

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: kaiyou <pierre@jaury.eu>
2020-03-07 09:50:04 +00:00
Dario Ernst
8626326559 Fix dovecot dockerfile (accidentally broken in previous commit) 2020-03-07 10:21:21 +01:00
dependabot[bot]
94cfc31e04
Bump validators from 0.12.5 to 0.12.6 in /core/admin
Bumps [validators](https://github.com/kvesteri/validators) from 0.12.5 to 0.12.6.
- [Release notes](https://github.com/kvesteri/validators/releases)
- [Changelog](https://github.com/kvesteri/validators/blob/master/CHANGES.rst)
- [Commits](https://github.com/kvesteri/validators/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-03-06 15:33:41 +00:00
bors[bot]
a3c6002a0a
Merge #1321
1321: Upgrading nginx TLS configuration r=mergify[bot] a=radtkedev

## What type of PR?

Enhancement

## What does this PR do?

Upgrades the TLS protocols and ciphers to the recommended "Intermediate Configuration" and sets the "Old Configuration" for port 25 (SMTP) based on the [Mozilla SSL Configuration Generator](https://ssl-config.mozilla.org/) and adjusted for the nginx mail proxy.

Co-authored-by: Tom Radtke <tom@radtke.dev>
2020-03-06 15:33:03 +00:00
Dario Ernst
dfe092eb46 Use names for docker build stages in dovecot Dockerfile 2020-03-06 16:11:59 +01:00
bors[bot]
1ca4d6769c
Merge #1349
1349: Add support for SRS, related to #328 r=mergify[bot] a=kaiyou

## What type of PR?

Feature

## What does this PR do?

It implements SRS using a Python SRS library.

### Related issue(s)
- closes #328 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: kaiyou <pierre@jaury.eu>
2020-03-06 15:05:43 +00:00
Dario Ernst
da2dda49d4 Prefer specific alias over wildcard, regardless of case
Since direct addresses (not aliases) are case-insensitive since a while,
it makes sense for aliases to behave the same. Up until now, a wildcard
alias could trump a alias not-matching-the-case of the incoming address.
This clarifies this behavior.

closes #1387
2020-03-06 13:56:48 +01:00
NeroPcStation
365f21007d Translated using Weblate (Polish)
Currently translated at 90.2% (147 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/pl/
2020-02-17 20:23:38 +00:00
kaiyou
8e88f1b8c3 Refactor the rate limiting code
Rate limiting was already redesigned to use Python limits. This
introduced some unexpected behavior, including the fact that only
one criteria is supported per limiter. Docs and setup utility are
updated with this in mind.

Also, the code was made more generic, so limiters can be delivered
for something else than authentication. Authentication-specific
code was moved directly to the authentication routine.
2020-02-09 17:38:18 +01:00
Philip Rosenberg-Watt
ff1dfec39a Add port to relay if it contains a colon
This closes #1357
2020-02-09 08:05:24 -07:00
Philip Rosenberg-Watt
27e37577c6 Add IPv6 to allow_nets
Roundcube was not connecting to sieve with IPv6 enabled.

Fixes #1336
2020-02-03 14:53:04 -07:00
Weblate
b248f6a800 Merge branch 'origin/master' into Weblate 2020-01-31 01:23:00 +00:00
Andrási István
395a0d14dc Translated using Weblate (Hungarian)
Currently translated at 100.0% (163 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/hu/
2020-01-31 01:22:59 +00:00
bors[bot]
96f832835a
Merge #1278
1278: Limiter implementation r=kaiyou a=micw

## What type of PR?

(Feature, enhancement, bug-fix, documentation)

## What does this PR do?

Adds a custom limter based on the "limits" lirary that counts up on failed auths only

### Related issue(s)
- closes #1195
- closes #634

## Prerequistes

- [X] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Michael Wyraz <michael@wyraz.de>
Co-authored-by: micw <michael@wyraz.de>
2020-01-30 07:19:35 +00:00
Dario Ernst
99ecaee7b9 Use a released git-tag for fts-xapian 2020-01-23 22:35:30 +01:00
Tom Radtke
4f973f63e6
Upgrading nginx TLS configuration 2020-01-20 10:09:11 +01:00
bors[bot]
761fade9a9
Merge #1316
1316: Fix the encoding of incoming user email and password r=mergify[bot] a=kaiyou

## What type of PR?

Bug fix

## What does this PR do?

As described in the changes, RFC2616 states that header should be considered ISO8859-1 in HTTP, which obviously nginx does not really care about when forwarding the password from SMTP authentication to the backend. Hence, we need to encode-then-decode passwords to get the proper value in case a special char is in there.

### Related issue(s)
- This fixes #1139 
- This is also related to #1281 
- This is also related to #1139

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: kaiyou <pierre@jaury.eu>
2020-01-19 17:25:19 +00:00
Dario Ernst
e499d5a804 Add xapian full-text-search plugin to dovecot
Currently we are not able to offer our users a FTS experience after the
demise of lucene due to unfixed coredumps with musl/alpine.
We now add lucene, the only remaining maintained small/lean FTS plugin
for dovecot. It is quite simple to add to our stack: A two-stage docker
build is used to compile the fts plugin in the first stage, and copy
over only the resulting plugin-artifact to the second stage, which is
our usual dovecot container. Configuration is also minimal.
2020-01-19 11:28:43 +01:00
Tom Radtke
9d213b213a
Upgrading to a 2048-bit DKIM key 2020-01-16 16:47:27 +01:00
Torben Jensen
6f910c5738 Translated using Weblate (Danish)
Currently translated at 80.8% (122 of 151 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/da/
2020-01-14 18:22:25 +00:00
kaiyou
bd69b7a491 Add support for SRS, related to #328 2020-01-14 01:18:30 +01:00
kaiyou
9b7a027d6f Fix the encoding of incoming user email and password 2020-01-13 20:34:24 +01:00
Weblate
869f230e0d Merge branch 'origin/master' into Weblate 2020-01-13 11:44:10 +00:00
Torben Jensen
619a87a821 Added translation using Weblate (Danish) 2020-01-13 11:44:09 +00:00
bors[bot]
812439332a
Merge #1299
1299: Don't remove the address extension in postfix r=mergify[bot] a=RobertMe

## What type of PR?
Bugfix

## What does this PR do?
Currently when the mail address is looked up by Postfix (using the admin
part) the address extension is removed. This is due to the address
extension being removed to look up the user, and afterwards returning
the users mail address. But by not returning the mail address including
the address extension it also isn't part anymore in the LMTP
communication to Dovecot. So Dovecot doesn't know about the extension,
and in turn the address extension can't be used in Sieve mail filtering.

This change fixes that by returning the original address by just
concatinating the "localpart" and domain again when the user is found.

### Related issue(s)
Fixes #982

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Robert Meijers <robert.meijers@gmail.com>
2020-01-10 17:52:27 +00:00
Weblate
97b9098eb9 Merge branch 'origin/master' into Weblate 2020-01-06 12:22:07 +00:00
Angedestenebres
c09f046ba7 Translated using Weblate (French)
Currently translated at 100.0% (163 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/fr/
2020-01-06 12:22:06 +00:00
micw
7688caa784
Add missing self. 2020-01-05 19:44:06 +01:00
Michael Wyraz
ace475d23c Certwatcher: Use polling observer to workaround some symlink limitations 2020-01-04 14:39:31 +01:00
Robert Meijers
989e4d5db5 Don't remove the address extension in postfix
Currently when the mail address is looked up by Postfix (using the admin
part) the address extension is removed. This is due to the address
extension being removed to look up the user, and afterwards returning
the users mail address. But by not returning the mail address including
the address extension it also isn't part anymore in the LMTP
communication to Dovecot. So Dovecot doesn't know about the extension,
and in turn the address extension can't be used in Sieve mail filtering.

This change fixes that by returning the original address by just
concatinating the "localpart" and domain again when the user is found.

Fixes #982
2019-12-27 21:11:50 +01:00
Weblate
2b503332a0 Merge branch 'origin/master' into Weblate 2019-12-18 15:06:55 +00:00
Marc Riera
ba7364d5e9 Added translation using Weblate (Catalan) 2019-12-18 15:06:54 +00:00
Michael Wyraz
70f797dbd9 Don't raise rate limit exception on hit(), only on check() 2019-12-16 18:47:21 +01:00
Michael Wyraz
a7f787f914 Make rate limit for subnet (webmail) configurable 2019-12-16 18:46:17 +01:00
Michael Wyraz
bee80b5c64 Remove rate limit reset 2019-12-06 11:02:21 +01:00
Michael Wyraz
889386b4a6 Limiter implementation 2019-12-06 09:35:21 +01:00
Michael Wyraz
fb9ddbca7a Install p3-yarn as dependency for podop 2019-12-04 20:05:42 +01:00
Michael Wyraz
09ee3ce95c Install py3-multidict from repository before installing socrate to avoid the need of gcc during build 2019-12-04 19:05:14 +01:00
Mordi Sacks
ebc39b5308 Translated using Weblate (Hebrew)
Currently translated at 6.0% (9 of 151 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/he/
2019-11-27 22:20:29 +00:00
Weblate
2d6aa77925 Merge branch 'origin/master' into Weblate 2019-11-26 21:21:22 +00:00
Mordi Sacks
5b23e30b39 Added translation using Weblate (Hebrew) 2019-11-26 21:21:21 +00:00
Michael Wyraz
e857b9d659 Document default antivirus behaviour, add an option to reject viruses 2019-11-19 11:31:09 +01:00
Tim Möhlmann
4e4b071fb0
Move services into core and optional 2019-10-23 18:27:25 +03:00
Weblate
e736abbe6f Merge branch 'origin/master' into Weblate 2019-10-21 20:13:33 +00:00
Simen Kildahl Eriksen
87c6984b99 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (151 of 151 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/nb_NO/
2019-10-21 20:13:32 +00:00
bors[bot]
0417c791ff
Merge #985
985: Permit raspberry pi (and other architectures) builds r=mergify[bot] a=abondis

## What type of PR?

Enhancement

## What does this PR do?

Add an option to select base images and permit building for different CPU architectures.

### Related issue(s)
N/A

## Prerequistes

- [X] documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Aurélien Bondis <aurelien.bondis@gmail.com>
Co-authored-by: Aurelien <aurelien.bondis@gmail.com>
2019-10-20 20:41:03 +00:00
Weblate
60e5f551f9 Merge branch 'origin/master' into Weblate 2019-10-20 17:54:42 +00:00
Simen Kildahl Eriksen
4c3af0b905 Added translation using Weblate (Norwegian Bokmål) 2019-10-20 17:54:41 +00:00
Tim Möhlmann
279acca6b2
Dovecot: Delete obsolete data volume 2019-10-15 10:41:05 +03:00
bors[bot]
9bae9b3078
Merge #1213
1213: Bump werkzeug from 0.15.2 to 0.15.3 in /core/admin r=mergify[bot] a=dependabot[bot]

Bumps [werkzeug](https://github.com/pallets/werkzeug) from 0.15.2 to 0.15.3.
<details>
<summary>Release notes</summary>

*Sourced from [werkzeug's releases](https://github.com/pallets/werkzeug/releases).*

> ## 0.15.3
> * Blog: https://palletsprojects.com/blog/werkzeug-0-15-3-released/
> * Changes: https://werkzeug.palletsprojects.com/en/0.15.x/changes/#version-0-15-3
> 
</details>
<details>
<summary>Changelog</summary>

*Sourced from [werkzeug's changelog](https://github.com/pallets/werkzeug/blob/master/CHANGES.rst).*

> Version 0.15.3
> --------------
> 
> Released 2019-05-14
> 
> -   Properly handle multi-line header folding in development server in
>     Python 2.7. (:issue:`1080`)
> -   Restore the ``response`` argument to :exc:`~exceptions.Unauthorized`.
>     (:pr:`1527`)
> -   :exc:`~exceptions.Unauthorized` doesn't add the ``WWW-Authenticate``
>     header if ``www_authenticate`` is not given. (:issue:`1516`)
> -   The default URL converter correctly encodes bytes to string rather
>     than representing them with ``b''``. (:issue:`1502`)
> -   Fix the filename format string in
>     :class:`~middleware.profiler.ProfilerMiddleware` to correctly handle
>     float values. (:issue:`1511`)
> -   Update :class:`~middleware.lint.LintMiddleware` to work on Python 3.
>     (:issue:`1510`)
> -   The debugger detects cycles in chained exceptions and does not time
>     out in that case. (:issue:`1536`)
> -   When running the development server in Docker, the debugger security
>     pin is now unique per container.
</details>
<details>
<summary>Commits</summary>

- [`9b1123a`](9b1123a779) release version 0.15.3
- [`00bc43b`](00bc43b167) unique debugger pin in Docker containers
- [`2cbdf2b`](2cbdf2b022) Merge pull request [#1542](https://github-redirect.dependabot.com/pallets/werkzeug/issues/1542) from asottile/exceptions_arent_always_hashable
- [`0e669f6`](0e669f6be5) Fix unhashable exception types
- [`bdc17e4`](bdc17e4cd1) Merge pull request [#1540](https://github-redirect.dependabot.com/pallets/werkzeug/issues/1540) from pallets/break-tb-cycle
- [`44e38c2`](44e38c2985) break cycle in chained exceptions
- [`777500b`](777500b646) Merge pull request [#1518](https://github-redirect.dependabot.com/pallets/werkzeug/issues/1518) from NiklasMM/fix/1510_lint-middleware-python3-compa...
- [`e00c7c2`](e00c7c2ced) Make LintMiddleware Python 3 compatible and add tests
- [`d590cc7`](d590cc7cf2) Merge pull request [#1539](https://github-redirect.dependabot.com/pallets/werkzeug/issues/1539) from pallets/profiler-format
- [`0388fc9`](0388fc95e6) update filename_format for ProfilerMiddleware.
- Additional commits viewable in [compare view](https://github.com/pallets/werkzeug/compare/0.15.2...0.15.3)
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=werkzeug&package-manager=pip&previous-version=0.15.2&new-version=0.15.3)](https://help.github.com/articles/configuring-automated-security-fixes)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Mailu/Mailu/network/alerts).

</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2019-10-13 23:00:19 +00:00
bors[bot]
dcda412b99
Merge #1211
1211: Split HOST_ANTISPAM in HOST_ANTISPAM_MILTER and HOST_ANTISPAM_WEBUI r=mergify[bot] a=micw

## What type of PR?

bug-fix

## What does this PR do?

Fixes #1190 by separating HOST_ANTISPAM into HOST_ANTISPAM_MILTER and HOST_ANTISPAM_WEBUI

### Related issue(s)
- closes #1190
- closes #1150

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Michael Wyraz <michael@wyraz.de>
2019-10-13 19:44:25 +00:00
bors[bot]
35160b770d
Merge #1198 #1204 #1207 #1208
1198: Enable access log of admin service only for log levels of INFO and finer r=muhlemmer a=micw

## What type of PR?

bug fix

## What does this PR do?

### Related issue(s)
- closes #1197

## Prerequistes

- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


1204: Add initial admin account to kubernetes example r=muhlemmer a=micw

## What type of PR?

documentation

## What does this PR do?

Add INITIAL_ADMIN_* example to kubernetes configmap.yaml

### Related issue(s)

- closes #1201

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- docs example only

1207: Add Japanese translation r=muhlemmer a=IchikawaYukko

## What type of PR?

Translation

## What does this PR do?

Provide completed Japanese translation.

### Related issue(s)

None

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [*] In case of feature or enhancement: documentation updated accordingly
- [*] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


1208: Persist mailqueue r=muhlemmer a=micw

## What type of PR?

bug-fix

## What does this PR do?

Makes postfix mailqueue presistent (for docker, swarm and kubernetes)

### Related issue(s)
- closes #1161

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Michael Wyraz <michael@wyraz.de>
Co-authored-by: Michael Wyraz <michael.wyraz@evermind.de>
Co-authored-by: U-COREI3-3120M\市川ゆり子 <ichikawayuriko@yahoo.co.jp>
Co-authored-by: micw <michael@wyraz.de>
2019-10-13 19:01:20 +00:00
bors[bot]
b668eccc17
Merge #1181
1181: Update to address issue #1178 (HTTP headers) r=muhlemmer a=bladeswords

This change should remove the duplicate `x-xss-protection` header and also the `x-powered-by` header.  Hopefully a pull request to main is appropriate, but may be worth back porting to 1.7.

Tested config by modifying live 1.7 nginx config and reloading.  Has had the desired outcome of removing the headers.

```/etc/nginx # nginx -t -c /etc/nginx/nginx.conf 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
/etc/nginx # nginx -s reload
```

These steps were based on:
- https://serverfault.com/questions/928912/how-do-i-remove-a-server-added-header-from-proxied-location
- https://serverfault.com/questions/929571/overwrite-http-headers-comming-back-from-a-web-application-server-proxied-in-ngi
- http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header

## What type of PR?

Enhancement

## What does this PR do?
Removes duplicate and unneeded headers.  See issue #1178 

### Related issue(s)
- issue: #1178 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ X ] In case of feature or enhancement: documentation updated accordingly
- [ X ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: bladeswords <bladeswords@users.noreply.github.com>
2019-10-13 18:32:51 +00:00
Michael Wyraz
a907fe4cac Split HOST_ANTISPAM in HOST_ANTISPAM_MILTER and HOST_ANTISPAM_WEBUI 2019-10-13 20:13:02 +02:00
bors[bot]
9c956a04ca
Merge #1183
1183: Fix rspamd-learn when moving mail from/to junk folder r=mergify[bot] a=Nebukadneza

Before, the ham/spam scripts got the rspamd-ip/port from the environment.
However, when checking the environment of these processes now, it seems
cleared. Maybe the new dovecot version now clears environment? — I couldn’t
find a hint.

In any case, using the common mechanism of injecting the ip/port from where
it’s definately known by the already-used jinja2-mechanism seems reasonably
safe.

## What type of PR?
bug-fix

## What does this PR do?
Instead of relying on dovecot passing our environment cleanly to sieve-called scripts, this explicitly injects the antispam ip/port into the spam/ham scripts used when moving files from/to the spam-folder. This required some management of the files, such as setting proper permissions after the jinja-run.

### Related issue(s)
fixes #1177 

## Prerequistes
- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <dario@kanojo.de>
Co-authored-by: Dario Ernst <dario.ernst@rommelag.com>
2019-10-13 16:19:24 +00:00
dependabot[bot]
ed204766b2
Bump werkzeug from 0.15.2 to 0.15.3 in /core/admin
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 0.15.2 to 0.15.3.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/master/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/0.15.2...0.15.3)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-13 14:32:40 +00:00
U-COREI3-3120M\市川ゆり子
26955df7ae remove POT-Creation-Date, PO-Revision-Date 2019-10-12 19:20:55 +09:00
Michael Wyraz
8ece8409f1 Remove unused volume /data from postfix. Add volume /queue to postfix 2019-10-11 08:46:23 +02:00
U-COREI3-3120M\市川ゆり子
efd628c338 add Japanese translation 2019-10-11 05:34:33 +09:00
Michael Wyraz
c20976f071 Allow smtp auth login for TLS port (similar to SSL port) 2019-10-10 10:20:14 +02:00
Dario Ernst
de29012d0b Remove unused stat import 2019-10-10 09:51:52 +02:00
bors[bot]
950a88bf0e
Merge #1196
1196: Change default password scheme to PBKDF2 (#1194) r=mergify[bot] a=hoellen

## What type of PR?
enhancement

## What does this PR do?
This PR change the default password scheme to PBKDF2. It is already changed in some places (e.g. [docs/compose/.env](https://github.com/Mailu/Mailu/blob/master/docs/compose/.env#L142)).

### Related issue(s)
closes #1194 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: hoellen <dev@hoellen.eu>
2019-10-08 06:06:25 +00:00
Michael Wyraz
d689a8eeb3 Enable access log of admin service only for log levels of INFO and finer 2019-10-08 07:29:33 +02:00
bors[bot]
45126624c2
Merge #1180
1180: Add a title to Mailu-Admin pages r=mergify[bot] a=Niduroki

## What type of PR?

Enhancement

## What does this PR do?

This simply adds a title to be displayed in the browser tab for Mailu-Admin pages.

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.

Considering this is only a one-line change I don't think these apply.

-----

I made the title `Mailu-Admin - SITENAME` – if this seems unfitting feel free to change it to something different.

Co-authored-by: Niduroki <chris@niduroki.net>
2019-10-07 20:54:44 +00:00
hoellen
d3dd4802f4 Change default password scheme to PBKDF2 (#1194) 2019-10-07 22:29:03 +02:00
bors[bot]
20e00ac0c4
Merge #1158
1158: Use nginx for kubernetes ingress r=kaiyou a=micw

## What type of PR?

enhancement

## What does this PR do?

Currently, kubernetes uses a complex ingress setting which is not portable across different ingress controllers. This PR simplifies the ingress and delegates everythins special to Mailu to the front container,

### Related issue(s)
- closes #1121
- closes #1117
- closes #1021
- closes #1045

## Prerequistes

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog]

Co-authored-by: Michael Wyraz <michael@wyraz.de>
2019-10-07 19:36:45 +00:00
Dario Ernst
dc8a798ca1 Use correct octal notation for python3 2019-10-03 08:32:56 +00:00
Dario Ernst
18bc2fe78b Use more readable forms of makedirs and chmod 2019-10-03 08:31:00 +00:00
Dario Ernst
88bfb0d17f Fix rspamd-learn when moving mail from/to junk folder
Before, the ham/spam scripts got the rspamd-ip/port from the environment.
However, when checking the environment of these processes now, it seems
cleared. Maybe the new dovecot version now clears environment? — I couldn’t
find a hint.

In any case, using the common mechanism of injecting the ip/port from where
it’s definately known by the already-used jinja2-mechanism seems reasonably
safe.
2019-09-27 19:53:09 +00:00
bladeswords
b13d143b34
Update to address issue #1178 (HTTP headers)
This change should remove the duplicate `x-xss-protection` header and also the `x-powered-by` header.  Hopefully a pull request to main is appropriate, but may be worth back porting to 1.7.

Tested config by modifying live 1.7 nginx config and reloading.  Has had the desired outcome of removing the headers.

```/etc/nginx # nginx -t -c /etc/nginx/nginx.conf 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
/etc/nginx # nginx -s reload
```

These steps were based on:
- https://serverfault.com/questions/928912/how-do-i-remove-a-server-added-header-from-proxied-location
- https://serverfault.com/questions/929571/overwrite-http-headers-comming-back-from-a-web-application-server-proxied-in-ngi
- http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header
2019-09-26 19:43:29 +10:00
Niduroki
b58f06c03e Add a title to Mailu-Admin pages 2019-09-25 19:29:26 +02:00
bors[bot]
e46153c0b1
Merge #1114
1114: Resolve HOST to ADDRESS only if ADDRESS is not already set r=mergify[bot] a=micw

## What type of PR?

bug-fix

## What does this PR do?

~Makes the rsolving from hosts to ips at startup configurable~

I rewrote the pull request after #940 was merged. Now it resolves HOSTs to ADDRESSes only of ADDRESSes are not already set. So on kubernetes we can jsut set the address and have working service discovery.

### Related issue(s)
- closes #1113

## Prerequistes

~Minor change, backward compatible~
Changelog will be added

Co-authored-by: Michael Wyraz <michael@wyraz.de>
2019-09-17 18:30:27 +00:00
Thomas Sänger
5fa87fbdf7
front: advertise real capabilites of mail-backends 2019-09-04 17:37:28 +02:00
Michael Wyraz
92645bcd4a Use nginx for kubernetes ingress 2019-09-03 10:27:10 +02:00
Michael Wyraz
de2f166bd1 Resolve HOST_* to *_ADDRESS only if *_ADDRESS is not already set 2019-08-31 18:18:58 +02:00
Aurélien Bondis
34079244a6 fix ARG positions 2019-08-30 10:24:08 -04:00
Aurélien Bondis
e1a4bf32a6 only insert qemu binary if building for arm 2019-08-23 15:24:21 -04:00
bors[bot]
1a597fbe6a
Merge #1130 #1132
1130: Remove unnecessary host variable assignments r=mergify[bot] a=kaiyou

## What type of PR?

Bug fix

## What does this PR do?

### Related issue(s)
- Closes #1126

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


1132: Release Mailu 1.7 r=mergify[bot] a=kaiyou

## What type of PR?

Release

## What does this PR do?

It provides the changelog and migration notes for release 1.7.

### Related issue(s)

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: kaiyou <pierre@jaury.eu>
2019-08-23 06:46:52 +00:00
kaiyou
d50504fa2b Only set the redis address once, fixes #1125 2019-08-23 00:29:00 +02:00
kaiyou
4afbc09d6e Remove unnecessary host variable assignments 2019-08-22 22:44:49 +02:00
Tim Möhlmann
05ea4474e7
make ANTIVIRUS_ADDRESS consistent with #940 2019-08-22 13:08:43 +03:00
Igor Rzegocki
6f973a2e4b
Fixed hardcoded antispam and antivirus host addresses
Fixes #978
2019-08-22 11:41:18 +03:00
bors[bot]
3e626b8500
Merge #940
940: Fix host variables r=mergify[bot] a=ionutfilip

## What type of PR?
bug-fix

## What does this PR do?

### Related issue(s)
- Fix #884

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
2019-08-21 21:25:36 +00:00
bors[bot]
2785bca1f4
Merge #883
883: Admin create user enhancement r=mergify[bot] a=cr1st1p

## What type of PR?
Enhancement

## What does this PR do?
It allows the admin docker image to also create the admin user.
The idea is that in my kubernetes setup, I do not want to manually do anything, as such, I need a way for the admin user to also be created automatically without me getting inside the pod.
So I had to change the manage.py function that creates the user to allow different 'modes' (me, I'll be using 'ifmissing') and also start.py to call that functionality if appropriate environment variables are present.

So now, in my Deployment, I add 3 more environment variables and I get the admin user created, IF not already present.

### Related issue(s)
none?

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: cristi <cristi.posoiu@gmail.com>
Co-authored-by: cr1st1p <cristi.posoiu@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
2019-08-21 20:58:25 +00:00
Tim Möhlmann
ed0fb77a01
Catch empty WEBMAIL and WEBDAV address 2019-08-21 22:54:42 +03:00
Tim Möhlmann
348ea1a572
Remove obsolete log call 2019-08-21 21:33:49 +03:00
Ionut Filip
075417bf90 Merged master and fixed conflicts 2019-08-21 20:35:24 +03:00
Aurélien Bondis
124b1d4c71 rebase and update for 3.10, avoid adding qemu file to x86 images 2019-08-21 12:24:30 -04:00
Tim Möhlmann
7d964874e8
Cleanup spaces around '=' 2019-08-21 16:35:41 +03:00
Tim Möhlmann
52971ed42e
Use os.environment.get() 2019-08-21 16:34:25 +03:00
Mildred Ki'Lya
95dce5575b Parameterize redis address 2019-08-15 11:28:17 +02:00
bors[bot]
47a40d17b7 Merge #1088
1088: Support domain literals (fix #1087) r=mergify[bot] a=hoellen

## What type of PR?
bug-fix

## What does this PR do?
This PR adds error handling for idna enocding. With telnet you now get a "Bad sender address syntax"  message.

```
> telnet mail.example.com 25

Connected to example.com.
Escape character is '^]'.
220 mail.example.com ESMTP ready
EHLO dummy.example.com
250-mail.example.com
250 STARTTLS
MAIL FROM: does-not-exist@[116.203.165.200]
250 2.0.0 OK
RCPT TO: some-user@example.com
501 5.1.7 Bad sender address syntax
Connection closed by foreign host.
```


### Related issue(s)
fix #1087

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: hoellen <dev@hoellen.eu>
2019-08-15 08:29:11 +00:00
hoellen
b720bedf72 Support domain literals for receiving emails 2019-08-15 00:20:55 +02:00
hoellen
bed2c6ea09 Revert "Error handling for idna encoding"
This reverts commit 10034526a1.
2019-08-14 01:02:07 +02:00
hoellen
10034526a1 Error handling for idna encoding 2019-07-28 08:32:02 +02:00
hoellen
9de5dc2592 Use python package socrate instead of Mailustart 2019-07-25 10:33:57 +02:00
bors[bot]
2788909a13 Merge #1052
1052: Upgrade alpine to 3.10 r=mergify[bot] a=Nebukadneza

## What type of PR?
enhancement / bug-fix

## What does this PR do?
Upgrade the alpine base image to 3.10 and clean up ensuing problems. Also directly uses postfix foreground-running with stdout logging.

### Related issue(s)
closes #1049
closes #1051

Note: This is a duplicate effort of #1050 #1039 …

## Prerequistes
- [X] In case of feature or enhancement: documentation updated accordingly
- [X] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.

With these images, I have tested manually:
- Email receive to user
  - on main domain
  - on additional domain
  - via an alias on main-domain
  - via an alias on additional domain
  - via catchall
- Email reject
  - of eicar testfiles
- Email sending
- Fetchmail from legacy POP
- Front LE certificates
- Simple overriding for postfix (only postfix.cf), nginx, dovecot, rspamd
- Creating a CalDAV calendar and CardDAV entry using davx5

I have not (yet) tested:
- certdumper
- databases other than sqlite

Todo:
- [x] Get rid of podop at `git+https://github.com/Nebukadneza/Podop.git@fix_py37` once https://github.com/Mailu/Podop/pull/6 is merged
- [x] Bend Mailustart back to original repository
- [x] Test more (? also help wanted ?)

Co-authored-by: Thomas Sänger <thomas@gecko.space>
Co-authored-by: Dario Ernst <dario@kanojo.de>
Co-authored-by: Reto Glauser <git@blinkeye.ch>
2019-07-23 13:34:33 +00:00
kaiyou
23871d9180 Translated using Weblate (Russian)
Currently translated at 100.0% (163 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/ru/
2019-07-22 06:23:32 +00:00
kaiyou
0281b5a595 Translated using Weblate (Italian)
Currently translated at 71.8% (117 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/it/
2019-07-22 06:23:32 +00:00
kaiyou
45789d3f22 Translated using Weblate (Hungarian)
Currently translated at 100.0% (163 of 163 strings)

Translation: Mailu/admin
Translate-URL: https://translate.tedomum.net/projects/mailu/admin/hu/
2019-07-22 06:23:32 +00:00
Bambie07
e70d1e1455
fix dns dkim entry 2019-07-17 11:41:03 +02:00
Dario Ernst
1dbda71401 Adapt shared layer conf to now really-missing mailustart in admin (after merging webpack) 2019-07-14 13:12:59 +00:00
Dario Ernst
a8c3530bfa Remove accidentally reintroduced rsyslogd config 2019-07-14 13:12:28 +00:00
Dario Ernst
8c2e22f666 Merge branch 'master' into HorayNarea-feat-upgrade-alpine 2019-07-14 13:10:30 +00:00
bors[bot]
f77e1bdd0e Merge #1048
1048: Refactor admin using webpack r=mergify[bot] a=kaiyou

## What type of PR?

Refactoring

## What does this PR do?

This PR brings some refactoring to the admin container :
- remove the dependency to mailustart and replace it with socrate
- remove static assets from the repo and use Webpack for building them


Co-authored-by: hoellen <dev@hoellen.eu>
Co-authored-by: kaiyou <pierre@jaury.eu>
2019-07-14 12:21:49 +00:00
Dario Ernst
0f146cd811 Require python3.7-compatible podop
Which is still unreleased, but serves as a placeholder here.
2019-07-14 10:28:56 +00:00
Dario Ernst
0306be1eed Re-add missing MailuStar in admin
It turns out we were all blind and admin *does* use MailuStart
2019-07-14 10:27:57 +00:00
Dario Ernst
ce0c24e076 Merge branch 'master' into HorayNarea-feat-upgrade-alpine 2019-07-14 09:40:58 +00:00
Dario Ernst
53f754f5ac Remove MailuStart from admin and correct layer-sharing comments 2019-07-14 09:33:54 +00:00
Dario Ernst
93b54dcffe Install podop from pypi 2019-07-14 09:24:59 +00:00
Thomas Sänger
2c7d1d2f71
use HTTP/1.1 for proxyied connections 2019-07-11 22:38:34 +02:00
hoellen
31464c5c44 Change image back to alpine 2019-07-09 11:21:44 +02:00
hoellen
b351841418 Expose jQuery for use outside Webpack build 2019-07-08 18:19:09 +02:00
hoellen
90f678de52 add app.css and fix align of menu button 2019-07-08 16:53:25 +02:00
hoellen
616d40d225 Update password in commandline 2019-07-08 10:50:08 +02:00
Dario Ernst
bb2edb6eb6 Revert "Move alpine version definition out to variable"
This reverts commit c787e4bdbd.
2019-06-30 11:39:48 +00:00
hoellen
81a8acf9ec fix resolve issue 2019-06-30 13:18:55 +02:00
Dario Ernst
c787e4bdbd Move alpine version definition out to variable 2019-06-26 21:14:59 +00:00
Daniel Huber
ae290482c0
Format relay credentials file with jinja 2019-06-26 20:22:02 +02:00
Daniel Huber
515e95076a
Merge branch 'master' into feat-relay-auth 2019-06-26 19:52:54 +02:00
Dario Ernst
ea851e77d4 Remove reference to rsyslogd 2019-06-25 20:15:11 +00:00
Dario Ernst
3bfdff155c Use official Mailu/Podop 2019-06-25 19:54:05 +00:00
Dario Ernst
a253ca47fe Use official Mailu/MailuStart 2019-06-25 19:24:05 +00:00
Dario Ernst
d155b2c533 Start postfix directly with stdout logging 2019-06-25 19:24:05 +00:00
Dario Ernst
9c1675e9d8 Use TEMPORARY workaround-branch for podop python 3.7 compatability 2019-06-25 19:24:05 +00:00
Dario Ernst
f85b32914c Add newly missing plain SASL support in postfix 2019-06-25 19:24:05 +00:00
Dario Ernst
d1f80cca99 Update Dockerfiles to most recent alpine 3.10 2019-06-25 19:24:05 +00:00
Dario Ernst
96fbaecc2f Correct executables moved by alpine 2019-06-25 19:23:40 +00:00
Thomas Sänger
ef3c6c407a upgrade alpine base-image 2019-06-25 19:23:40 +00:00
kaiyou
baa5a8a4e0 Fix hostname resolution 2019-06-24 23:54:53 +02:00
kaiyou
c20a502695 Do not forcefully resolve optional hostnames 2019-06-24 20:54:50 +02:00
kaiyou
a3abf8c353 Add the assets source 2019-06-23 23:31:07 +02:00
kaiyou
4b620ba5d1 Merge branch 'hoellen-fix-sidebar-toggle' into refactor-admin-webpack 2019-06-23 14:28:02 +02:00
kaiyou
c147a371d7 Merge branch 'fix-sidebar-toggle' of https://github.com/hoellen/Mailu into hoellen-fix-sidebar-toggle 2019-06-23 14:24:56 +02:00
kaiyou
2d3560b396 Fix select2 using webpack-built assets 2019-06-23 14:19:06 +02:00
kaiyou
c2a04ab1d4 Update the build configuration to use webpack and compiled assets 2019-06-23 14:19:06 +02:00
kaiyou
ecdf0c25b3 Use webpack for building static assets 2019-06-23 14:19:06 +02:00
kaiyou
d7747639e9 Remove the dependency to mailustart, introducing socrate 2019-06-23 14:19:05 +02:00
cristi
f2a009795b Merge branch 'master' into admin_create_user_enhancement 2019-05-20 23:17:22 +03:00
bors[bot]
f1f5aef7d3 Merge #931
931: Resolve webmail in admin r=mergify[bot] a=ionutfilip

## What type of PR?
bug-fix

## What does this PR do?
Implement mailustart to resolve webmail in admin

### Related issue(s)
Fix #716 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
2019-05-09 06:46:09 +00:00
bors[bot]
2c90ac3334 Merge #962
962: Open some admin sidebar links in a new browser tab r=kaiyou a=mariooos

## What type of PR?

Enhancement

## What does this PR do?

Add target=_blank attribute to html <a href ...> tag in following admin sidebar links:
- Antispam
- Webmail
- Website
- Help


Co-authored-by: mariooos <48351788+mariooos@users.noreply.github.com>
2019-05-08 18:02:02 +00:00
bors[bot]
7021278bfb Merge #993
993: Make aliases case-insensitive (too) r=mergify[bot] a=Nebukadneza

Even though RFC5321 2.4 explains that local-parts are to be case-sensitive,
this does not seem to be how EMail is used today. Thus, instead of reverting
user-emails back to being case sensitive, let’s make aliases case-insensitive
too. Not only more consistent, this also allows users to enjoy receiving EMails
from large airlines or car-rental agencies onto their already existing aliases.

For the rare case of case sensitive aliases existing, let’s query for the
forced-lowercase alias only in the event that the preserved-case one isn’t
found …

closes #867

## What type of PR?
bug-fix

## What does this PR do?
Make aliases optionally case-insensitive: After attempting to resolve an alias in its preserved case, also attempt to match it case-insensitively.

This followed after some more thought from  #868 …

### Related issue(s)
closes #867

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Dario Ernst <dario@kanojo.de>
2019-05-08 17:34:37 +00:00
bors[bot]
df14935819 Merge #945
945: Add extra newline to main.cf r=mergify[bot] a=flopes89

This should prevent jinja from stripping the newline, which causes overrides to be appended after the comment section


## What type of PR?

Bugfix

## What does this PR do?

Adds a new empty newline a the end of `conf/main.cf` so prevent jinja from stripping it, by which overrides done with `postconf -e` are not appended correctly.

### Related issue(s)

see #941

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

Co-authored-by: Florian Peschka <flopes89@users.noreply.github.com>
2019-05-08 13:11:41 +00:00
bors[bot]
d76ba5ee39 Merge #1005
1005: distinguish disabled users in user list view by row color r=kaiyou a=zhuangyy

## What type of PR?

enhancement

## What does this PR do?

distinguish disabled users in user list view by row color

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Zhuang Yuyao <jssyan@qq.com>
2019-05-08 11:48:37 +00:00
kaiyou
645c423d09 Update messages.po (POEditor.com) 2019-05-07 09:24:31 +02:00
kaiyou
08bdc715bb Update messages.po (POEditor.com) 2019-05-07 09:24:29 +02:00
kaiyou
a150315c1d Added translation using Weblate (Japanese) 2019-05-07 07:21:09 +00:00
Weblate
abece125f4 Merge branch 'origin/master' into Weblate 2019-05-07 07:21:08 +00:00
kaiyou
d99ad5fe3e Added translation using Weblate (Hungarian) 2019-05-07 07:21:06 +00:00
kaiyou
b91c7f64ee Update messages.po (POEditor.com) 2019-05-07 09:15:56 +02:00
kaiyou
d929413784 Update messages.po (POEditor.com) 2019-05-07 09:15:54 +02:00
kaiyou
91c8ca1279 Update messages.po (POEditor.com) 2019-05-07 09:15:50 +02:00
kaiyou
c0263a2ae9 Update messages.po (POEditor.com) 2019-05-07 09:15:47 +02:00
kaiyou
80c57b597b Update messages.po (POEditor.com) 2019-05-07 09:15:45 +02:00
kaiyou
0566b00664 Update messages.po (POEditor.com) 2019-05-07 09:15:42 +02:00
kaiyou
c939b30e6b Update messages.po (POEditor.com) 2019-05-07 09:15:40 +02:00
kaiyou
308521ff9a Update messages.po (POEditor.com) 2019-05-07 09:15:37 +02:00
kaiyou
0ca18035e1 Update messages.po (POEditor.com) 2019-05-07 09:15:35 +02:00
kaiyou
8bcb4deb7e Update messages.po (POEditor.com) 2019-05-07 09:15:32 +02:00
kaiyou
65a61ad5c8 Added translation using Weblate (Icelandic) 2019-05-07 06:39:48 +00:00
kaiyou
57385df15c Deleted translation using Weblate (Icelandic) 2019-05-07 06:38:36 +00:00
kaiyou
cfc224352a Added translation using Weblate (Icelandic) 2019-05-07 06:33:36 +00:00
Zhuang Yuyao
67d5c8fcb3 distinguish disabled user in user list view by row color 2019-05-06 11:00:22 +08:00
Dario Ernst
e22324adcd Make aliases case-insensitive (too)
Even though RFC5321 2.4 explains that local-parts are to be case-sensitive,
this does not seem to be how EMail is used today. Thus, instead of reverting
user-emails back to being case sensitive, let’s make aliases case-insensitive
too. Not only more consistent, this also allows users to enjoy receiving EMails
from large airlines or car-rental agencies onto their already existing aliases.

For the rare case of case sensitive aliases existing, let’s query for the
forced-lowercase alias only in the event that the preserved-case one isn’t
found …

closes #867
2019-04-14 12:02:12 +00:00
hoellen
167e5a87e1 add sidebar toggle button 2019-04-14 11:52:01 +02:00
hoellen
92ef73fa74 update AdminLTE to version 2.4 2019-04-14 11:30:55 +02:00
mariooos
253ae9fad8 Open some admin sidebar links (Antispam, Webmail, Website, Help) in a new browser tab 2019-03-08 14:11:58 +01:00
Ionut Filip
ac0fc41421
Merge branch 'master' into replace-gethostbyname 2019-03-08 14:47:21 +02:00
Ionut Filip
dd7710951e
Replaced double quotes with single ones 2019-03-08 14:45:22 +02:00
Daniel Huber
7dcb2eb006
Add authentication for email relays 2019-03-04 18:54:53 +01:00
Ionut Filip
8d34756023 Increase dovecot mail max userip 2019-02-21 17:15:56 +02:00
Florian Peschka
b9fd29a52f
Add extra newline to main.cf
This should prevent jinja from stripping the newline, which causes overrides to be appended after the comment section

see #941
2019-02-19 21:09:50 +01:00
Ionut Filip
0ce0b5ec02 Fix addresses in front 2019-02-18 15:41:22 +02:00
Ionut Filip
4c25c83419 HOST_* and *_ADDRESS variables cleanup 2019-02-18 14:46:48 +02:00
Ionut Filip
f9e3cd3c5d Use corret host_* variables 2019-02-15 16:49:56 +02:00
Ionut Filip
71d63c6e45 Fix redis resolve in imap 2019-02-15 16:20:55 +02:00
Ionut Filip
ef49357eb3 Update redis urls 2019-02-15 16:07:23 +02:00
Ionut Filip
43abbf4d63 Resolve redis and add logging 2019-02-15 15:37:55 +02:00
bors[bot]
211136f9b1 Merge #934
934: Pass optional arguments to domain model r=mergify[bot] a=ionutfilip

## What type of PR?
bug-fix

## What does this PR do?
Passing optional args to domain model when using cli.

### Related issue(s)
Fixes #933

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
2019-02-13 21:58:49 +00:00
bors[bot]
d129733fac Merge #919
919: Install bash in alpine based images. r=mergify[bot] a=firvida

This fixes #918

Bash shell is used by default in Kubernetes' dashboard console, which is very
useful for admins.

## What type of PR?

bug-fix

## What does this PR do?

### Related issue(s)
- closes #918 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Abel Alfonso Fírvida Donéstevez <abel@merchise.org>
2019-02-13 21:31:25 +00:00
hoellen
62511b723b
Merge branch 'master' into fix-doc-commands-1 2019-02-13 19:31:39 +01:00
Ionut Filip
4d2844c1f5 Fixed arguments passed to domain 2019-02-13 16:43:45 +02:00
Roman Hoellen
1dfef1609a add domain cli to docs 2019-02-13 10:53:40 +01:00
Ionut Filip
cebc64a280 Resolve HOST_WEBMAIL in admin 2019-02-13 11:48:32 +02:00
Roman Hoellen
bc617cf8ec replace _ with - in cli options 2019-02-13 10:30:08 +01:00
Tim Möhlmann
111dae351a
Fix typo in migration file
Fixes #905
2019-02-12 18:17:38 +02:00
Abel Alfonso Fírvida Donéstevez
39444c794e Install bash in alpine based images.
This fix https://github.com/Mailu/Mailu/issues/918

Bash shell is used by default in Kubernetes' dashboard console, which is very
useful for admins.
2019-02-06 15:01:02 -05:00
bors[bot]
86b4242f82 Merge #886
886: Ipv6 support r=mergify[bot] a=muhlemmer

## What type of PR?

(Feature, enhancement, bug-fix, documentation) -> A bit of everything

## What does this PR do?

Document how to use ipv6nat. This, however triggers some kind of flaky behavior with the Docker DNS resolver, resulting in lookup failures between containers.  So all resolving needs to be done during container startup/configuration.

In order not to pollute every single start.py file, we've created a small library called [Mailu/MailuStart](https://github.com/Mailu/MailuStart). As an addition, this library also defines the template generation function, including its logging facility.

Note: `docker-compose.yml` downgrade is necessary, as IPv6 settings are not supported by the Docker Compose file format 3 😞  

### Related issue(s)
Supersedes  PR #844
- Fixes #827 
- Hopefully helps with #829 and #834

## No backport yet

This PR directly imports MailuStart from git. This makes it a bit more simple to implement on the short term an do some testing and probably some future improvements. When everything is proved stable, we will create a proper PyPi package with versioning and consider back porting.

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
2019-02-06 12:56:40 +00:00
Tim Möhlmann
06457e9617
Merge branch 'master' into fix_fetches_create 2019-01-28 12:52:42 +02:00
cr1st1p
9b65a6c862
Merge branch 'master' into admin_create_user_enhancement 2019-01-25 23:36:06 +02:00
Ionut Filip
f8dffe5a19
Resolve hosts in admin 2019-01-25 17:26:45 +02:00
Ionut Filip
004a431e97
Change to mailustart functions 2019-01-25 17:26:45 +02:00
Dario Ernst
34b31727c4 Fix password validator for creating fetched accounts 2019-01-25 15:08:41 +01:00
cristi
a071181c61 Allow to automatically create admin account during startup. 2019-01-25 16:04:20 +02:00
hoellen
fba246e9a1 add wildcard option to cli (alias) 2019-01-24 21:32:22 +01:00
Ionut Filip
9684ebf33f Use mailustart package from git 2019-01-24 14:53:02 +02:00
hoellen
808092c65e
Merge pull request #834 from hoellen/token-ipv6
allow ipv6 addresses for tokens
2019-01-23 21:30:13 +01:00
Tim Möhlmann
e341e0141f
Merge remote-tracking branch 'upstream/master' into token-ipv6 2019-01-22 13:55:56 +02:00
Manuel Vázquez Acosta
dfe5ddb18e
Check if sender address is not null before trying to check the domain. 2019-01-22 05:50:20 -05:00
Tim Möhlmann
fd236e4ea5
Fix syntax error 2019-01-17 18:06:40 +02:00
Tim Möhlmann
7a9685bcb9
Resolve admin during start to work around Docker DNS flaky-ness 2019-01-17 16:40:44 +02:00
nathan-sain
23bad0e042
Set value for SQLALCHEMY_DATABASE_URI in admin DEFAULT_CONFIG to SQLite URI 2019-01-17 07:58:47 -06:00
nathan-sain
db8977e17a
Update SQLite DB file in DEFAULT_CONFIG and DB_TEMPLATES 2019-01-17 00:32:12 -06:00
hoellen
6dea8b422a
Merge pull request #839 from hoellen/fix-create-onupdate-default
fix default value for created_at and updated_at
2019-01-16 12:11:13 +01:00
hoellen
79c4edcaf1
Merge pull request #838 from hoellen/schema-maxUserQuota-1
Change quota columns type to BigInteger
2019-01-16 12:07:50 +01:00
hoellen
54169db7e3
Merge branch 'master' into fix-forward-validation 2019-01-15 18:55:08 +01:00
hoellen
9721df0bc5 fix default value for created_at and updated_at
Use date instead of datetime for created_at and updated_at.
2019-01-15 16:41:58 +01:00
hoellen
cfa7ca3838 Merge branch 'master' into schema-maxUserQuota-1 2019-01-15 16:22:54 +01:00
hoellen
f1e1c96c3b create migration file for changing quota to big integer 2019-01-15 15:32:00 +01:00
Ionut Filip
2d34f0ee52 Fixed auto-forward email validation 2019-01-15 14:03:09 +02:00
hoellen
c8758a6526 allow ipv6 addresses for tokens 2019-01-13 16:45:41 +01:00
hoellen
2af540a1c9 change quota columns to bigint 2019-01-13 16:40:28 +01:00
Dario Ernst
66df7a31b0 Unify and coerce booleans from env used in admin
At some places, the string that DOMAIN_REGISTRATION is got used like a boolean
(an easy misassumption to make while in python and dealing with the config
dict), making `DOMAIN_REGISTRATION=False` act as a truthy value. To stop such
future problems from happening, coerce environment config strings to real
bools.

closes #830
2019-01-13 10:22:32 +01:00
mergify[bot]
9175b15d49
Merge pull request #826 from Nebukadneza/reverse_user_alias_pref
Reverse the resolution order of user and alias
2019-01-11 16:28:35 +00:00
mergify[bot]
278bcfb13a
Merge pull request #814 from Nebukadneza/fix_delimiter_alias
Deliver mails to alias-stripped-of-delimeter, even if catchall exists
2019-01-11 14:06:35 +00:00
Dario Ernst
276dc3ffda Reverse the resolution order of user and alias
Since it’s common for wildcard~ish systems to prefer concrete objects over
wildcards, and aliases can be broad-wildcards (think catchall, %@xxx.tld), it
may be more intuitive for users that user-names rank higher than aliases. This
makes it impossible for user-names to be unreachable, since they can be
completely overridden by a catchall otherwise.

This changes default behavior, and is not configurable.

closes #815
2019-01-11 11:51:56 +01:00
Tim Möhlmann
8541ae2c46
Fix migration order after merge 2019-01-11 12:49:07 +02:00
mergify[bot]
99cd1d714b
Merge pull request #799 from hoellen/fix-domain-negative-values-1
don't allow negative values on domain creation/edit
2019-01-11 09:57:15 +00:00
Tim Möhlmann
2567646f47
Merge branch 'master' into fix-domain-negative-values-1 2019-01-11 11:32:30 +02:00
Ionut Filip
50343f354e Merge remote-tracking branch 'upstream/master' into feat-psql-support 2019-01-11 11:21:22 +02:00
Dario Ernst
b8d1beed29 Simplify alias-wildcard detection to not consider actual % anymore 2019-01-10 23:06:56 +01:00
Dario Ernst
10d2601963 Unsimplify alias precedence handling
As discussed with hoellen on matrix, since postfix indeed supports including
the recipient delimiter character in a verbatim alias, we should support so too
— and handle its precedence correctly. The clearer and simpler formulation of
the precedence-clauses are credit to @hoellen. Thanks!
2019-01-10 17:30:11 +01:00
mergify[bot]
b4822ad43e
Merge pull request #821 from HorayNarea/fix-remove-fts
remove (broken) FTS
2019-01-10 11:38:37 +00:00
mergify[bot]
161394a774
Merge pull request #817 from hoellen/fix-fetch-passwordfield-1
fix edit of fetched acc without changing password
2019-01-10 11:10:46 +00:00
Thomas Sänger
492f3867d8
remove (broken) FTS 2019-01-10 12:09:08 +01:00
Dario Ernst
ac64a75743 Simplify alias precedence handling; Remove bogus changelog 2019-01-10 10:28:57 +01:00
mergify[bot]
520ebbb97d
Merge pull request #819 from hoellen/move-spam-1
Mark messages as seen when reporting them as spam
2019-01-10 02:08:12 +00:00
hoellen
7247b4b10c
Merge branch 'master' into fix-password-on-user-edit 2019-01-09 21:14:18 +01:00
hoellen
b65d70cf1e mark spam as seen 2019-01-09 20:12:17 +01:00
hoellen
a59d5dad23 fix edit of fetched acc without changing password 2019-01-09 12:52:05 +01:00
hoellen
f08491dc46 fix forced password on user edit 2019-01-09 12:09:14 +01:00
Ionut Filip
2b0a2d561b Fix connection to mysql db 2019-01-09 12:53:59 +02:00
Dario Ernst
291f8a457b Deliver mails to alias-stripped-of-delimeter, even if catchall exists
This fixes delivery to an alias minus recipient delimiter in cases where a
wildcard alias would also match. For example,
* foo@xxx.tld
* %@xxx.tld
Sending to foo+spam@xxx.tld would get eaten by the catchall before this fix.
Now, the order of alias resolution is made clearer.

closes #813
2019-01-09 11:41:22 +01:00
hoellen
732b5fe161 change password field type in fetch creation/edit and add validators. 2019-01-08 19:44:27 +01:00
mergify[bot]
4204facd85
Merge pull request #810 from usrpro/feat-logging
Implement some degree of logging
2019-01-08 15:53:31 +00:00