Hi,
I reported the following to the Fedora bugtracker[0], but only then realized that this happens with the upstream version too. In short: since stunnel 5.44 I am no longer able to have stunnel bind to localhost, when "localhost" is literally mentioned in the configuration file:
$ cat stunnel.test [test] client = yes protocol = smtp accept = localhost:12345 connect = localhost:2025
$ stunnel-5.44 stunnel.test [...] [ ] Binding service [test] [ ] Listening file descriptor created (FD=6) [ ] Option SO_REUSEADDR set on accept socket [ ] Service [test] (FD=6) bound to 127.0.0.1:12345 [ ] Listening file descriptor created (FD=7) [ ] Option SO_REUSEADDR set on accept socket [!] bind: Address already in use (98) [!] Error binding service [test] to 127.0.0.1:12345 [ ] Unbinding service [test] [ ] Service [test] closed (FD=6) [ ] Service [test] closed
When using "127.0.0.1" or "::1" instead of "localhost" in the configuration file, stunnel-5.44 works. However, then one can only connect to either the IPv4 _or_ the IPv6 address, depending on what's configured. With stunnel-5.43 and "accept=localhost:12345" both IPv4 and IPv6 was available.
I suspect that this is related to the following change log entry for 5.44:
Default accept address restored to INADDR_ANY.
I have attached a patch to revert that (?) change and also included a test script that fails on my system when the patch is not applied.
I see "Version 5.45" already mention in the changelog on the website, but now download yet?
Thanks, Christian.
[0] https://bugzilla.redhat.com/show_bug.cgi?id=1542361