File Coverage

lib/Crypt/Perl/X509/Extension/tlsFeature.pm
Criterion Covered Total %
statement 29 30 96.6
branch 1 2 50.0
condition n/a
subroutine 9 9 100.0
pod 0 1 0.0
total 39 42 92.8


line stmt bran cond sub pod time code
1             package Crypt::Perl::X509::Extension::tlsFeature;
2              
3 1     1   748 use strict;
  1         2  
  1         28  
4 1     1   4 use warnings;
  1         2  
  1         39  
5              
6             =encoding utf-8
7              
8             =head1 NAME
9              
10             Crypt::Perl::X509::Extension::tlsFeature
11              
12             =head1 SYNOPSIS
13              
14             my $usage_obj = Crypt::Perl::X509::Extension::tlsFeature->new( 5 );
15              
16             =head1 SEE ALSO
17              
18             L
19              
20             =cut
21              
22 1     1   4 use parent qw( Crypt::Perl::X509::Extension );
  1         2  
  1         8  
23              
24 1     1   58 use constant OID => '1.3.6.1.5.5.7.1.24';
  1         2  
  1         70  
25              
26 1     1   5 use constant CRITICAL => 0;
  1         2  
  1         45  
27              
28 1     1   5 use constant ASN1 => <
  1         1  
  1         41  
29             tlsFeature ::= SEQUENCE OF INTEGER
30             END
31              
32 1     1   5 use Crypt::Perl::X ();
  1         2  
  1         188  
33              
34             #OpenSSL crypto/x509v3/v3_tlsf.c
35             my %values = (
36             status_request => 5,
37             status_request_v2 => 17,
38             );
39              
40             sub new {
41 6     6 0 28 my ($class, @strs) = @_;
42              
43 6         10 my @ints;
44 6         30 for my $v (@strs) {
45 6 50       24 if (!$values{$v}) {
46 0         0 die Crypt::Perl::X::create('Generic', "Unknown TLS feature string: ā€œ$vā€");
47             }
48              
49 6         18 push @ints, $values{$v};
50             }
51              
52 6         25 return bless \@ints, $class;
53             }
54              
55             sub _encode_params {
56 6     6   18 my ($self) = @_;
57              
58 6         31 return [ @$self ];
59             }
60              
61             1;