On 06/08/2024 21:08, Kurt Fitzner via dovecot wrote:
Hi,
I just tried to install Dovecot (version 2.3.19.1 9b53102964) on a Debian 12 server I'm building. It failed because Dovecot's default listen address is explicitly "*, ::" and it appears to have no logic to determine if there actually is an IPv6-enabled interface or that IPv6 is enabled on the target machine before it tries to listen on it. If dovecot wants to listen on IPv6 by default, that's neither here nor there, but if this is default behaviour it should check first.
I'm curious if it's the same behaviour for machines without IPv4.
Kurt Fitzner
Kurt
I can understand the issues you mention about running Dovecot with a configuration that does not match up with the network configuration of the server. I was curious about what errors you were finding on the install. I am not sure why Dovecot would refuse to install.
Strange to say even though I do have ipv6 configured on the network interface I have your same issue about running Dovecot (and not just Dovecot) on a system that uses systemd. The default systemd scripts don't work for me when rebooting, since the ipv6 interfaces come up later than the ipv4 ones and I never worked out if there was a dependency I could add in the scripts to ensure that Dovecot is started only when the ipv6 interfaces were up. So on every reboot Dovecot startup fails because it doesn't find the ipv6 address, but when started later it works since by that time ipv6 is available.
If Dovecot was modified in the way you were suggesting, it would cause a problem for me. Since then it would check for ipv6 (not yet up) and only bind to ipv4. It would be running but without the configured ipv6. Current behaviour where it refuses to run, is a much better situation, since I just have a cron job that checks if it is not running and starts dovecot by which time ipv6 is ready.
John