This breaks pvesr replication, because the -T switch is active there.

I'll send a v2 and preserve the regex captures.

Am 11.02.21 um 10:42 schrieb Fabian Ebner:
by including the message/error from the remote side. Some people on the forum 
[0]
ran into 'no tunnel IP received', but without information from the remote side
it's hard to tell why.

[0]: https://forum.proxmox.com/threads/failed-no-tunnel-ip-received.80172

Signed-off-by: Fabian Ebner <f.eb...@proxmox.com>
---
  PVE/Storage.pm | 12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/PVE/Storage.pm b/PVE/Storage.pm
index 22a6ef1..3c03abe 100755
--- a/PVE/Storage.pm
+++ b/PVE/Storage.pm
@@ -758,8 +758,16 @@ sub storage_migrate {
                or die "receive command failed: $!\n";
            close($input);
- my ($ip) = <$info> =~ /^($PVE::Tools::IPRE)$/ or die "no tunnel IP received\n";
-           my ($port) = <$info> =~ /^(\d+)$/ or die "no tunnel port 
received\n";
+           my $ip = <$info> // '';
+           chomp($ip);
+           die "no tunnel IP received, got '$ip'\n"
+               if $ip !~ /^$PVE::Tools::IPRE$/;
+
+           my $port = <$info> // '';
+           chomp($port);
+           die "no tunnel port received, got '$port'\n"
+               if $port !~ /^\d+$/;
+
            my $socket = IO::Socket::IP->new(PeerHost => $ip, PeerPort => $port, 
Type => SOCK_STREAM)
                or die "failed to connect to tunnel at $ip:$port\n";
            # we won't be reading from the socket



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to