On Tue, Jun 09, 2020 at 06:40:12PM +0200, gregor herrmann wrote: > On Mon, 08 Jun 2020 10:18:09 +0300, Niko Tyni wrote: > > > This seems to be a wider issue. Copying the debian-perl list for > > discussion. > > Thanks for the analysis! > > > I'm left wondering if the IO::Socket::IP default behaviour is desirable, > > or whether we should try to change it (maybe to special case localhost > > and/or 0.0.0.0 ?) > > Yes please. Patching all reverse dependencies sounds unattractive.
I've since test rebuilt the ~5000 packages that have a build or runtime dependency on perl, on a system with IPv4 and IPv6 configured on the lo device, and just a link-local IPv6 address on another device. I found 93 regressions, list below. My hunch is that more than half of them are due to Net::EmptyPort (in libtest-tcp-perl) being broken. I'm test rebuilding the whole archive now to see if other parts of the archive have similar issues, but that's going to take quite a while. I have not had the tuits yet for looking at IO::Socket::IP properly. It seems to me that it could look at the address and pass AI_NUMERICHOST to getaddrinfo(3) if it looks like an IPv4 address. I guess matching against qr/^\d+\.\d+\.\d+\.\d+$/ would suffice. I can try a rebuild with a patch like that next, but happy if somebody else wants to pick this up. There's Perl 5.32 on my TODO list as well :) IPv6-only regressions spotted: alice_0.19-2 boxbackup_0.13~~git20200326.g8e8b63c-1 kgb-bot_1.56-1 libanyevent-connection-perl_0.06-5 libanyevent-connector-perl_0.03-2 libanyevent-memcached-perl_0.08-1 libanyevent-redis-perl_0.24-2 libapache-singleton-perl_0.17-1 libapache2-authcookie-perl_3.30-1 libapache2-reload-perl_0.13-3 libapp-termcast-perl_0.13-3 libaudio-mpd-perl_2.004-2 libcgi-application-plugin-captcha-perl_0.04-2 libcgi-application-server-perl_0.063-2 libcorona-perl_0.1004-4 libcpan-mini-inject-perl_0.35-1 libdancer-perl_1.3513+dfsg-1 libdanga-socket-perl_1.62-1 libfcgi-engine-perl_0.22-1 libfurl-perl_3.13-2 libgearman-client-perl_2.004.015-1 libhtml-html5-parser-perl_0.301-2 libhttp-async-perl_0.33-1 libhttp-daemon-ssl-perl_1.05-01-2 libhttp-server-simple-mason-perl_0.14-2 libio-socket-ssl-perl_2.067-1 libio-socket-timeout-perl_0.32-1 libjson-validator-perl_3.25+dfsg-1 liblwp-protocol-https-perl_6.07-2 libmime-tools-perl_5.509-1 libmojo-sqlite-perl_3.003-1 libmojolicious-perl_8.52+dfsg-2 libmojolicious-plugin-assetpack-perl_2.08-2 libmojolicious-plugin-authentication-perl_1.33-1 libmojolicious-plugin-authorization-perl_1.0302-2 libmojolicious-plugin-basicauth-perl_0.08-1 libmojolicious-plugin-bcrypt-perl_0.14-2 libmojolicious-plugin-cgi-perl_0.40-1 libmojolicious-plugin-i18n-perl_1.60-1 libmojolicious-plugin-mailexception-perl_0.20-1 libmojolicious-plugin-renderfile-perl_0.12-4 libmonitoring-livestatus-perl_0.80-1 libnet-facebook-oauth2-perl_0.12-1 libnet-http-perl_6.19-1 libnet-https-nb-perl_0.15-1 libnet-ldap-server-test-perl_0.22-1 libnet-server-mail-perl_0.28-1 libnet-server-perl_2.009-2 libnet-sip-perl_0.822-1 libperlio-via-timeout-perl_0.32-1 libplack-app-proxy-perl_0.29-1 libplack-handler-anyevent-fcgi-perl_0.01-1 libplack-handler-fcgi-ev-perl_0.01-1 libplack-middleware-deflater-perl_0.12-2 libplack-middleware-session-perl_0.33-1 libplack-perl_1.0047-2 libplack-test-agent-perl_1.4-2 libplack-test-externalserver-perl_0.02-1 libpod-webserver-perl_3.11-1 libproc-guard-perl_0.07-1 libprotocol-http2-perl_1.10-1 libredis-perl_1.9950-1 librest-client-perl_273-1 librpc-xml-perl_0.80-2 librt-client-rest-perl_0.60-1 libtest-fake-httpd-perl_0.08-1 libtest-http-server-simple-stashwarnings-perl_0.04-2 libtest-tcp-perl_2.22-1 libtest-www-declare-perl_0.02-4 libtest-www-mechanize-mojo-perl_0.0.20-1 libtest-www-mechanize-perl_1.52-1 libweb-id-perl_1.927-2 libweb-machine-perl_0.17-1 libwiki-toolkit-plugin-ping-perl_0.03-2 libwww-mechanize-perl_1.97-1 myproxy_6.2.6-1 perlbal_1.80-3 pinto_0.14000-1 request-tracker4_4.4.4-1 spamassassin_3.4.4-1 starman_0.4015-1 stunnel4_5.56+dfsg-3 twiggy_0.1025+dfsg-1 inn2_2.6.3+20200601-1 libcrypt-ssleay-perl_0.73.06-1 libnanomsg-raw-perl_0.10-1 libapache2-mod-perl2_2.0.11-2 feersum_1.407-2 libapache-authenhook-perl_2.00-04+pristine-7 libapache-ssllookup-perl_2.00-04-3 libredis-fast-perl_0.26+dfsg-2 remctl_3.16-4 nbdkit_1.20.2-1 -- Niko