### along with this program; if not, write to the Free Software Foundation,
### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
### along with this program; if not, write to the Free Software Foundation,
### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
## The `-L' option sets up the tunnel that we actually wanted. The `-v'
## makes SSH spew stuff to stdout, which might be useful if you're
## The `-L' option sets up the tunnel that we actually wanted. The `-v'
## makes SSH spew stuff to stdout, which might be useful if you're
- ## debugging. . The `-S' detaches OpenSSH from any control master
- ## things which might be going on, because they tend to interfere with
+ ## debugging. The `-S' detaches OpenSSH from any control master things
+ ## which might be going on, because they tend to interfere with
## forwarding (and, besides, the existing master won't be under the same
## noip configuration). The `echo' will let us know that it's started
## up, and the `read' will keep the tunnel open until we close our end,
## forwarding (and, besides, the existing master won't be under the same
## noip configuration). The `echo' will let us know that it's started
## up, and the `read' will keep the tunnel open until we close our end,
my ($n, $t) = select my $rfd_out = $rfd_in, undef, undef, undef;
if ($n >= 0) { }
elsif ($! == EINTR) { next SELECT; }
my ($n, $t) = select my $rfd_out = $rfd_in, undef, undef, undef;
if ($n >= 0) { }
elsif ($! == EINTR) { next SELECT; }
FD: for my $fd (keys %fd) {
next FD unless vec $rfd_out, $fd, 1;
my ($sk, $s) = @{$fd{$fd}};
FD: for my $fd (keys %fd) {
next FD unless vec $rfd_out, $fd, 1;
my ($sk, $s) = @{$fd{$fd}};
KID: for (;;) {
defined (my $kid = waitpid -1, WNOHANG)
or sysfail "failed to reap child: $!";
KID: for (;;) {
defined (my $kid = waitpid -1, WNOHANG)
or sysfail "failed to reap child: $!";
my ($n, $t) = select my $rfd_out = $rfd_in, undef, undef, undef;
if ($n >= 0) { }
elsif ($! == EINTR) { next SELECT; }
my ($n, $t) = select my $rfd_out = $rfd_in, undef, undef, undef;
if ($n >= 0) { }
elsif ($! == EINTR) { next SELECT; }
FD: for my $fd (keys %SERVMAP) {
next FD unless vec $rfd_out, $fd, 1;
my ($s, $a, $sk) = @{$SERVMAP{$fd}};
FD: for my $fd (keys %SERVMAP) {
next FD unless vec $rfd_out, $fd, 1;
my ($s, $a, $sk) = @{$SERVMAP{$fd}};