4ff90683ca
1758: Implement a simpler credential cache (alternative to #1755) r=mergify[bot] a=nextgens ## What type of PR? Feature: it implements a credential cache to speedup authentication requests. ## What does this PR do? Credentials are stored in cold-storage using a slow, salted/iterated hash function to prevent offline bruteforce attacks. This creates a performance bottleneck for no valid reason (see the rationale/long version on https://github.com/Mailu/Mailu/issues/1194#issuecomment-762115549). The new credential cache makes things fast again. This is the simpler version of #1755 (with no new dependencies) ### Related issue(s) - close #1411 - close #1194 - close #1755 ## 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. 1776: optimize generation of transport nexthop r=mergify[bot] a=ghostwheel42 ## What type of PR? bug-fix and enhancement. ## What does this PR do? Possibly there should be more input validation when editing a relay, but for now this tries to make the best out of the existing "smtp" attribute while maintaining backwards compatibility. When relay is empty, the transport's nexthop is the MX of the relayed domain to fix #1588 ``` RELAY NEXTHOP TRANSPORT empty use MX of relay domain smtp:domain :port use MX of relay domain and use port smtp:domain:port target resolve A/AAAA of target smtp:[target] target:port resolve A/AAAA of target and use port smtp:[target]:port mx:target resolve MX of target smtp:target mx:target:port resolve MX of target and use port smtp:target:port lmtp:target resolve A/AAAA of target lmtp:target lmtp:target:port resolve A/AAAA of target and use port lmtp:target:port target can also be an IPv4 or IPv6 address (an IPv6 address must be enclosed in []: [2001:DB8::]). ``` When there is proper input validation and existing database entries are migrated this function can be made much shorter again. ### Related issue(s) - closes #1588 - closes #1815 ## 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: Florent Daigniere <nextgens@freenetproject.org> Co-authored-by: Alexander Graf <ghostwheel42@users.noreply.github.com> |
||
---|---|---|
.github | ||
core | ||
docs | ||
optional | ||
setup | ||
tests | ||
towncrier | ||
webmails | ||
.gitignore | ||
.mergify.yml | ||
AUTHORS.md | ||
bors.toml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
ISSUE_TEMPLATE.md | ||
LICENSE.md | ||
PULL_REQUEST_TEMPLATE.md | ||
pyproject.toml | ||
README.md |
Mailu is a simple yet full-featured mail server as a set of Docker images. It is free software (both as in free beer and as in free speech), open to suggestions and external contributions. The project aims at providing people with an easily setup, easily maintained and full-featured mail server while not shipping proprietary software nor unrelated features often found in popular groupware.
Most of the documentation is available on our Website, you can also try our demo server before setting up your own, and come talk to us on Matrix.
Features
Main features include:
- Standard email server, IMAP and IMAP+, SMTP and Submission
- Advanced email features, aliases, domain aliases, custom routing
- Web access, multiple Webmails and administration interface
- User features, aliases, auto-reply, auto-forward, fetched accounts
- Admin features, global admins, announcements, per-domain delegation, quotas
- Security, enforced TLS, Letsencrypt!, outgoing DKIM, anti-virus scanner
- Antispam, auto-learn, greylisting, DMARC and SPF
- Freedom, all FOSS components, no tracker included
Contributing
Mailu is free software, open to suggestions and contributions. All components are free software and compatible with the MIT license. All specific configuration files, Dockerfiles and code are placed under the MIT license.