Friendlier error message when server does not support UDP port range.

This commit is contained in:
Keith Winstein
2012-10-29 15:35:56 -04:00
parent 93507a7195
commit 07b2942945
+9 -2
View File
@@ -137,7 +137,7 @@ if ( defined $port_request ) {
}
}
} else {
die "$0: Server-side port ($port_request) not valid.\n";
die "$0: Server-side port or range ($port_request) is not valid.\n";
}
}
@@ -245,8 +245,9 @@ if ( $pid == 0 ) { # child
my $quoted_self = shell_quote( $0 );
exec "$ssh " . shell_quote( '-S', 'none', '-o', "ProxyCommand=$quoted_self --fake-proxy -- %h %p", '-t', $userhost, '--', "$server " . shell_quote( @server ) );
die "Cannot exec ssh: $!\n";
} else { # server
} else { # parent
my ( $ip, $port, $key );
my $bad_udp_port_warning = 0;
close $pty;
LINE: while ( <$pty_slave> ) {
chomp;
@@ -262,6 +263,9 @@ if ( $pid == 0 ) { # child
die "Bad MOSH CONNECT string: $_\n";
}
} else {
if ( $port_request =~ m{:} and m{Bad UDP port} ) {
$bad_udp_port_warning = 1;
}
print "$_\n";
}
}
@@ -272,6 +276,9 @@ if ( $pid == 0 ) { # child
}
if ( not defined $key or not defined $port ) {
if ( $bad_udp_port_warning ) {
die "$0: Server does not support UDP port range option.\n";
}
die "$0: Did not find mosh server startup message.\n";
}