Commit Graph

80 Commits

Author SHA1 Message Date
mdecimus
c19d2ceb43 Fixed tests for FDB and SQL stores 2025-05-23 17:07:36 +02:00
mdecimus
4b89e5d33f Add cluster orchestration support for Kafka and Zenoh 2025-05-21 17:33:24 +02:00
mdecimus
7e76bcd7f1 Fix purge and enterprise tests 2025-05-18 09:47:46 +02:00
mdecimus
65fe4b1b49 Sequential change ids 2025-05-17 21:48:30 +02:00
mdecimus
839b7189fa Nats + Redis PubSub cluster updates replacing Gossip protocol 2025-05-16 16:20:05 +02:00
mdecimus
c5596fb656 Partial rollback of CompactString after benchmarking (or 'premature optimization is the root of all evil') 2025-05-16 16:20:04 +02:00
mdecimus
fac2975a5a Storage layer refactoring: faster id generation, automatic batching and virtual thread ids 2025-05-16 16:20:04 +02:00
mdecimus
3f825aaafd DAV server passing Litmus test suite 2025-05-16 16:20:04 +02:00
mdecimus
2826ff1548 How I stopped worrying and learned to love zero-copy deserialization 2025-05-16 16:20:00 +02:00
mdecimus
d4ac752276 Add eDNS option + fix blob range bug 2025-03-09 17:32:32 +01:00
Mauro D.
927576583d Revert "Fix off-by-one error in get_blob with Range (#766)" (#1295)
This reverts commit b4c00ebe90.
2025-03-09 17:21:55 +01:00
mdecimus
44f8ef29e1 Bump to Rust 2024 2025-02-21 09:59:23 +01:00
mdecimus
2eb388674d Refactored local delivery to avoid mpsc channel 2025-01-17 15:29:55 +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
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
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
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
tamwuff
9b4f5e8c75 Support Azure blob storage in a similar fashion to S3. (#907) 2024-11-10 08:45:50 +01:00
mdecimus
51ccdf0c03 AI endpoint -> url setting rename 2024-10-13 09:59:03 +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
d0303aefa8 Test fixes - part 3 2024-09-18 11:18:43 +02:00
mdecimus
dcc31e8b3e Metric history + Live metrics 2024-08-23 16:21:35 +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
abd318b678 Message delivery history + Live tracing 💎 2024-08-14 17:29:42 +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
mdecimus
5a43455917 Tracing macro improvements 2024-08-03 20:10:01 +02:00
mdecimus
ae7cadc27d Improved tracing (part 1) 2024-07-23 12:44:14 +02:00
mdecimus
9c23774aa5 Lock-free fast tracing (closes #180) 2024-07-22 17:56:24 +02:00
mdecimus
d48523583b Improved error handling (part 4) 2024-07-18 20:04:09 +02:00
mdecimus
d2ad44cf9f Improved error handling (part 3) 2024-07-17 18:33:22 +02:00
mdecimus
0c2a3f09fe Improved error handling (part 1) 2024-07-11 18:44:51 +02:00
mdecimus
50a2f50e58 REUSE-compliant licensing 2024-06-25 19:57:25 +02:00
mdecimus
66cc0a3072 Faster email deletion, Junk/Trash folder auto-expunge and changelog auto-expiry (closes #403) 2024-05-19 12:15:35 +02:00
mdecimus
398b31b40b Improved full-text indexing 2024-05-12 18:15:41 +02:00
mdecimus
fb110fb078 FoundationDB performance improvements 2024-05-02 10:19:06 +01:00
mdecimus
0514ac0f0d Individual subspaces for each value and bitmap type 2024-05-02 10:19:06 +01:00
mdecimus
c6960bfba8 documentId generation within the database transaction 2024-05-02 10:18:58 +01:00
mdecimus
1950366629 v0.7.3 2024-04-30 19:52:05 +02:00
mdecimus
44f531ecf9 Fixed compile without SQL dbs 2024-04-07 17:39:58 +02:00
mdecimus
cb4d2f15ae Config hot reloading API 2024-03-28 17:21:32 +01:00