Branch Coverage

blib/lib/Control/CLI.pm
Criterion Covered Total %
branch 44 1256 3.5


line true false branch
155 0 0 unless open my $key, "<", $privateKey
157 0 0 if (/ENCRYPTED/)
169 0 1 unless @$argsRef
171 2 2 if (++$even_lc % 2 and defined $_) { }
174 0 2 unless defined $argsIn[$i]
175 2 0 if ($validArgs{$argsIn[$i]})
179 0 0 unless $noCarp
187 0 0 unless @$argsRef
189 0 0 if (++$even_lc % 2) { }
192 0 0 if $suppressArgs{$argsIn[$i]}
202 0 2 if (not defined $mode) { }
0 2 elsif ($mode =~ /^\s*die\s*$/i) { }
0 2 elsif ($mode =~ /^\s*croak\s*$/i) { }
2 0 elsif ($mode =~ /^\s*return\s*$/i) { }
0 0 elsif (ref $mode) { }
210 0 0 unless (validCodeRef($mode))
226 0 0 defined $1 ? :
232 0 0 if ref $codeRef eq "CODE"
233 0 0 if ref $codeRef eq "ARRAY" and ref $codeRef->[0] eq "CODE"
240 0 0 if ref $callRef eq "CODE"
250 0 0 if validCodeRef($mode)
251 0 0 if lc $privacy eq "clear"
252 0 0 if lc $privacy eq "hide"
264 0 1 if (@_ == 1) { }
271 0 1 defined $args{'debug'} ? :
272 1 0 defined $args{'errmode'} ? :
273 0 1 defined $args{'errmsg_format'} ? :
274 0 1 unless defined $connectionType
276 1 0 if ($connectionType =~ /^TELNET$/i) { }
0 0 elsif ($connectionType =~ /^SSH$/i) { }
277 0 1 unless $UseTelnet
286 0 0 unless $UseSSH
292 0 0 if ($^O eq 'MSWin32') { }
293 0 0 unless $UseSerial
296 0 0 $debug & 2 ? :
297 0 0 unless $parent = "Win32::SerialPort"->new($connectionType, !($debug & 1))
301 0 0 unless $UseSerial
304 0 0 $debug & 2 ? :
305 0 0 unless $parent = "Device::SerialPort"->new($connectionType, !($debug & 1))
367 0 1 $connectionType eq 'SSH' ? :
368 0 1 if ($connectionType eq "SERIAL")
370 0 0 $^O eq 'MSWin32' ? :
373 1 0 if ($connectionType eq "TELNET")
380 1 1 if ($arg eq 'errmode') { }
0 1 elsif ($arg eq 'errmsg_format') { }
0 1 elsif ($arg eq 'timeout') { }
0 1 elsif ($arg eq 'connection_timeout') { }
0 1 elsif ($arg eq 'read_block_size') { }
0 1 elsif ($arg eq 'blocking') { }
0 1 elsif ($arg eq 'read_attempts') { }
0 1 elsif ($arg eq 'readwait_timer') { }
0 1 elsif ($arg eq 'data_with_error') { }
0 1 elsif ($arg eq 'return_reference') { }
0 1 elsif ($arg eq 'output_record_separator') { }
0 1 elsif ($arg eq 'binmode') { }
0 1 elsif ($arg eq 'prompt_credentials') { }
0 1 elsif ($arg eq 'prompt') { }
0 1 elsif ($arg eq 'username_prompt') { }
0 1 elsif ($arg eq 'password_prompt') { }
0 1 elsif ($arg eq 'terminal_type') { }
0 1 elsif ($arg eq 'window_size') { }
0 1 elsif ($arg eq 'report_query_status') { }
0 1 elsif ($arg eq 'input_log') { }
0 1 elsif ($arg eq 'output_log') { }
0 1 elsif ($arg eq 'dump_log') { }
0 1 elsif ($arg eq 'debug') { }
419 0 0 if (@_ == 1) { }
421 0 0 if ($args{'host'} =~ /^(.+?)\s+(\d+)$/ or $args{'host'} =~ /^([^:\s]+?):(\d+)$/)
439 0 0 defined $args{'blocking'} ? :
0 0 defined $args{'connection_timeout'} ? :
0 0 defined $args{'errmode'} ? :
466 0 0 defined $args{'prompt_credentials'} ? :
470 0 0 if ($self->{'TYPE'} ne "SERIAL" and not $UseSocketIP and defined $args{'blocking'} and not $args{'blocking'})
474 0 0 if defined $self->{'POLL'}{'errmode'}
482 0 0 if @_
484 0 0 unless (defined $self->{'POLL'} and $self->{'POLL'}{'coderef'} == __PACKAGE__->can("connect_poll"))
488 0 0 if defined $self->{'POLL'}{'errmode'}
491 0 0 unless defined $self->{'POLL'}{'complete'} and $self->{'POLL'}{'complete'} == 0
503 0 0 defined $args{'timeout'} ? :
504 0 0 defined $args{'blocking'} ? :
505 0 0 defined $args{'return_reference'} ? :
506 0 0 defined $args{'binmode'} ? :
507 0 0 defined $args{'errmode'} ? :
508 0 0 if defined $binmode
509 0 0 if defined $errmode
511 0 0 if $blocking and not length $self->{'BUFFER'}
523 0 0 defined $args{'read_attempts'} ? :
524 0 0 defined $args{'readwait_timer'} ? :
525 0 0 defined $args{'data_with_error'} ? :
526 0 0 defined $args{'timeout'} ? :
527 0 0 defined $args{'blocking'} ? :
528 0 0 defined $args{'return_reference'} ? :
529 0 0 defined $args{'binmode'} ? :
530 0 0 defined $args{'errmode'} ? :
531 0 0 if defined $binmode
532 0 0 if defined $errmode
536 0 0 if (not length $$bufref and $blocking)
538 0 0 unless defined $bufref
544 0 0 unless (defined $outref)
545 0 0 if $dataWithError and length $$bufref
548 0 0 if (length $$outref)
554 0 0 $returnRef ? :
566 0 0 if (@_ == 1) { }
573 0 0 if $args[$i] eq "match"
574 0 0 if $args[$i] eq "match_list" and ref $args[$i + 1] eq "ARRAY"
575 0 0 if $args[$i] eq "timeout"
576 0 0 if $args[$i] eq "blocking"
577 0 0 if $args[$i] eq "return_reference"
578 0 0 if $args[$i] eq "errmode"
579 0 0 if $args[$i] eq "poll_syntax"
605 0 0 if defined $self->{'POLL'}{'errmode'}
609 0 0 if ($pollSyntax) { }
610 0 0 wantarray ? :
613 0 0 wantarray ? :
621 0 0 if @_
623 0 0 unless (defined $self->{'POLL'} and $self->{'POLL'}{'coderef'} == __PACKAGE__->can("waitfor_poll"))
628 0 0 if defined $self->{'POLL'}{'errmode'}
631 0 0 unless defined $self->{'POLL'}{'complete'} and $self->{'POLL'}{'complete'} == 0
642 0 0 if (@_ == 1) { }
649 0 0 unless defined $args{'string'}
650 0 0 defined $args{'binmode'} ? :
651 0 0 defined $args{'errmode'} ? :
652 0 0 if defined $binmode
653 0 0 if defined $errmode
663 0 0 if (@_ == 1) { }
670 0 0 defined $args{'binmode'} ? :
671 0 0 defined $args{'errmode'} ? :
672 0 0 if defined $binmode
673 0 0 if defined $errmode
707 0 0 defined $args{'blocking'} ? :
0 0 defined $args{'timeout'} ? :
0 0 defined $args{'errmode'} ? :
0 0 defined $args{'return_reference'} ? :
717 0 0 defined $args{'prompt_credentials'} ? :
0 0 defined $args{'prompt'} ? :
0 0 defined $args{'username_prompt'} ? :
0 0 defined $args{'password_prompt'} ? :
721 0 0 if defined $self->{'POLL'}{'errmode'}
729 0 0 if @_
731 0 0 unless (defined $self->{'POLL'} and $self->{'POLL'}{'coderef'} == __PACKAGE__->can("login_poll"))
736 0 0 if defined $self->{'POLL'}{'errmode'}
739 0 0 unless defined $self->{'POLL'}{'complete'} and $self->{'POLL'}{'complete'} == 0
750 0 0 if (@_ == 1) { }
757 0 0 unless defined $args{'command'}
770 0 0 defined $args{'blocking'} ? :
0 0 defined $args{'timeout'} ? :
0 0 defined $args{'errmode'} ? :
0 0 defined $args{'return_reference'} ? :
776 0 0 defined $args{'prompt'} ? :
781 0 0 if defined $self->{'POLL'}{'errmode'}
785 0 0 if ($args{'poll_syntax'}) { }
786 0 0 wantarray ? :
789 0 0 wantarray ? :
797 0 0 if @_
799 0 0 unless (defined $self->{'POLL'} and $self->{'POLL'}{'coderef'} == __PACKAGE__->can("cmd_poll"))
804 0 0 if defined $self->{'POLL'}{'errmode'}
807 0 0 unless defined $self->{'POLL'}{'complete'} and $self->{'POLL'}{'complete'} == 0
818 0 0 if (@_ == 1) { }
832 0 0 defined $args{'blocking'} ? :
0 0 defined $args{'errmode'} ? :
847 0 0 defined $args{'baudrate'} ? :
0 0 defined $args{'parity'} ? :
0 0 defined $args{'databits'} ? :
0 0 defined $args{'stopbits'} ? :
0 0 defined $args{'handshake'} ? :
850 0 0 if defined $self->{'POLL'}{'errmode'}
858 0 0 if @_
860 0 0 unless (defined $self->{'POLL'} and $self->{'POLL'}{'coderef'} == __PACKAGE__->can("change_baudrate_poll"))
864 0 0 if defined $self->{'POLL'}{'errmode'}
867 0 0 unless defined $self->{'POLL'}{'complete'} and $self->{'POLL'}{'complete'} == 0
878 0 0 unless (defined $fh)
881 0 0 unless (ref $fh or length $fh)
885 0 0 unless (ref $fh or defined fileno $fh)
888 0 0 unless open $fh, ">", "$logfile"
900 0 0 unless (defined $fh)
903 0 0 unless (ref $fh or length $fh)
907 0 0 unless (ref $fh or defined fileno $fh)
910 0 0 unless open $fh, ">", "$logfile"
922 0 0 unless (defined $fh)
925 0 0 unless (ref $fh or length $fh)
929 0 0 unless (ref $fh or defined fileno $fh)
932 0 0 unless open $fh, ">", "$logfile"
944 0 0 if ($self->{'TYPE'} eq 'TELNET') { }
0 0 elsif ($self->{'TYPE'} eq 'SSH') { }
0 0 elsif ($self->{'TYPE'} eq 'SERIAL') { }
946 0 0 $self->{'PARENT'}->eof ? :
950 0 0 if defined $self->{'PARENT'} and not defined $self->{'SSHCHANNEL'}
952 0 0 if $self->{'SSHCHANNEL'}->eof
956 0 0 if $sshError == -1
957 0 0 if $sshError == -13
958 0 0 if $sshError == -43
976 0 0 if $self->eof
978 0 0 if ($self->{'TYPE'} eq 'TELNET') { }
0 0 elsif ($self->{'TYPE'} eq 'SSH') { }
0 0 elsif ($self->{'TYPE'} eq 'SERIAL') { }
981 0 0 unless $self->{'PARENT'}->break
985 0 0 unless $self->put("string", "~B", "errmode", "return")
1002 0 0 if (@_ == 1) { }
1010 0 0 if ($self->{'TYPE'} eq 'TELNET') { }
0 0 elsif ($self->{'TYPE'} eq 'SSH') { }
0 0 elsif ($self->{'TYPE'} eq 'SERIAL') { }
1011 0 0 if defined $self->{'PARENT'}
1013 0 0 if defined $self->{'SOCKET'}
1017 0 0 if defined $self->{'SSHCHANNEL'}
1019 0 0 if defined $self->{'PARENT'}
1021 0 0 if defined $self->{'SOCKET'}
1025 0 0 if (defined $self->{'PARENT'} and not $self->{'SERIALEOF'})
1027 0 0 if defined $self->{'BAUDRATE'}
1040 0 0 if ($args{'close_logs'})
1041 0 0 if (defined $self->input_log)
1045 0 0 if (defined $self->output_log)
1049 0 0 if (defined $self->dump_log)
1053 0 0 if ($self->{'TYPE'} eq "TELNET" and defined $self->parent->option_log)
1088 0 0 if ($_[0]->isa($Package)) { }
0 0 elsif (ref $_[0]) { }
1100 0 0 if (defined $args{'object_complete'})
1101 0 0 if ($args{'object_complete'} =~ /^all|next$/i) { }
1108 0 0 if (defined $args{'object_error'})
1109 0 0 if ($args{'object_error'} =~ /^return|ignore$/i) { }
1116 0 0 if (defined $args{'poll_timer'})
1117 0 0 if ($args{'poll_timer'} =~ /\d+/) { }
1124 0 0 if (defined $args{'poll_code'})
1125 0 0 unless (validCodeRef($args{'poll_code'}))
1130 0 0 defined $self ? :
0 0 defined $args{'errmode'} ? :
1131 0 0 defined $self ? :
0 0 defined $args{'errmsg_format'} ? :
1132 0 0 unless defined $self or defined $args{'object_list'}
1139 0 0 if (defined $self) { }
0 0 elsif (ref $args{'object_list'} eq 'ARRAY') { }
0 0 elsif (ref $args{'object_list'} eq 'HASH') { }
1140 0 0 unless (defined $self->{'POLL'})
1141 0 0 if defined $args{'errmode'}
1144 0 0 defined $args{'errmode'} ? :
1146 0 0 if $ok or not defined $ok
1152 0 0 unless $obj->isa($Package)
1153 0 0 unless (defined $obj->{'POLL'})
1154 0 0 if defined $args{'errmode'}
1158 0 0 defined $objLastPollTime->[$i] ? :
1159 0 0 defined $args{'errmode'} ? :
1160 0 0 if ($ok) { }
0 0 elsif (not defined $ok) { }
1162 0 0 unless ($obj->{'POLLREPORTED'})
1169 0 0 unless ($obj->{'POLLREPORTED'})
1176 0 0 if ($objLastPollTime->[$i] - $objStartTime > $pollTimer and $args{'poll_code'}) { }
1188 0 0 unless $obj->isa($Package)
1189 0 0 unless (defined $obj->{'POLL'})
1190 0 0 if defined $args{'errmode'}
1194 0 0 defined $objLastPollTime->{$key} ? :
1195 0 0 defined $args{'errmode'} ? :
1196 0 0 if ($ok) { }
0 0 elsif (not defined $ok) { }
1198 0 0 unless ($obj->{'POLLREPORTED'})
1205 0 0 unless ($obj->{'POLLREPORTED'})
1212 0 0 if ($objLastPollTime->{$key} - $objStartTime > $pollTimer and $args{'poll_code'}) { }
1226 0 0 if $running == 0 or $objComplete eq "next" and @lastCompleted or $objError eq "return" and @lastFailed
1228 0 0 if ($args{'poll_code'} and not $pollActHost)
1233 0 0 if $mainLoopSleep > 0
1236 0 0 unless wantarray
1246 0 0 if (defined $newSetting)
1248 0 0 if ($self->{'TYPE'} eq "TELNET")
1267 0 0 if defined $newSetting
1275 0 0 if defined $newSetting
1283 0 0 if defined $newSetting
1291 0 0 if defined $newSetting
1299 0 0 if defined $newSetting
1307 0 0 if defined $newSetting
1315 0 0 if (defined $newSetting)
1317 0 0 $newSetting eq "\r" ? :
1326 0 0 if defined $newSetting
1335 0 0 if (defined $newSetting)
1336 0 0 if (ref $newSetting and not validCodeRef($newSetting))
1355 0 0 if (defined $newSetting)
1366 0 0 if (defined $newSetting)
1377 0 0 if (defined $newSetting)
1388 0 0 if (defined $newSetting)
1389 0 0 length $newSetting ? :
1399 0 0 if (defined $width and not $width or defined $height and not $height) { }
0 0 elsif (defined $width and defined $height) { }
1403 0 0 if ($width =~ /^\d+$/ and $height =~ /^\d+$/) { }
1417 0 0 if defined $newSetting
1426 1 0 if (defined $newSetting and my $newMode = parse_errmode($pkgsub, $newSetting))
1437 0 0 if (@_ == 1) { }
1444 0 0 defined $args{'errmsg_format'} ? :
1446 0 0 if defined $args{'set_message'}
1456 0 0 if (defined $newSetting)
1457 0 0 if ($newSetting =~ /^\s*terse\s*$/i) { }
0 0 elsif ($newSetting =~ /^\s*verbose\s*$/i) { }
0 0 elsif ($newSetting =~ /^\s*default\s*$/i) { }
1464 0 0 if defined $newSetting
1473 0 0 if (defined $newSetting and $newSetting != $currentSetting)
1475 0 0 if ($self->{'TYPE'} eq 'SSH') { }
0 0 elsif ($self->{'TYPE'} eq 'SERIAL') { }
1476 0 0 $newSetting & 2 ? :
1479 0 0 if ($^O eq 'MSWin32') { }
1481 0 0 $newSetting & 2 ? :
1485 0 0 $newSetting & 2 ? :
1533 0 0 if ($self->{'TYPE'} eq 'SERIAL') { }
1608 0 0 if (defined $self->{'POLL'} and defined $self->{'POLL'}{'complete'} and $self->{'POLL'}{'complete'} == 0)
1645 0 0 unless defined $self->{'POLL'}
1647 0 0 if @{$self->{'POLL'}{'cache'};}
1658 0 0 unless ($self->{'POLLING'})
1672 0 0 if (defined $timeout)
1677 0 0 @{$self->{'POLL'}{'cache'};} ? :
1688 0 0 unless ($self->{'POLLING'})
1703 0 0 @{$self->{'POLL'}{'cache'};} ? :
1714 0 0 unless ($self->{'POLLING'})
1720 0 0 if (@{$self->{'POLL'}{'cache'};})
1721 0 0 if defined $ok and $ok == 0
1724 0 0 unless defined $ok
1725 0 0 unless wantarray
1730 0 0 unless $self->{'POLL'}{'output_requested'} and $self->{'POLL'}{'output_type'}
1733 0 0 if ($self->{'POLL'}{'output_type'} & 1)
1736 0 0 if ($self->{'POLL'}{'return_reference'}) { }
1743 0 0 if ($self->{'POLL'}{'output_type'} & 2)
1744 0 0 if (ref $self->{'POLL'}{'output_result'} eq 'ARRAY') { }
1745 0 0 if ($self->{'POLL'}{'return_list'}) { }
1764 0 0 unless ($self->{'POLLING'})
1769 0 0 if ($self->{'POLL'}{'blocking'}) { }
1773 0 0 unless (defined $self->{'POLL'}{'endtime'})
1776 0 0 unless &Control::CLI::time() > $self->{'POLL'}{'endtime'}
1786 0 0 unless ($self->{'POLLING'})
1791 0 0 if ($UseSocketIP) { }
1794 0 0 unless (defined $self->{'POLL'}{'socket'})
1797 0 0 unless ($self->{'POLL'}{'blocking'})
1798 0 0 if (defined $self->{'POLL'}{'timeout'}) { }
1806 0 0 unless $self->{'POLL'}{'socket'} = "IO::Socket::IP"->new("PeerHost", $host, "PeerPort", $port, "Blocking", 0)
1820 0 0 if ($self->{'POLL'}{'blocking'}) { }
1822 0 0 unless select undef, $wvec, $evec, $self->{'POLL'}{'timeout'}
1825 0 0 unless (select undef, $wvec, $evec, 0)
1826 0 0 unless &Control::CLI::time() > $self->{'POLL'}{'endtime'}
1831 0 0 if $!
1838 0 0 unless $self->{'POLL'}{'socket'} = "IO::Socket::INET"->new("PeerHost", $host, "PeerPort", $port, "Timeout", $self->{'POLL'}{'timeout'})
1848 0 0 unless ($self->{'POLLING'})
1853 0 0 if ($self->{'POLL'}{'blocking'}) { }
1860 0 0 unless (defined $self->{'POLL'}{'read_buffer'})
1861 0 0 if defined $errmsg
1867 0 0 if ($self->{'POLL'}{'already_polled'})
1873 0 0 unless (defined $self->{'POLL'}{'endtime'})
1882 0 0 unless (defined $self->{'POLL'}{'read_buffer'})
1883 0 0 if defined $errmsg
1886 0 0 if (length $self->{'POLL'}{'read_buffer'})
1893 0 0 if (&Control::CLI::time() > $self->{'POLL'}{'endtime'}) { }
1896 0 0 if defined $errmsg
1908 0 0 unless defined $readAttempts
1909 0 0 unless defined $readwaitTimer
1910 0 0 unless defined $dataWithError
1913 0 0 unless ($self->{'POLLING'})
1919 0 0 if ($self->{'POLL'}{'blocking'}) { }
1929 0 0 unless (defined $self->{'POLL'}{'read_buffer'})
1930 0 0 if defined $errmsg
1936 0 0 if ($self->{'POLL'}{'already_polled'})
1942 0 0 if ($firstReadRequired and not defined $self->{'POLL'}{'endtime'}) { }
0 0 elsif (not $firstReadRequired || defined $self->{'POLL'}{'waittime'}) { }
1955 0 0 unless (defined $outref)
1956 0 0 if ($dataWithError and length $self->{'POLL'}{'read_buffer'})
1962 0 0 if defined $errmsg
1965 0 0 if (length $$outref)
1972 0 0 if (defined $self->{'POLL'}{'waittime'}) { }
1973 0 0 if (&Control::CLI::time() > $self->{'POLL'}{'waittime'}) { }
1984 0 0 if (&Control::CLI::time() > $self->{'POLL'}{'endtime'}) { }
1987 0 0 if defined $errmsg
2003 0 0 unless ($self->{'POLLING'})
2008 0 0 unless (defined $self->{'POLL'}{$pollsub})
2014 0 0 if (@_ and not %args)
2045 0 0 defined $args{'username'} ? :
0 0 defined $args{'password'} ? :
0 0 defined $args{'passphrase'} ? :
0 0 defined $args{'prompt_credentials'} ? :
2050 0 0 if defined $connect->{'errmode'}
2054 0 0 if ($connect->{'stage'} < 1)
2059 0 0 if defined $connect->{'terminal_type'}
2060 0 0 if defined $connect->{'window_size'}
2063 0 0 if ($self->{'TYPE'} eq 'TELNET') { }
0 0 elsif ($self->{'TYPE'} eq 'SSH') { }
0 0 elsif ($self->{'TYPE'} eq 'SERIAL') { }
2064 0 0 if ($connect->{'stage'} < 1)
2066 0 0 unless defined $connect->{'host'}
2069 0 0 unless defined $connect->{'port'}
2072 0 0 if (not $self->{'POLL'}{'blocking'} and $connect->{'atomic_connect'}) { }
2083 0 0 unless $ok
2088 0 0 unless $self->{'PARENT'}->fhopen($self->{'SOCKET'})
2089 0 0 if ($^O eq "MSWin32")
2093 0 0 if (exists $telobj->{'select_supported'} and not $telobj->{'select_supported'})
2103 0 0 if $connect->{'atomic_connect'}
2106 0 0 if ($connect->{'stage'} < 1)
2108 0 0 unless defined $connect->{'host'}
2109 0 0 unless defined $connect->{'port'}
2112 0 0 if (not $self->{'POLL'}{'blocking'} and $connect->{'atomic_connect'}) { }
2120 0 0 if ($connect->{'stage'} < 2)
2123 0 0 unless $ok
2135 0 0 if $@
2136 0 0 unless $ok
2137 0 0 unless $self->{'POLL'}{'blocking'}
2139 0 0 if ($connect->{'stage'} < 3)
2141 0 0 if ($connect->{'callback'})
2142 0 0 if (validCodeRef($connect->{'callback'})) { }
2144 0 0 defined $errmsg ? :
0 0 unless $ok
2145 0 0 unless $self->{'POLL'}{'blocking'}
2152 0 0 if ($connect->{'stage'} < 4)
2154 0 0 unless (defined $connect->{'username'})
2155 0 0 unless $connect->{'prompt_credentials'}
2160 0 0 if (not $self->{'POLL'}{'blocking'} and &Control::CLI::time() > $self->{'POLL'}{'endtime'})
2165 0 0 if $auth eq "publickey"
2166 0 0 if $auth eq "password"
2167 0 0 if $auth eq "keyboard-interactive"
2172 0 0 unless $self->{'POLL'}{'blocking'}
2174 0 0 if ($connect->{'stage'} < 5)
2176 0 0 if ($connect->{'authPublicKey'})
2177 0 0 if (defined $connect->{'publickey'} and defined $connect->{'privatekey'}) { }
0 0 elsif (not $connect->{'authPassword'}) { }
2179 0 0 unless -e $connect->{'publickey'}
2181 0 0 unless -e $connect->{'privatekey'}
2182 0 0 unless ($connect->{'passphrase'})
2184 0 0 unless defined $passphReq
2185 0 0 if ($passphReq)
2186 0 0 unless $connect->{'prompt_credentials'}
2193 0 0 if (not $self->{'POLL'}{'blocking'} and &Control::CLI::time() > $self->{'POLL'}{'endtime'})
2202 0 0 if ($ok) { }
0 0 elsif (not $connect->{'authPassword'} && (defined $connect->{'password'} || $connect->{'prompt_credentials'})) { }
2203 0 0 if $connect->{'passphrase'}
2210 0 0 unless $self->{'POLL'}{'blocking'}
2217 0 0 if ($connect->{'stage'} < 6)
2219 0 0 if ($connect->{'authPassword'} and not $self->{'PARENT'}->auth_ok)
2220 0 0 unless (defined $connect->{'password'})
2221 0 0 unless $connect->{'prompt_credentials'}
2226 0 0 if (not $self->{'POLL'}{'blocking'} and &Control::CLI::time() > $self->{'POLL'}{'endtime'})
2229 0 0 if ($connect->{'authPassword'} & 1) { }
0 0 elsif ($connect->{'authPassword'} & 2) { }
2231 0 0 unless $self->{'PARENT'}->auth_password($connect->{'username'}, $connect->{'password'})
2236 0 0 unless $self->{'PARENT'}->auth_keyboard($connect->{'username'}, $connect->{'password'})
2244 0 0 unless $self->{'POLL'}{'blocking'}
2248 0 0 unless $self->{'PARENT'}->auth_ok
2251 0 0 if (not $self->{'POLL'}{'blocking'} and &Control::CLI::time() > $self->{'POLL'}{'endtime'})
2259 0 0 if $connect->{'atomic_connect'}
2262 0 0 unless defined $connect->{'handshake'}
2263 0 0 unless defined $connect->{'baudrate'}
2264 0 0 unless defined $connect->{'parity'}
2265 0 0 unless defined $connect->{'databits'}
2266 0 0 unless defined $connect->{'stopbits'}
2267 0 0 unless $self->{'PARENT'}->handshake($connect->{'handshake'})
2268 0 0 unless ($self->{'PARENT'}->baudrate($connect->{'baudrate'}))
2270 0 0 if ($^O eq 'MSWin32' and $connect->{'forcebaud'}) { }
2277 0 0 unless $self->{'PARENT'}->parity($connect->{'parity'})
2278 0 0 unless ($connect->{'parity'} eq "none")
2279 0 0 unless $self->{'PARENT'}->parity_enable(1)
2281 0 0 unless $self->{'PARENT'}->databits($connect->{'databits'})
2282 0 0 unless $self->{'PARENT'}->stopbits($connect->{'stopbits'})
2283 0 0 unless $self->{'PARENT'}->write_settings
2285 0 0 unless $self->{'PARENT'}->buffers($ComPortReadBuffer, 0)
2286 0 0 if ($^O eq "MSWin32")
2287 0 0 unless $self->{'PARENT'}->read_interval($ComReadInterval)
2290 0 0 unless defined $self->{'PARENT'}->read_char_time(0)
2310 0 0 unless ($self->{'POLLING'})
2315 0 0 unless (defined $self->{'POLL'}{$pollsub})
2318 0 0 if (@_ and not %args)
2336 0 0 defined $args{'username'} ? :
0 0 defined $args{'password'} ? :
0 0 defined $args{'prompt'} ? :
0 0 defined $args{'username_prompt'} ? :
0 0 defined $args{'password_prompt'} ? :
0 0 defined $args{'prompt_credentials'} ? :
2341 0 0 if defined $login->{'errmode'}
2342 0 0 if $self->eof
2344 0 0 if ($login->{'stage'} < 1)
2346 0 0 if ($self->{'LOGINSTAGE'} eq 'username') { }
0 0 elsif ($self->{'LOGINSTAGE'} eq 'password') { }
2347 0 0 unless $login->{'username'}
2348 0 0 unless $self->print("line", $login->{'username'}, "errmode", "return")
2354 0 0 unless $login->{'password'}
2355 0 0 unless $self->print("line", $login->{'password'}, "errmode", "return")
2363 0 0 unless $ok
2368 0 0 if ($self->{'POLL'}{'local_buffer'} =~ /$login->{'username_prompt'}/)
2369 0 0 if ($login->{'login_attempted'})
2372 0 0 unless ($login->{'username'})
2373 0 0 if ($self->{'TYPE'} eq 'SSH') { }
2377 0 0 unless ($login->{'prompt_credentials'})
2384 0 0 unless $self->print("line", $login->{'username'}, "errmode", "return")
2391 0 0 if ($self->{'POLL'}{'local_buffer'} =~ /$login->{'password_prompt'}/)
2392 0 0 unless (defined $login->{'password'})
2393 0 0 unless (defined $login->{'prompt_credentials'})
2399 0 0 unless $self->print("line", $login->{'password'}, "errmode", "return")
2408 0 0 if $login->{'login_attempted'}
2418 0 0 unless ($self->{'POLLING'})
2423 0 0 unless (defined $self->{'POLL'}{$pollsub})
2426 0 0 if (@_ and not %args)
2429 0 0 unless ref $args{'match_list'} eq "ARRAY"
2445 0 0 if defined $waitfor->{'errmode'}
2446 0 0 if $self->eof
2448 0 0 if ($waitfor->{'stage'} < 1)
2450 0 0 unless @{$waitfor->{'matchpat'};}
2455 0 0 if ($@)
2463 0 0 unless $ok
2467 0 0 if ($self->{'POLL'}{'local_buffer'} =~ s/$pattern//)
2473 0 0 if length $self->{'POLL'}{'local_buffer'}
2483 0 0 unless ($self->{'POLLING'})
2488 0 0 unless (defined $self->{'POLL'}{$pollsub})
2491 0 0 if (@_ and not %args)
2504 0 0 defined $args{'prompt'} ? :
2509 0 0 if defined $cmd->{'errmode'}
2510 0 0 if $self->eof
2512 0 0 if ($cmd->{'stage'} < 1)
2519 0 0 unless $self->print("line", $cmd->{'command'}, "errmode", "return")
2526 0 0 unless $ok
2528 0 0 if ($cmd->{'cmdEchoRemoved'}) { }
2536 0 0 if ($self->{'POLL'}{'local_buffer'} =~ s/^.*\n//)
2555 0 0 unless ($self->{'POLLING'})
2560 0 0 unless (defined $self->{'POLL'}{$pollsub})
2563 0 0 if (@_ and not %args)
2579 0 0 defined $args{'baudrate'} ? :
0 0 defined $args{'parity'} ? :
0 0 defined $args{'databits'} ? :
0 0 defined $args{'stopbits'} ? :
0 0 defined $args{'handshake'} ? :
2584 0 0 if defined $changeBaud->{'errmode'}
2586 0 0 unless $self->{'TYPE'} eq "SERIAL"
2587 0 0 if $self->{'SERIALEOF'}
2589 0 0 if ($changeBaud->{'stage'} < 1)
2593 0 0 if ($changeBaud->{'stage'} < 2)
2595 0 0 unless $ok
2600 0 0 if ($^O eq 'MSWin32') { }
2601 0 0 unless $self->{'PARENT'} = "Win32::SerialPort"->new($self->{'COMPORT'}, !($self->{'debug'} & 1))
2605 0 0 unless $self->{'PARENT'} = "Device::SerialPort"->new($self->{'COMPORT'}, !($self->{'debug'} & 1))
2608 0 0 unless $self->{'PARENT'}->handshake($changeBaud->{'handshake'})
2609 0 0 unless ($self->{'PARENT'}->baudrate($changeBaud->{'baudrate'}))
2611 0 0 if ($^O eq 'MSWin32' and $changeBaud->{'forcebaud'}) { }
2618 0 0 unless $self->{'PARENT'}->parity($changeBaud->{'parity'})
2619 0 0 unless ($changeBaud->{'parity'} eq "none")
2620 0 0 unless $self->{'PARENT'}->parity_enable(1)
2622 0 0 unless $self->{'PARENT'}->databits($changeBaud->{'databits'})
2623 0 0 unless $self->{'PARENT'}->stopbits($changeBaud->{'stopbits'})
2624 0 0 unless $self->{'PARENT'}->write_settings
2626 0 0 unless $self->{'PARENT'}->buffers($ComPortReadBuffer, 0)
2627 0 0 if ($^O eq "MSWin32")
2628 0 0 unless $self->{'PARENT'}->read_interval($ComReadInterval)
2631 0 0 unless defined $self->{'PARENT'}->read_char_time(0)
2644 0 0 if (shift() & $self->{'debug'})
2658 0 0 if (length $self->{'QUERYBUFFER'})
2662 0 0 if ($$bufRef =~ /(\e(?:\[.?)?)$/)
2665 0 0 if ($VT100_QueryDeviceStatus =~ /^\Q$escFrag\E/)
2670 0 0 unless $$bufRef =~ s/\Q$VT100_QueryDeviceStatus\E//go
2682 0 0 if (length $self->{'PUSHBACKCR'})
2688 0 0 if ($nextchar eq "\n") { }
0 0 elsif (not length $nextchar) { }
2706 0 0 $returnRef ? :
2716 0 0 if ($self->{'TYPE'} eq 'TELNET') { }
0 0 elsif ($self->{'TYPE'} eq 'SSH') { }
0 0 elsif ($self->{'TYPE'} eq 'SERIAL') { }
2718 0 0 if $self->eof
2719 0 0 unless defined $buffer
2722 0 0 unless defined $self->{'SSHCHANNEL'}
2724 0 0 unless (defined $buffer and length $buffer)
2725 0 0 if $self->eof
2727 0 0 unless ($self->{'PARENT'}->poll($timeout * 1000, \@poll) and $poll[0]{'revents'}{'in'})
2731 0 0 unless defined $inBytes
2735 0 0 if $self->{'SERIALEOF'}
2736 0 0 if ($^O eq 'MSWin32') { }
2740 0 0 $timeout == 0 ? :
0 0 unless ($self->{'PARENT'}->read_const_time($timeout == 0 ? 1 : $timeout * 1000))
2746 0 0 unless $inBytes
2750 0 0 unless ($self->{'PARENT'}->read_const_time($PollTimer))
2759 0 0 if ($ticks++ > $ticksTimeout)
2770 0 0 if ($self->{'report_query_status'})
2772 0 0 unless (length $buffer)
2774 0 0 if $timeout <= 0
2779 0 0 unless $self->{'binmode'}
2782 0 0 if defined $self->{'INPUTLOGFH'}
2783 0 0 if defined $self->{'DUMPLOGFH'}
2786 0 0 $returnRef ? :
2794 0 0 if ($self->{'TYPE'} eq 'TELNET') { }
0 0 elsif ($self->{'TYPE'} eq 'SSH') { }
0 0 elsif ($self->{'TYPE'} eq 'SERIAL') { }
2796 0 0 if $self->eof
2797 0 0 unless defined $buffer
2800 0 0 unless defined $self->{'SSHCHANNEL'}
2804 0 0 unless defined $buffer
2807 0 0 if $self->{'SERIALEOF'}
2811 0 0 unless ($self->{'PARENT'}->read_const_time(1))
2817 0 0 unless defined $buffer
2823 0 0 if (length $buffer)
2825 0 0 if $self->{'report_query_status'}
2828 0 0 unless $self->{'binmode'}
2831 0 0 if defined $self->{'INPUTLOGFH'}
2832 0 0 if defined $self->{'DUMPLOGFH'}
2836 0 0 if length $self->{'BUFFER'}
2839 0 0 $returnRef ? :
2847 0 0 if $self->eof
2850 0 0 if (defined $self->{'OUTPUTLOGFH'} or defined $self->{'DUMPLOGFH'})
2855 0 0 unless $self->{'binmode'}
2857 0 0 if ($self->{'TYPE'} eq 'TELNET') { }
0 0 elsif ($self->{'TYPE'} eq 'SSH') { }
0 0 elsif ($self->{'TYPE'} eq 'SERIAL') { }
2861 0 0 unless $self->{'PARENT'}->put("String", $$outref, "Telnetmode", $self->{'TELNETMODE'})
2864 0 0 unless defined $self->{'SSHCHANNEL'}
2869 0 0 unless $countOut
2870 0 0 if $countOut != length $$outref
2877 0 0 if (defined $outlog)
2878 0 0 if defined $self->{'OUTPUTLOGFH'}
2879 0 0 if defined $self->{'DUMPLOGFH'}
2890 0 0 if (ref $fh and ref $fh ne 'GLOB') { }
2908 0 0 if ($len >= 16) { }
2930 0 0 if $$dataRef
2938 0 0 if $msgFormat =~ /^\s*verbose\s*$/i
2940 0 0 if $msgFormat =~ /^\s*default\s*$/i or not $msgFormat =~ /^\s*terse\s*$/i
2951 0 0 if (defined $mode)
2952 0 0 if (ref $mode)
2956 0 0 if $mode eq "return"
2957 0 0 if $mode eq "croak"
2958 0 0 if $mode eq "die"
2969 0 0 unless ($self->{'POLLREPORTED'})
2970 0 0 if (defined $errmode)
2974 0 0 if ($timeCredit > 0 and defined $self->{'POLL'}{'endtime'})
2978 0 0 if defined $self->{'POLL'}{'endtime'}
2984 0 0 unless ($self->{'POLLREPORTED'})
2985 0 0 unless defined $ok
2987 0 0 if defined $errmode
2999 0 0 if defined &Net::Telnet::_log_option and $telobj->{'opt_log'}
3009 0 0 if defined $self->{'terminal_type'}
3010 0 0 if @{$self->{'window_size'};}
3013 0 0 if defined &Net::Telnet::_flush_opts and length $telobj->{'unsent_opts'}
3022 0 0 if ($option == &TELOPT_NAWS and @{$self->{'window_size'};})
3027 0 0 if (defined &Net::Telnet::_log_option and $telobj->{'opt_log'})
3043 0 0 if defined &Net::Telnet::_log_option and $telobj->{'opt_log'}
3046 0 0 if ($option == &TELOPT_TTYPE and defined $self->{'terminal_type'})
3049 0 0 if defined &Net::Telnet::_log_option and $telobj->{'opt_log'}
3053 0 0 if ($option == &TELOPT_NAWS and @{$self->{'window_size'};})
3056 0 0 if defined &Net::Telnet::_log_option and $telobj->{'opt_log'}