File tree Expand file tree Collapse file tree 3 files changed +12
-2
lines changed Expand file tree Collapse file tree 3 files changed +12
-2
lines changed Original file line number Diff line number Diff line change 17
17
runs-on : ubuntu-latest
18
18
container :
19
19
image : cyrusimapdocker/cyrus-bookworm:latest
20
- options : --sysctl net.ipv6.conf.all.disable_ipv6=0 -- init
20
+ options : --init
21
21
steps :
22
22
- uses : actions/checkout@v4
23
23
with :
Original file line number Diff line number Diff line change @@ -1213,7 +1213,7 @@ sub start
1213
1213
Cassandane::Instance-> get_version($self -> {installation });
1214
1214
1215
1215
if ($maj > 3 || ($maj == 3 && $min >= 1)) {
1216
- my $host = ' localhost ' ;
1216
+ my $host = ' 127.0.0.1 ' ;
1217
1217
my $port = Cassandane::PortManager::alloc($host );
1218
1218
1219
1219
$self -> {config }-> set(
Original file line number Diff line number Diff line change @@ -88,6 +88,16 @@ sub port_is_free
88
88
LocalPort => $port ,
89
89
Proto => ' tcp' ,
90
90
ReuseAddr => 1,
91
+
92
+ # There's something odd going on with IO::Socket::IP's use of
93
+ # getaddrinfo, such that if you provide "::1" as the local address, and
94
+ # the loopback interface has inet6, but another (say, eth0) interface
95
+ # does not, the behavior of AI_ADDRCONFIG will be to act as if the
96
+ # system has no inet6 support, and so inet6 bindings should not be
97
+ # offered. Something seems amiss, but I'm not sure where. Using 0
98
+ # will allow ports on ::1 to seem available, though.
99
+ # -- rjbs, 2024-12-14
100
+ GetAddrInfoFlags => 0,
91
101
);
92
102
93
103
unless ($socket ) {
You can’t perform that action at this time.
0 commit comments