On 2024-10-13 5:52 a.m., Kirill A. Korinsky wrote:
ports@, Brad,
Here a backport of small fix for OpenBSD from mine PR to fix 2.4 branch on
OpenBSD:https://github.com/dovecot/core/pull/224
Right now I can find in logs a errors like:
Fatal: connect(...) failed: Address already in use
not often, like a few times per week.
With this fix which extend FreeBSD's condition to OpenBSD as well, such
errors dissapears.
The diff:
Seeing as the PR is a bunch of fixes, either way put a brief description
at the top of the patch. You might want to look at updating the comment
at the very top of lib/net.c to include OpenBSD.
for (try = 0;;) {
fd = net_connect_ip_once(ip, port, my_ip, sock_type, blocking);
if (fd != -1 || try++ >= MAX_CONNECT_RETRIES ||
(errno != EADDRNOTAVAIL
#if defined(__FreeBSD__) || defined(__OpenBSD__)
/* busy */
&& errno != EADDRINUSE
/* pf may cause this if another connection used
the same port recently */
&& errno != EACCES
#endif
))
I am not sure what is considered normal and appropriate for userland
network and PF. I guess I'd be Ok if someone else more familiar with
these kinds of bits said this is appropriate.