mirror of
https://blitiri.com.ar/repos/chasquid
synced 2025-12-17 14:37:02 +00:00
dovecot: Retry auto-detect until we find a usable socket pair
Currently, chasquid attempts to auto-detect dovecot sockets when starting up (if needed). If autodetection fails, chasquid emits an error, continues serving, and never tries again. This can be problematic if chasquid starts up before dovecot, and at the time the dovecot sockets are not present (e.g. after a reboot). In that case, chasquid will not use dovecot for authentication even after dovecot has started. This patch changes the autodetect logic, by doing autodetection at startup and on each request, until we find a working pair of sockets. Once we do, they're used consistently. That way, if dovecot is not ready when chasquid starts, it's not a problem and chasquid will start using dovecot once it becomes available. Thanks to Thor77 (thor77@thor77.org) for reporting and helping troubleshoot this issue.
This commit is contained in:
@@ -9,6 +9,28 @@ Entries are eventually be purged once their affected versions become uncommon,
|
||||
to prevent confusion.
|
||||
|
||||
|
||||
## Dovecot auth occasionally not functional after a reboot (0.04 to 1.6)
|
||||
|
||||
After a reboot, if chasquid starts *before* dovecot, it's possible that
|
||||
chasquid fails to autodetect the dovecot addresses, and the dovecot
|
||||
authentication will not be functional until chasquid is restarted.
|
||||
|
||||
This condition can be identified by seeing
|
||||
`Dovecot autodetection failed, no dovecot fallback` in the chasquid logs, at
|
||||
start-up time.
|
||||
|
||||
As a workaround, you can create the following systemd dropin file at
|
||||
`/etc/systemd/system/chasquid.service.d/after-dovecot.conf`, to make chasquid
|
||||
be started *after* dovecot:
|
||||
|
||||
```
|
||||
[Unit]
|
||||
After=dovecot.service
|
||||
```
|
||||
|
||||
The issue is fixed in 1.7.
|
||||
|
||||
|
||||
## `dkimsign` causes parsing errors in post-data hook (0.07 to 1.5)
|
||||
|
||||
The default post-data hook in versions 0.07 to 1.5 has a bug where if the
|
||||
|
||||
Reference in New Issue
Block a user