[pve-devel] [PATCH 1/2] prevent the use of AI_ADDRCONFIG
Wolfgang Bumiller
w.bumiller at proxmox.com
Wed May 27 13:16:34 CEST 2015
perl's IO::Socket::IP passes AI_ADDRCONFIG if no GetAddrInfoFlags are passed,
which is often useful but also causes it to error when explicitly trying to
bind to 127.0.0.1 when there are no _other_ IPv4 addresses present.
---
src/PVE/Daemon.pm | 1 +
src/PVE/Tools.pm | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/PVE/Daemon.pm b/src/PVE/Daemon.pm
index ddbe656..8a90020 100644
--- a/src/PVE/Daemon.pm
+++ b/src/PVE/Daemon.pm
@@ -807,6 +807,7 @@ sub create_reusable_socket {
Listen => SOMAXCONN,
Family => $family,
Proto => 'tcp',
+ GetAddrInfoFlags => 0,
ReuseAddr => 1) ||
die "unable to create socket - $@\n";
diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm
index 01823c2..1bc9eec 100644
--- a/src/PVE/Tools.pm
+++ b/src/PVE/Tools.pm
@@ -696,7 +696,8 @@ sub next_unused_port {
LocalPort => $p,
ReuseAddr => 1,
Family => $family,
- Proto => 0);
+ Proto => 0,
+ GetAddrInfoFlags => 0);
if ($sock) {
close($sock);
--
2.1.4
More information about the pve-devel
mailing list