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   116 use strict;
  19         33  
  19         793  
4 19     19   88 use warnings;
  19         43  
  19         1391  
5             our $VERSION = '0.089';
6              
7 19     19   111 use Carp;
  19         33  
  19         4119  
8              
9             sub _ssh_parse {
10 11     11   35 my $raw = shift;
11 11 50       46 return unless defined $raw;
12 11         39 my $len = length($raw);
13 11         48 my @parts = ();
14 11         25 my $i = 0;
15 11         23 while (1) {
16 45 100       130 last unless $i + 4 <= $len;
17 34         96 my $part_len = unpack("N4", substr($raw, $i, 4));
18 34 50       88 last unless $i + 4 + $part_len <= $len;
19 34         83 push @parts, substr($raw, $i + 4, $part_len);
20 34         85 $i += $part_len + 4;
21             }
22 11         70 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