← Index
NYTProf Performance Profile   « line view »
For /usr/local/libexec/sympa/task_manager-debug.pl
  Run on Tue Jun 1 22:32:51 2021
Reported on Tue Jun 1 22:35:14 2021

Filename/usr/local/lib/perl5/site_perl/Mail/DKIM/ARC/MessageSignature.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0sMail::DKIM::ARC::MessageSignature::::BEGIN@13Mail::DKIM::ARC::MessageSignature::BEGIN@13
0000s0sMail::DKIM::ARC::MessageSignature::::BEGIN@14Mail::DKIM::ARC::MessageSignature::BEGIN@14
0000s0sMail::DKIM::ARC::MessageSignature::::BEGIN@2Mail::DKIM::ARC::MessageSignature::BEGIN@2
0000s0sMail::DKIM::ARC::MessageSignature::::BEGIN@3Mail::DKIM::ARC::MessageSignature::BEGIN@3
0000s0sMail::DKIM::ARC::MessageSignature::::DEFAULT_PREFIXMail::DKIM::ARC::MessageSignature::DEFAULT_PREFIX
0000s0sMail::DKIM::ARC::MessageSignature::::instanceMail::DKIM::ARC::MessageSignature::instance
0000s0sMail::DKIM::ARC::MessageSignature::::newMail::DKIM::ARC::MessageSignature::new
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Mail::DKIM::ARC::MessageSignature;
2use strict;
3use warnings;
4our $VERSION = '1.20200907'; # VERSION
5# ABSTRACT: Subclass of Mail::DKIM::Signature which represents a ARC-Message-Signature header
6
7# Copyright 2017 FastMail Pty Ltd. All Rights Reserved.
8# Bron Gondwana <brong@fastmailteam.com>
9
10# This program is free software; you can redistribute it and/or
11# modify it under the same terms as Perl itself.
12
13use base 'Mail::DKIM::Signature';
14use Carp;
15
16
17sub new {
18 my $class = shift;
19 my %prms = @_;
20 my $self = {};
21 bless $self, $class;
22
23 $self->instance( $prms{'Instance'} ) if exists $prms{'Instance'};
24 $self->algorithm( $prms{'Algorithm'} || 'rsa-sha256' );
25 $self->signature( $prms{'Signature'} );
26 $self->canonicalization( $prms{'Method'} ) if exists $prms{'Method'};
27 $self->domain( $prms{'Domain'} );
28 $self->headerlist( $prms{'Headers'} );
29 $self->protocol( $prms{'Query'} ) if exists $prms{'Query'};
30 $self->selector( $prms{'Selector'} );
31 $self->timestamp( $prms{'Timestamp'} ) if defined $prms{'Timestamp'};
32 $self->expiration( $prms{'Expiration'} ) if defined $prms{'Expiration'};
33 $self->key( $prms{'Key'} ) if defined $prms{'Key'};
34
35 return $self;
36}
37
38sub DEFAULT_PREFIX {
39 return 'ARC-Message-Signature:';
40}
41
42
43sub instance {
44 my $self = shift;
45
46 # ARC identities must be a number
47 if (@_) {
48 my $val = int(shift);
49 die "INVALID instance $val" unless ( $val > 0 and $val < 1025 );
50 $self->set_tag( 'i', $val );
51 }
52
53 my $i = $self->get_tag('i');
54 return $i;
55}
56
57
581;
59
60__END__