File Coverage

blib/lib/Crypt/PK.pm
Criterion Covered Total %
statement 21 21 100.0
branch 4 6 66.6
condition n/a
subroutine 4 4 100.0
pod n/a
total 29 31 93.5


line stmt bran cond sub pod time code
1             package Crypt::PK;
2              
3 19     19   97 use strict;
  19         26  
  19         639  
4 19     19   64 use warnings;
  19         58  
  19         1139  
5             our $VERSION = '0.089_002';
6              
7 19     19   83 use Carp;
  19         37  
  19         3242  
8              
9             sub _ssh_parse {
10 11     11   23 my $raw = shift;
11 11 50       36 return unless defined $raw;
12 11         21 my $len = length($raw);
13 11         21 my @parts = ();
14 11         27 my $i = 0;
15 11         21 while (1) {
16 45 100       74 last unless $i + 4 <= $len;
17 34         76 my $part_len = unpack("N4", substr($raw, $i, 4));
18 34 50       64 last unless $i + 4 + $part_len <= $len;
19 34         58 push @parts, substr($raw, $i + 4, $part_len);
20 34         40 $i += $part_len + 4;
21             }
22 11         59 return @parts;
23             }
24              
25             1;
26              
27             =pod
28              
29             =head1 NAME
30              
31             Crypt::PK - [internal only]
32              
33             =head1 SYNOPSIS
34              
35             Do not use this module directly.
36              
37             Use a concrete public-key module instead.
38              
39             =head1 SEE ALSO
40              
41             =over
42              
43             =item * L
44              
45             =item * L, L, L, L
46              
47             =item * L, L, L, L
48              
49             =back
50              
51             =cut