Index | Thread | Search

From:
Brad Smith <brad@comstyle.com>
Subject:
Re: mail/dovecot: backport small fix for OpenBSD
To:
"Kirill A. Korinsky" <kirill@korins.ky>, OpenBSD ports <ports@openbsd.org>
Date:
Sat, 19 Oct 2024 22:59:10 -0400

Download raw body.

Thread
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.