Commit Graph

188 Commits

Author SHA1 Message Date
mdecimus
4c7052d227 mySQL rollback on bitmap errors 2025-01-29 18:55:05 +01:00
mdecimus
3c7caddd98 Added context to SMTP rate limiter keys 2025-01-19 11:36:13 +01:00
mdecimus
2eb388674d Refactored local delivery to avoid mpsc channel 2025-01-17 15:29:55 +01:00
mdecimus
4901411900 Fixed S3 backoff bug 2025-01-16 18:58:02 +01:00
mdecimus
bfba299e6b Increased concurrency for local message delivery 2025-01-16 18:52:46 +01:00
mdecimus
ef721412da Add return value option to counter_incr 2025-01-16 12:46:19 +01:00
mdecimus
a491c6388f Automatic key migration 2025-01-14 11:44:46 +01:00
mdecimus
76c53af46b Fixed distributed locking in non-Redis stores (#1066) 2025-01-13 20:28:30 +01:00
mdecimus
5bec52b231 Revoke access token when permissions change (closes #649) 2025-01-13 17:41:35 +01:00
mdecimus
3612d5fc5d Clippy fixes 2025-01-11 11:43:45 +01:00
mdecimus
7dfaa5bf11 Reset IMAP UIDs endpoint 2025-01-03 09:15:05 +01:00
mdecimus
30cf967623 Updated directory caching 2024-12-29 18:00:36 +01:00
mdecimus
8b30c04794 Centralized caching + Bayes token cache 2024-12-29 12:13:07 +01:00
mdecimus
3530b6625f Sharded in-memory store 2024-12-27 15:49:30 +01:00
mdecimus
e5ebc5ce33 Delete in-memory keys by prefix 2024-12-26 19:01:49 +01:00
mdecimus
65209174f0 Bayes filtering per account (#819) + Delivered-To header (#916) 2024-12-24 18:02:12 +01:00
mdecimus
2cfe467b20 Purge task locking and spam rule fixes] 2024-12-23 15:00:25 +01:00
mdecimus
7cca6fc298 HTTP remote lists and Spam filter improvements 2024-12-22 19:35:22 +01:00
mdecimus
d14706d088 Distributed locking improvements 2024-12-21 19:22:38 +01:00
mdecimus
07449a3622 Port Spam filter to Rust - part 6 2024-12-15 18:01:17 +01:00
mdecimus
db7ae48c77 Port Spam filter to Rust - part 1 2024-12-06 18:35:39 +01:00
mdecimus
03d9dabed3 Clippy fixes 2024-12-01 20:13:06 +13:00
mdecimus
b2bac5d5aa Support for external email addresses on mailing lists (closes #152) 2024-11-13 19:38:54 +13:00
Tamino
3b950cecec A couple of small fixes in the recently-added Azure blob storage support (#910)
Notably, renaming the "access-key" configuration field to "azure-access-key", not because
stalwart-mailserver needs the field name to change, but because having a field whose name
is the same between Azure and S3 but whose function is different, causes headaches for
webadmin.
2024-11-12 03:40:06 +01:00
mdecimus
5a6b191bd4 Azure backend minor fixes 2024-11-10 08:54:14 +01:00
tamwuff
9b4f5e8c75 Support Azure blob storage in a similar fashion to S3. (#907) 2024-11-10 08:45:50 +01:00
mdecimus
9742149ce8 Mark SQL store as active if used as a telemetry store 2024-11-09 16:45:28 +01:00
mdecimus
9e78aaa751 Add context to iteration errors 2024-10-17 17:30:45 +02:00
mdecimus
51ccdf0c03 AI endpoint -> url setting rename 2024-10-13 09:59:03 +02:00
mdecimus
3ac7cd0f95 S3 retries on 5xx errors 2024-10-04 18:45:45 +02:00
afontenot
b4c00ebe90 Fix off-by-one error in get_blob with Range (#766)
When range.end == decompressed.len(), the last value in the range will
also be the last value in decompressed, because ranges ends are
exclusive.

This issue had two consequences that I have noticed. The first is that
requesting the last (or only) message part via JMAP will result in the
entire message being returned instead, because the range ends on the
last byte of the message.

The second issue, which resulted from the first, was that attempting to
fetch the last (or only) message part would almost always fail when
requested via JMAP if the message part used the quoted-printable
transfer encoding. This is because Stalwart would attempt to decode the
blob, but since the entire file was returned, this would include
headers which are very likely to break assumptions made by the decoder,
e.g. unexpected '=' tokens as in 'charset=UTF-8'

The second issue was originally reported here:
https://github.com/stalwartlabs/mail-server/discussions/758
2024-09-22 09:15:49 +02:00
mdecimus
a67f308645 Branding + fixes 2024-09-19 19:39:35 +02:00
mdecimus
d0303aefa8 Test fixes - part 3 2024-09-18 11:18:43 +02:00
mdecimus
d214468c54 Roles and multi-tenancy - part 1 2024-09-12 17:42:14 +02:00
mdecimus
fbcf55d8e1 Access token permissions 2024-09-10 18:44:44 +02:00
mdecimus
794b8f2e50 Fix: Lookup reload does not include database settings 2024-09-08 17:01:38 +02:00
mdecimus
dcc31e8b3e Metric history + Live metrics 2024-08-23 16:21:35 +02:00
mdecimus
fe0ccb11bd Do not insert empty keywords in FTS index 2024-08-22 12:33:23 +02:00
mdecimus
bd4129e160 Fixed tracing index table type for SQL stores 2024-08-21 18:32:59 +02:00
mdecimus
6d76b26fb8 Fix compile flags for SQL Read Replicas 2024-08-20 17:27:03 +02:00
mdecimus
ec23236b06 Include Forwarded-For IP address in http.request-url event (closes #682) 2024-08-17 17:29:15 +02:00
mdecimus
79297c37b0 Fixed read replicas 2024-08-14 20:00:24 +02:00
mdecimus
e2eb851bfc Add sql replicas to stores 2024-08-14 19:26:21 +02:00
mdecimus
d5f356ae6f Do not create tables when using SQL as an external directory (fixes #291) 2024-08-14 18:54:36 +02:00
mdecimus
349bbbbe05 Do not create tables when using SQL as an external directory (fixes #291) 2024-08-14 18:54:30 +02:00
mdecimus
abd318b678 Message delivery history + Live tracing 💎 2024-08-14 17:29:42 +02:00
mdecimus
be656ddd0c Retry logic for SQL read replicas 2024-08-13 17:17:38 +02:00
mdecimus
6b92961c36 SQL Read replicas and Distributed blob storage 💎 (closes #441) 2024-08-11 19:30:00 +02:00
mdecimus
f957cbb60f Replace lazy_static and OnceLock with LazyLock 2024-08-09 15:38:19 +02:00
mdecimus
a3284b8bc3 Metrics collector 2024-08-06 19:23:02 +02:00