File Coverage

blib/lib/Mail/SRS/Reversible.pm
Criterion Covered Total %
statement 22 22 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod 1 1 100.0
total 30 30 100.0


line stmt bran cond sub pod time code
1             package Mail::SRS::Reversible;
2              
3 3     3   27064 use strict;
  3         8  
  3         123  
4 3     3   18 use warnings;
  3         6  
  3         108  
5 3     3   17 use vars qw(@ISA);
  3         6  
  3         153  
6 3     3   16 use Carp;
  3         6  
  3         246  
7 3     3   954 use Mail::SRS qw(:all);
  3         15  
  3         489  
8 3     3   585 use Mail::SRS::Shortcut;
  3         6  
  3         380  
9              
10             @ISA = qw(Mail::SRS::Shortcut);
11              
12             =head1 NAME
13              
14             Mail::SRS::Reversible - A fully reversible Sender Rewriting Scheme
15              
16             =head1 SYNOPSIS
17              
18             use Mail::SRS::Reversible;
19             my $srs = new Mail::SRS::Reversible(...);
20              
21             =head1 DESCRIPTION
22              
23             See Mail::SRS for details of the standard SRS subclass interface.
24             This module provides the methods compile() and parse(). It operates
25             without store.
26              
27             =head1 SEE ALSO
28              
29             L
30              
31             =cut
32              
33             sub compile {
34 27     27 1 48 my ($self, $sendhost, $senduser) = @_;
35              
36 27         79 my $timestamp = $self->timestamp_create();
37              
38             # This has to be done in compile, because we might need access
39             # to it for storing in a database.
40 27         93 my $hash = $self->hash_create($timestamp, $sendhost, $senduser);
41              
42             # Note that there are 4 fields here and that sendhost may
43             # not contain a + sign. Therefore, we do not need to escape
44             # + signs anywhere in order to reverse this transformation.
45 27         302 return $SRS0TAG . $self->separator .
46             join($SRSSEP, $hash, $timestamp, $sendhost, $senduser);
47             }
48              
49             1;