| line |
true |
false |
branch |
|
72
|
0 |
0 |
if (defined $self->st) |
|
83
|
0 |
0 |
if $self->start(@$args) |
|
95
|
0 |
0 |
unless $self->brik_help_run_undef_arg("start", $ssh_hostname_port) |
|
96
|
0 |
0 |
unless my $ref = $self->brik_help_run_invalid_arg("start", $ssh_hostname_port, "ARRAY", "SCALAR") |
|
98
|
0 |
0 |
unless $self->brik_help_run_undef_arg("start", $remote_hostname_port) |
|
99
|
0 |
0 |
unless ($remote_hostname_port =~ /^[^:]+:\d+$/) |
|
105
|
0 |
0 |
if ($ref eq 'SCALAR') { } |
|
|
0 |
0 |
elsif ($ref eq 'ARRAY') { } |
|
106
|
0 |
0 |
unless ($ssh_hostname_port =~ /^[^:]+:\d+$/) |
|
112
|
0 |
0 |
unless $so = "Metabrik::Client::Openssh"->new_from_brik_init($self) |
|
114
|
0 |
0 |
unless $so->connect($ssh_hostname, $ssh_port) |
|
122
|
0 |
0 |
unless ($this =~ /^[^:]+:\d+$/) |
|
129
|
0 |
0 |
if (@ok < 2) |
|
139
|
0 |
0 |
if ($hop == 1) { } |
|
142
|
0 |
0 |
unless defined $next |
|
152
|
0 |
0 |
unless defined $next |
|
183
|
0 |
0 |
unless $self->background_tunnel_loop($this->{'from'}, $this->{'to'}) |
|
196
|
0 |
0 |
unless my $st = "Metabrik::Server::Tcp"->new_from_brik_init($self) |
|
200
|
0 |
0 |
unless my $server = $st->start |
|
204
|
0 |
0 |
unless $self->tunnel_loop($remote_hostname_port) |
|
213
|
0 |
0 |
unless ($self->is_started) |
|
217
|
0 |
0 |
unless $self->brik_help_run_undef_arg("tunnel_loop", $remote_hostname_port) |
|
218
|
0 |
0 |
unless ($remote_hostname_port =~ /^[^:]+:\d+$/) |
|
232
|
0 |
0 |
unless $self->is_started |
|
234
|
0 |
0 |
if (my $ready = $st->wait_readable) |
|
237
|
0 |
0 |
if ($sock == $server) { } |
|
244
|
0 |
0 |
unless my $tunnel = $so->open_tunnel($remote_hostname, $remote_port) |
|
251
|
0 |
0 |
if ($sock == $this_client) { } |
|
|
0 |
0 |
elsif ($sock == $this_tunnel) { } |
|
253
|
0 |
0 |
if (not defined $buf) { } |
|
265
|
0 |
0 |
if (not defined $buf) { } |
|
292
|
0 |
0 |
unless ($self->is_started) |
|
301
|
0 |
0 |
if (exists $clients->{$this}{'tunnel'}) |
|
324
|
0 |
0 |
if ($sock == $clients->{$k}{'socket'} or $sock == $clients->{$k}{'tunnel'}) |