[Dovecot-news] Pigeonhole v0.5.21 released

2023-09-15 Thread Aki Tuomi via Dovecot-news
Hi all!

We are pleased to release v0.5.21 of Pigeonhole.

https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-0.5.21.tar.gz
https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-0.5.21.tar.gz.sig
Binary packages in https://repo.dovecot.org/
Docker images in https://hub.docker.com/r/dovecot/dovecot

Regards,
Aki Tuomi
Open-Xchange oy
---

- sieve: Using the deleteheader action on a message with a broken/invalid
  header can cause the Sieve interpreter to crash with an assert panic.
  This can happen e.g. when the message is missing the empty EOH line
  between the headers and the body of the message. Fixes:
  Panic: file edit-mail.c: line 820 (edit_mail_headers_parse):
  assertion failed: (body_offset > 0).
- sieve: Pigeonhole added an extra Message-ID header during mail
  forwarding when the existing one was invalid. Now it adds the
  Message-ID only if it is entirely missing. Existing Message-ID(s) are
  left unchanged.


signature.asc
Description: PGP signature
___
Dovecot-news mailing list -- dovecot-news@dovecot.org
To unsubscribe send an email to dovecot-news-le...@dovecot.org


[Dovecot-news] Dovecot v2.3.21 released

2023-09-15 Thread Aki Tuomi via Dovecot-news
Hi all!

We are pleased to release v2.3.21 of Dovecot.

https://dovecot.org/releases/2.3/dovecot-2.3.21.tar.gz
https://dovecot.org/releases/2.3/dovecot-2.3.21.tar.gz.sig
Binary packages in https://repo.dovecot.org/
Docker images in https://hub.docker.com/r/dovecot/dovecot

Regards,
Aki Tuomi
Open-Xchange oy
---

* lib-oauth2: Allow JWT tokens to be validated with missing typ field.
  The typ field is left out by some key issuers to conserve space,
  notably kubernetes. Now missing typ is tolerated, but if present, it
  still must be "jwt".
+ auth: Auth passdb and userdb reply can contain "event_=value"
  which will be added to login event and mail user event respectively.
+ lib-master: Set process title during various initialization stages to
  clearly describe what the process is waiting on.
+ lib-storage: The mail_temp_scan_interval is now fuzzed incrementing it
  by 0..30% based on username's hash to reduce the chance of load spikes
.
+ lib-storage: The temp file scan has been moved from the open of the
  mailbox to the close, to reduce the latency perceived by users.
+ stats: If metric has fields specified, all these fields are
  exported as counters to prometheus exposition.
  See https://doc.dovecot.org/configuration_manual/stats/openmetrics/.
- *-login: Processes might have crashed when a SSL connection disconnect
s
  uncleanly.
- acl: When plugin was loaded \HasChildren and \HasNoChildren flags
  were calculated incorrectly for mailboxes containing '*' and '%'
  in their names.
- auth: Crash occured if a connection to PostgreSQL database server
  failed during startup.
- auth: Logins with invalid passwords (e.g. unknown scheme) in passdb
  were failing with "password mismatch" instead of "internal error".
- auth: XOAUTH2 and OAUTHBEARER mechanisms were not giving out protocol
  specific error message on all errors. This especially broke OIDC
  discovery.
- dbox: When last_temp_file_scan header wasn't set (especially after
  dsync migration), the next mailbox open always triggers the temp file
  scan. This could have caused a load spike after migrations. Fixed by
  using the mailbox directory's atime when the header isn't set, which
  usually moves the scan time into the future.
- dict-redis: A crash would occur on transaction rollback.
- dsync: Infinite loop causing out of memory would occur when handling
  mailbox deletion from remote end and hierarchy separators would differ.
- dsync: Incremental dsync failed for folder names ending with '%',
  unless BROKENCHAR was set. Also folder names with '%' elsewhere in
  them caused each incremental dsync to unnecessarily rename the folder
  to a temporary name and back. v2.3.19 regression.
- imap-hibernate: If an IMAP client unhibernation timed out with
  "(version received)", the unhibernation could still have successfully
  finished later on and continued working normally. This was rather
  confusing, because imap-hibernate already logged that the client got
  disconnected. Avoid this by forcing the connection to shutdown on
  unhibernation timeout.
- imapc: Crashed when a folder mapped through the virtual plugin
  disappears from the storage.
- imapc: EXPUNGE, EXISTS or FETCH replies from a server for a previously
  selected mailbox could have been processed as if they belonged to the
  new mailbox currently being selected. This could have caused warnings.
- lib-http: Dovecot HTTP server (doveadm, stats/openmetrics) may have
  disconnected HTTP clients before the response is fully sent. This
  happened only on busy servers where kernel's socket buffers were
  rather full.
- lib-http: Fixed a potential crash on http-server if a client
  disconnected early. v2.3.18 regression.
- lib-index: Index file corruption could have caused a crash. Fixes:
  Panic: file mail-transaction-log-view.c: line 165 
(mail_transaction_log_view_set):
  assertion failed: (min_file_seq <= max_file_seq).
- lib-index: Purging an existing >1GB cache file can crash. Now cache
  files still above 1GB after purging are removed. Fixes:
  Panic: file mail-index-util.c: line 10 (mail_index_uint32_to_offset):
  assertion failed: (offset < 0x4000)
- lib-lua: A HTTP client could not resolve DNS names in mail processes,
  because it expected "the dns-client" socket to exist in the current
  directory.
- lib-oauth2: Dovecot would send client_id and client_secret as POST
  parameters to the introspection server. These need to be optionally in
  Basic auth instead.
- lib-oauth2: JWT aud validation was not performed if aud was missing
  from a token, but was configured on Dovecot.
- lib-oauth2: JWT key type check was too strict.
- lib-oauth2: JWT token audience was not validated against client_id as
  required by the specification.
- lib-ssl-iostream: Using the ssl_require_crl=yes setting may have caused
  CRL check failures for outgoing SSL/TLS connections, although it was
  supposed to affect checking CRLs only for client-side SSL
  certificates. v2.3.17 regression.
- lib-sql: MySQL