Commit graph

282 commits

Author SHA1 Message Date
aszlig
1b1f85a156
acme: Don't restrict challenge types (#1522)
When testing my Stalwart deployment with Pebble[1], I got the following
ACME error:

  ACME error (acme.error) {
    reason = "unknown variant `dns-account-01`, expected one of `http-01`, `dns-01`, `tls-alpn-01` at line 15 column 33",
    details = JSON deserialization failed
  }

In RFC 8555 section 8[2], the validation challenges are meant to be
extensible:

> The identifier validation challenges described in this section all
> relate to validation of domain names. If ACME is extended in the
> future to support other types of identifiers, there will need to be
> new challenge types, and they will need to specify which types of
> identifier they apply to.

The mentioned error refers to the following draft:

https://datatracker.ietf.org/doc/html/draft-ietf-acme-dns-account-label-01

Pebble already implemented[3] this and while it's IMHO too early to
already support this in Stalwart, we should at least make sure that we
don't break existing deployments in case ACME CAs one day add more
challange types like the above.

[1]: https://github.com/letsencrypt/pebble
[2]: https://datatracker.ietf.org/doc/html/rfc8555#section-8
[3]: https://github.com/letsencrypt/pebble/pull/435

Signed-off-by: aszlig <aszlig@nix.build>
2025-05-25 10:43:59 +02:00
mdecimus
1efaedcc27 Train spam messages as ham when the sender is in the user's address book 2025-05-24 10:17:41 +02:00
mdecimus
c19d2ceb43 Fixed tests for FDB and SQL stores 2025-05-23 17:07:36 +02:00
mdecimus
4505b1cad1 Renamed cluster.pubsub to cluster.coordinator 2025-05-21 18:57:38 +02:00
mdecimus
699fca25e0 Bump open-telemetry to 0.29, tokio to 1.45 2025-05-21 15:49:26 +02:00
mdecimus
8511de8a4d Updated setting names 2025-05-20 18:00:15 +02:00
mdecimus
9cf2863a8e Stalwart Mail Server is now just Stalwart 2025-05-20 09:59:54 +02:00
mdecimus
c6ef70edd2 Added caching logging + Update config properties 2025-05-19 19:11:15 +02:00
mdecimus
c79367f790 Fixed queue migration, tenant quotas API and bumped dependencies 2025-05-18 11:58:36 +02:00
mdecimus
4e5c4554c7 Updated DAV config properties + Added 'nats' feature to CI job 2025-05-18 10:42:45 +02:00
mdecimus
65fe4b1b49 Sequential change ids 2025-05-17 21:48:30 +02:00
Tobias Genannt
2b36d50c59
Add description to ID token (#1234) 2025-05-16 17:19:10 +02:00
mdecimus
dcdf68b774 XOAUTH2 support (closes #1194 closes #1369) 2025-05-16 17:17:13 +02:00
mdecimus
f667da0d4f Update cargo version to v0.12.0 2025-05-16 16:47:21 +02:00
mdecimus
cee4149ef4 RFC9698 - JMAPACCESS Extension for IMAP 2025-05-16 16:44:37 +02:00
mdecimus
10bb4e5661 Automated schema migration 2025-05-16 16:20:05 +02:00
mdecimus
365c87af20 Unversioned archiving 2025-05-16 16:20:05 +02:00
mdecimus
839b7189fa Nats + Redis PubSub cluster updates replacing Gossip protocol 2025-05-16 16:20:05 +02:00
mdecimus
7ec5701af8 Zero-copy deserialization of Sieve scripts and reports + Bump multiple dependencies to their latest versions 2025-05-16 16:20:05 +02:00
mdecimus
095c501a66 WebDAV permissions and logging (closes #1362) 2025-05-16 16:20:05 +02:00
mdecimus
fe7d646966 Groupware caching improvements 2025-05-16 16:20:05 +02:00
mdecimus
e69b5ec2b7 Message caching improvements 2025-05-16 16:20:05 +02:00
mdecimus
cb03036998 WebDAV ACL tests 2025-05-16 16:20:05 +02:00
mdecimus
d72ae41058 WebDAV LOCK and multiget/sync-collection REPORT 2025-05-16 16:20:05 +02:00
mdecimus
5416e35d4d WebDAV COPY/MOVE tests 2025-05-16 16:20:04 +02:00
mdecimus
91944162d9 Basic, PUT, GET, DELETE and MKCOL WebDAV tests 2025-05-16 16:20:04 +02:00
mdecimus
f74ec98c0d CalDAV query, freebusy and expand-property reports 2025-05-16 16:20:04 +02:00
mdecimus
e10e94325f Hide the current server version (closes #1435) 2025-05-16 16:20:04 +02:00
mdecimus
ee7c953279 CalDAV basic implementation 2025-05-16 16:20:04 +02:00
mdecimus
10ae19f2eb CardDAV working with Thunderbird and Apple Contacts 2025-05-16 16:20:04 +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
d6dc6ee8c5 Zero-copy principals + CompactString partial impl 2025-05-16 16:20:04 +02:00
mdecimus
0568456d29 Improved cache memory layout 2025-05-16 16:20:04 +02:00
mdecimus
15651c26a1 Incremental caching - tests passing 2025-05-16 16:20:04 +02:00
mdecimus
b396341240 Incremental caching 2025-05-16 16:20:04 +02:00
mdecimus
b9d93730c7 CardDAV addressbook-query 2025-05-16 16:20:04 +02:00
mdecimus
a06c94d45d CardDAV PROPFIND + multiget REPORT 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
76f085ab7c CardDAV GET + PUT 2025-05-16 16:20:04 +02:00
mdecimus
372f2bec70 CardDAV skeleton + Message ingestion performance improvements 2025-05-16 16:20:04 +02:00
mdecimus
a5e6f77b26 ACL method and reports 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
2b8752a3fc Propfind partial implementation 2025-05-16 16:20:03 +02:00
mdecimus
1a8efb2182 DAV Propfind partial impl 2025-05-16 16:20:03 +02:00
mdecimus
9491071731 Store changing message data in single object 2025-05-16 16:20:03 +02:00
mdecimus
d3b284e28d Include integrity hash in serialized bytes 2025-05-16 16:20:03 +02:00
mdecimus
1f950b40de DAV file move/copy/rename 2025-05-16 16:20:03 +02:00
mdecimus
110ec14fe6 DAV file management delete 2025-05-16 16:20:03 +02:00
mdecimus
eadd36f4cb DAV storage methods 2025-05-16 16:20:03 +02:00
mdecimus
3554dea4cb Improved topological sorting 2025-05-16 16:20:03 +02:00