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/towncrier/newsfragments
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
..
224.feature DNS records for client autoconfiguration (RFC6186) 4 years ago
1194.feature Implement a simple credential cache 4 years ago
1503.doc Update docs/reverse.rst with Traefik v2+ info 4 years ago
1607.feature add towncrier for #1607 4 years ago
1610.feature add towncrier for 1610 4 years ago
1618.feature add newsfragemnt for #1618 4 years ago
1638.fix Add changelog 4 years ago
1660.bugfix towncrier 4 years ago
1662.feature Improve the towncrier messages 4 years ago
1669.bugfix Fix extract_host_port port separation 4 years ago
1686.bugfix Fix letsencrypt access to certbot for the mail-letsencrypt flavour 4 years ago
1694.feature update newsfragment #1694 3 years ago
1696.misc fix changelog entry from feature to misc 4 years ago
1712.misc Add newsfragment 4 years ago
1720.bugfix Use alpine 3.13 to fix CVE-2020-25275 and CVE-2020-24386 4 years ago
1753.feature Improve the towncrier messages 4 years ago
1760.bugfix Add changelog 4 years ago
1783.misc towncrier 4 years ago
1828.misc 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
1830.misc Forgot to set permissions on images folder. Added changelog. 3 years ago
1831.bugfix Add changelog entry 3 years ago
1837.bugfix Add newsfragment 3 years ago