You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mailu/docs
bors[bot] 4ff90683ca
Merge #1758 #1776
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>
3 years ago
..
_templates Restore VERSION_TAG template 6 years ago
assets removing unneeded image 4 years ago
compose Merge #1694 3 years ago
contributors Added new docker repo for test image. Adapted deploy script to use env var for test repo name. Modified travis references to github actions references in docs. Added changelog entry. 3 years ago
kubernetes Warn people off of the documentation's K8s recipe. 4 years ago
swarm add some docs about _FILE variables 4 years ago
.env Add deploy settings for server 6 years ago
Dockerfile Docs: treat warnings as errors 5 years ago
antispam.rst Add documentation for the web administration gui. 4 years ago
cli.rst Misc improvements to PASSWORD_SCHEME 3 years ago
conf.py Completely remove step 5 where you can set the replica count for docker-stack. 4 years ago
configuration.rst Document databases variable and deprecation 3 years ago
database.rst Improve english 3 years ago
demo.rst Fixed small typo 5 years ago
dns.rst Update docs/dns.rst 5 years ago
docker-compose.yml Make docker-compose.yml for setup and docs development friendly 6 years ago
faq.rst Merge #1806 3 years ago
features.rst remove service status "feature" 4 years ago
general.rst Fix the rst syntax for most documentation 7 years ago
index.rst Add documentation for the web administration gui. 4 years ago
maintain.rst Include a doc section for external certbot 6 years ago
nginx.conf Build the documentation as a Docker image 6 years ago
releases.rst rewording about the usage of PostgreSQL 3 years ago
requirements.txt Revert "Add a Dockerfile for buliding the docs" 6 years ago
reverse.rst Merge #1649 #1673 3 years ago
rpi_build.rst RPi: update doc (alpine version + variables) 5 years ago
setup.rst Preparations for 1.8 release. 4 years ago
webadministration.rst added lmtp: prefix and documentation 3 years ago