Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-Mail-DKIM for openSUSE:Leap:16.0 checked in at 2025-07-29 10:55:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:16.0/perl-Mail-DKIM (Old) and /work/SRC/openSUSE:Leap:16.0/.perl-Mail-DKIM.new.13279 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mail-DKIM" Tue Jul 29 10:55:26 2025 rev:2 rq:1296278 version:1.20240923 Changes: -------- --- /work/SRC/openSUSE:Leap:16.0/perl-Mail-DKIM/perl-Mail-DKIM.changes 2025-03-19 11:54:13.528590978 +0100 +++ /work/SRC/openSUSE:Leap:16.0/.perl-Mail-DKIM.new.13279/perl-Mail-DKIM.changes 2025-07-29 10:55:27.973503284 +0200 @@ -1,0 +2,15 @@ +Mon Sep 23 05:32:49 UTC 2024 - Tina Müller <timueller+p...@suse.de> + +- updated to 1.20240923 + see /usr/share/doc/packages/perl-Mail-DKIM/Changes + + 1.20240923 2024-09-23 Australia/Melbourne + * Fix loading of ED25519 keys with CryptX-0.081 + + 1.20240827 2024-08-27 Australia/Melbourne + * Add missing Author prerequisite + Thanks to Giovanni <g.bec...@snb.it> + * Option to pass a time to the Validator to assert the time + which should be considered as "now" for expiry checks + +------------------------------------------------------------------- Old: ---- Mail-DKIM-1.20240619.tar.gz New: ---- Mail-DKIM-1.20240923.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Mail-DKIM.spec ++++++ --- /var/tmp/diff_new_pack.pUjxzh/_old 2025-07-29 10:55:28.273515690 +0200 +++ /var/tmp/diff_new_pack.pUjxzh/_new 2025-07-29 10:55:28.277515856 +0200 @@ -18,7 +18,7 @@ %define cpan_name Mail-DKIM Name: perl-Mail-DKIM -Version: 1.20240619 +Version: 1.20240923 Release: 0 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Signs/verifies Internet mail with DKIM/DomainKey signatures ++++++ Mail-DKIM-1.20240619.tar.gz -> Mail-DKIM-1.20240923.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/Changes new/Mail-DKIM-1.20240923/Changes --- old/Mail-DKIM-1.20240619/Changes 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/Changes 2024-09-23 06:56:12.000000000 +0200 @@ -1,9 +1,21 @@ This file summarizes what's changed between releases of Mail-DKIM. +1.20240923 2024-09-23 Australia/Melbourne + * Fix loading of ED25519 keys with CryptX-0.081 + +1.20240827 2024-08-27 Australia/Melbourne + * Add missing Author prerequisite + Thanks to Giovanni <g.bec...@snb.it> + * Option to pass a time to the Validator to assert the time + which should be considered as "now" for expiry checks + 1.20240619 2024-06-19 Australia/Melbourne * Remove version check for Net::DNS, this fixes issues when using a development version of Net::DNS + * Add missing Test required Perl modules + Thanks to Giovanni <g.bec...@snb.it> + 1.20240124 2024-01-24 UTC * ARC: Return fail for any ARC set with an instance number greater than 50. This brings ARC verification in line with DKIM verification limits. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/MANIFEST new/Mail-DKIM-1.20240923/MANIFEST --- old/Mail-DKIM-1.20240619/MANIFEST 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/MANIFEST 2024-09-23 06:56:12.000000000 +0200 @@ -160,6 +160,7 @@ t/signer.t t/signer_dk.t t/signer_expiration.t +t/signer_expiration_set_time.t t/signer_policy.t t/simple_canonicalization.t t/test.ed.key diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/META.json new/Mail-DKIM-1.20240923/META.json --- old/Mail-DKIM-1.20240619/META.json 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/META.json 2024-09-23 06:56:12.000000000 +0200 @@ -69,7 +69,7 @@ "web" : "https://github.com/fastmail/mail-dkim/" } }, - "version" : "1.20240619", + "version" : "1.20240923", "x_contributors" : [ "Aaron Thompson <d...@aaront.org>", "Bron Gondwana <br...@fastmail.fm>", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/META.yml new/Mail-DKIM-1.20240923/META.yml --- old/Mail-DKIM-1.20240619/META.yml 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/META.yml 2024-09-23 06:56:12.000000000 +0200 @@ -38,7 +38,7 @@ resources: bugtracker: https://github.com/fastmail/mail-dkim/issues repository: git://github.com/fastmail/mail-dkim.git -version: '1.20240619' +version: '1.20240923' x_contributors: - 'Aaron Thompson <d...@aaront.org>' - 'Bron Gondwana <br...@fastmail.fm>' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/Makefile.PL new/Mail-DKIM-1.20240923/Makefile.PL --- old/Mail-DKIM-1.20240619/Makefile.PL 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/Makefile.PL 2024-09-23 06:56:12.000000000 +0200 @@ -41,7 +41,7 @@ "YAML::XS" => 0, "lib" => 0 }, - "VERSION" => "1.20240619", + "VERSION" => "1.20240923", "test" => { "TESTS" => "t/*.t" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/README new/Mail-DKIM-1.20240923/README --- old/Mail-DKIM-1.20240619/README 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/README 2024-09-23 06:56:12.000000000 +0200 @@ -1,5 +1,5 @@ This archive contains the distribution Mail-DKIM, -version 1.20240619: +version 1.20240923: Signs/verifies Internet mail with DKIM/DomainKey signatures diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/dist.ini new/Mail-DKIM-1.20240923/dist.ini --- old/Mail-DKIM-1.20240619/dist.ini 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/dist.ini 2024-09-23 06:56:12.000000000 +0200 @@ -12,6 +12,9 @@ [AutoPrereqs] +[Prereqs] +; authordep Pod::Weaver::Section::Contributors + [Prereqs / TestRequires] Test::RequiresInternet = 0 YAML = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/ARC/MessageSignature.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/ARC/MessageSignature.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/ARC/MessageSignature.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/ARC/MessageSignature.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::ARC::MessageSignature; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: Subclass of Mail::DKIM::Signature which represents a ARC-Message-Signature header # Copyright 2017 FastMail Pty Ltd. All Rights Reserved. @@ -70,7 +70,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 CONSTRUCTORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/ARC/Seal.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/ARC/Seal.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/ARC/Seal.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/ARC/Seal.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::ARC::Seal; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: represents a ARC-Seal header # Copyright 2017 FastMail Pty Ltd. All Rights Reserved. @@ -77,7 +77,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 CONSTRUCTORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/ARC/Signer.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/ARC/Signer.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/ARC/Signer.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/ARC/Signer.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::ARC::Signer; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: generates a DKIM signature for a message # Copyright 2017 FastMail Pty Ltd. All Rights Reserved. @@ -603,7 +603,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/ARC/Verifier.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/ARC/Verifier.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/ARC/Verifier.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/ARC/Verifier.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::ARC::Verifier; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: verifies an ARC-Sealed message # Copyright 2017 FastMail Pty Ltd. All Rights Reserved. @@ -97,6 +97,11 @@ return if $self->{result}; # already failed + # Set verification time if we have one + if ($self->{verify_time}) { + $signature->set_verify_time($self->{verify_time}); + } + push @{ $self->{signatures} }, $signature; unless ( $self->check_signature($signature) ) { @@ -621,7 +626,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Algorithm/Base.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Algorithm/Base.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Algorithm/Base.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Algorithm/Base.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Algorithm::Base; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: base class for DKIM "algorithms" # Copyright 2005-2007 Messiah College. All rights reserved. @@ -187,7 +187,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Algorithm/dk_rsa_sha1.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Algorithm/dk_rsa_sha1.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Algorithm/dk_rsa_sha1.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Algorithm/dk_rsa_sha1.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Algorithm::dk_rsa_sha1; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: Base algorithm class # Copyright 2005-2006 Messiah College. All rights reserved. @@ -134,7 +134,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Algorithm/ed25519_sha256.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Algorithm/ed25519_sha256.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Algorithm/ed25519_sha256.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Algorithm/ed25519_sha256.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Algorithm::ed25519_sha256; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: ed25519 sha256 algorithm class # Copyright 2005-2006 Messiah College. All rights reserved. @@ -67,7 +67,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Algorithm/rsa_sha1.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Algorithm/rsa_sha1.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Algorithm/rsa_sha1.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Algorithm/rsa_sha1.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Algorithm::rsa_sha1; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: rsa sha1 algorithm class # Copyright 2005-2006 Messiah College. All rights reserved. @@ -66,7 +66,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Algorithm/rsa_sha256.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Algorithm/rsa_sha256.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Algorithm/rsa_sha256.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Algorithm/rsa_sha256.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Algorithm::rsa_sha256; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: rsa sha256 algorithm class # Copyright 2005-2006 Messiah College. All rights reserved. @@ -66,7 +66,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/AuthorDomainPolicy.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/AuthorDomainPolicy.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/AuthorDomainPolicy.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/AuthorDomainPolicy.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::AuthorDomainPolicy; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: represents an Author Domain Signing Practices (ADSP) record # Copyright 2005-2009 Messiah College. @@ -195,7 +195,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/Base.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/Base.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/Base.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/Base.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Canonicalization::Base; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: base class for canonicalization methods # Copyright 2005-2007 Messiah College. All rights reserved. @@ -85,7 +85,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/DkCommon.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/DkCommon.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/DkCommon.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/DkCommon.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Canonicalization::DkCommon; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: dk common canonicalization # Copyright 2005-2006 Messiah College. All rights reserved. @@ -150,7 +150,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/DkimCommon.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/DkimCommon.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/DkimCommon.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/DkimCommon.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Canonicalization::DkimCommon; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: common canonicalization # Copyright 2005-2007 Messiah College. All rights reserved. @@ -144,7 +144,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/dk_nofws.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/dk_nofws.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/dk_nofws.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/dk_nofws.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Canonicalization::dk_nofws; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: nofws canonicalization # Copyright 2005-2006 Messiah College. All rights reserved. @@ -45,7 +45,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/dk_simple.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/dk_simple.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/dk_simple.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/dk_simple.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Canonicalization::dk_simple; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: dk simple canonicalization # Copyright 2005 Messiah College. All rights reserved. @@ -75,7 +75,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/nowsp.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/nowsp.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/nowsp.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/nowsp.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Canonicalization::nowsp; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: nowsp canonicalization # Copyright 2005 Messiah College. All rights reserved. @@ -57,7 +57,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/relaxed.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/relaxed.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/relaxed.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/relaxed.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Canonicalization::relaxed; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: common canonicalization # Copyright 2005 Messiah College. All rights reserved. @@ -123,7 +123,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/seal.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/seal.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/seal.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/seal.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Canonicalization::seal; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: arc seal canonicalization # Copyright 2017 FastMail Pty Ltd. All Rights Reserved. @@ -116,7 +116,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/simple.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/simple.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Canonicalization/simple.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Canonicalization/simple.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Canonicalization::simple; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: simple canonicalization # Copyright 2005 Messiah College. All rights reserved. @@ -96,7 +96,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Common.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Common.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Common.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Common.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Common; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: Common class for Mail::DKIM # Copyright 2005-2007 Messiah College. All rights reserved. @@ -181,7 +181,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/DNS.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/DNS.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/DNS.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/DNS.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::DNS; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: performs DNS queries for Mail::DKIM # Copyright 2007, 2012 Messiah College. All rights reserved. @@ -184,7 +184,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/DkPolicy.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/DkPolicy.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/DkPolicy.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/DkPolicy.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::DkPolicy; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: represents a DomainKeys Sender Signing Policy record # Copyright 2005-2009 Messiah College. @@ -172,7 +172,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/DkSignature.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/DkSignature.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/DkSignature.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/DkSignature.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::DkSignature; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: represents a DomainKeys-Signature header # Copyright 2005-2006 Messiah College. All rights reserved. @@ -252,7 +252,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 CONSTRUCTORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/DkimPolicy.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/DkimPolicy.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/DkimPolicy.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/DkimPolicy.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::DkimPolicy; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: represents a DKIM Sender Signing Practices record # Copyright 2005-2007 Messiah College. @@ -193,7 +193,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Key.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Key.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Key.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Key.pm 2024-09-23 06:56:12.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; # ABSTRACT: Represents a DKIM Key -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # Copyright 2006 Jason Long. All rights reserved. # @@ -101,7 +101,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/KeyValueList.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/KeyValueList.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/KeyValueList.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/KeyValueList.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::KeyValueList; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: Represents a Key/Value list # Copyright 2005-2007 Messiah College. All rights reserved. @@ -195,7 +195,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/MessageParser.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/MessageParser.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/MessageParser.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/MessageParser.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::MessageParser; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: Signs/verifies Internet mail with DKIM/DomainKey signatures # Copyright 2005 Messiah College. All rights reserved. @@ -142,7 +142,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Policy.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Policy.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Policy.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Policy.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Policy; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: abstract base class for originator "signing" policies # Copyright 2005-2007 Messiah College. @@ -162,7 +162,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/PrivateKey.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/PrivateKey.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/PrivateKey.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/PrivateKey.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::PrivateKey; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: a private key loaded in memory for DKIM signing # Copyright 2005-2007 Messiah College. All rights reserved. @@ -97,10 +97,10 @@ $cork = new Crypt::PK::Ed25519; # Prepend/append with PEM boilerplate - my $pem = "-----BEGIN ED25519 PRIVATE KEY-----\n"; + my $pem = "-----BEGIN PRIVATE KEY-----\n"; $pem .= $self->data; $pem .= "\n"; - $pem .= "-----END ED25519 PRIVATE KEY-----\n"; + $pem .= "-----END PRIVATE KEY-----\n"; # Pass PEM text buffer $cork->import_key(\$pem) @@ -195,7 +195,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/PublicKey.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/PublicKey.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/PublicKey.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/PublicKey.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::PublicKey; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: Represents a DKIM key # Copyright 2005 Messiah College. All rights reserved. @@ -522,7 +522,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 CONSTRUCTOR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Signature.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Signature.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Signature.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Signature.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Signature; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: represents a DKIM-Signature header # Copyright 2005-2007 Messiah College. All rights reserved. @@ -191,6 +191,11 @@ return 1; } +sub set_verify_time { + my ( $self, $verify_time ) = @_; + $self->{_verify_time} = $verify_time; +} + # checks whether the expiration time on this signature is acceptable # returns a true value if acceptable, false otherwise # @@ -198,7 +203,6 @@ my $self = shift; my $x = $self->expiration; return 1 if not defined $x; - $self->{_verify_time} ||= time(); return ( $self->{_verify_time} <= $x ); } @@ -616,7 +620,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 CONSTRUCTORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Signer.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Signer.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Signer.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Signer.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Signer; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: generates a DKIM signature for a message # Copyright 2005-2007 Messiah College. All rights reserved. @@ -440,7 +440,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/SignerPolicy.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/SignerPolicy.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/SignerPolicy.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/SignerPolicy.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::SignerPolicy; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: determines signing parameters for a message # Copyright 2005-2006 Messiah College. All rights reserved. @@ -24,7 +24,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/TextWrap.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/TextWrap.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/TextWrap.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/TextWrap.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::TextWrap; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: text wrapping module written for use with DKIM use Carp; @@ -176,7 +176,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Verifier.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Verifier.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM/Verifier.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM/Verifier.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM::Verifier; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: verifies a DKIM-signed message # Copyright 2005-2009 Messiah College. All rights reserved. @@ -99,6 +99,11 @@ croak 'wrong number of arguments' unless ( @_ == 1 ); my ($signature) = @_; + # Set verification time if we have one + if ($self->{verify_time}) { + $signature->set_verify_time($self->{verify_time}); + } + # ignore signature headers once we've seen 50 or so # this protects against abuse. return if ( @{ $self->{signatures} } > $MAX_SIGNATURES_TO_PROCESS ); @@ -500,7 +505,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/lib/Mail/DKIM.pm new/Mail-DKIM-1.20240923/lib/Mail/DKIM.pm --- old/Mail-DKIM-1.20240619/lib/Mail/DKIM.pm 2024-06-19 04:55:47.000000000 +0200 +++ new/Mail-DKIM-1.20240923/lib/Mail/DKIM.pm 2024-09-23 06:56:12.000000000 +0200 @@ -1,7 +1,7 @@ package Mail::DKIM; use strict; use warnings; -our $VERSION = '1.20240619'; # VERSION +our $VERSION = '1.20240923'; # VERSION # ABSTRACT: Signs/verifies Internet mail with DKIM/DomainKey signatures #require 5.010; @@ -23,7 +23,7 @@ =head1 VERSION -version 1.20240619 +version 1.20240923 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mail-DKIM-1.20240619/t/signer_expiration_set_time.t new/Mail-DKIM-1.20240923/t/signer_expiration_set_time.t --- old/Mail-DKIM-1.20240619/t/signer_expiration_set_time.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Mail-DKIM-1.20240923/t/signer_expiration_set_time.t 2024-09-23 06:56:12.000000000 +0200 @@ -0,0 +1,145 @@ +#!/usr/bin/perl -I../lib + +use strict; +use warnings; +use Test::Simple tests => 6; +use Test::More; + +use Mail::DKIM::Signer; +use Mail::DKIM::Verifier; + +my $homedir = ( -d "t" ) ? "t" : "."; + +my $tdir = -f "t/test.key" ? "t" : "."; +my $keyfile = "$tdir/test.key"; + +sub generate_signed_email { + my ($timestamp,$expiration) = @_; + + my $dkim = Mail::DKIM::Signer->new( + Algorithm => "rsa-sha256", + Method => "relaxed", + Domain => "example.org", + Selector => "expirationtest", + KeyFile => $keyfile, + Timestamp => $timestamp, + Expiration => $expiration, + ); + ok( $dkim, "new() works" ); + + my $sample_email = <<END_OF_SAMPLE; +From: jason <jason\@example.org> +Subject: hi there +Comment: what is a comment + +this is a sample message +END_OF_SAMPLE + $sample_email =~ s/\n/\015\012/gs; + + $dkim->PRINT($sample_email); + $dkim->CLOSE; + + my $signature = $dkim->signature; + ok( $signature, "signature() works" ); + + print "# signature=" . $signature->as_string . "\n"; + ok( $signature->as_string =~ / t=$timestamp; /, "got expected signature timestamp value" ); + ok( $signature->as_string =~ / x=$expiration; /, "got expected signature expiration value" ); + + my $signed_email = $signature->as_string . "\r\n" . $sample_email; + return $signed_email; +} + +my $timestamp = time; +my $expiration = $timestamp + 3600; +my $signed_email = generate_signed_email($timestamp,$expiration); +my $verifier = Mail::DKIM::Verifier->new(); +$verifier->{verify_time} = $timestamp + 86400; +$verifier->PRINT($signed_email); +$verifier->CLOSE; +isnt( $verifier->result, 'pass', 'Expired Signature does not pass'); + +$verifier = Mail::DKIM::Verifier->new(); +$verifier->PRINT($signed_email); +$verifier->CLOSE; +is( $verifier->result, 'pass', 'Non-expired Signature does pass'); + +# override the DNS implementation, so that these tests do not +# rely on DNS servers I have no control over +my $CACHE; + +sub Mail::DKIM::DNS::fake_query { + my ( $domain, $type ) = @_; + die "can't lookup $type record" if $type ne "TXT"; + + unless ($CACHE) { + open my $fh, "<", "$homedir/FAKE_DNS.dat" + or die "Error: cannot read $homedir/FAKE_DNS.dat: $!\n"; + $CACHE = {}; + while (<$fh>) { + chomp; + next if /^\s*[#;]/ || /^\s*$/; + my ( $k, $v ) = split /\s+/, $_, 2; + $CACHE->{$k} = + ( $v =~ /^~~(.*)~~$/ ) ? "$1" + : $v eq "NXDOMAIN" ? [] + : [ bless \$v, "FakeDNS::Record" ]; + } + close $fh; + } + + if ( not exists $CACHE->{$domain} ) { + warn "did not cache that DNS entry: $domain\n"; + print STDERR ">>>\n"; + my @result = Mail::DKIM::DNS::orig_query( $domain, $type ); + if ( !@result ) { + print STDERR "No results: $@\n"; + } + else { + foreach my $rr (@result) { + + # join with no intervening spaces, RFC 6376 + if ( $rr->can('txtdata') ) { + + # must call txtdata() in a list context + printf STDERR ( "%s\n", join( "", $rr->txtdata ) ); + } + else { + # char_str_list method is 'historical' + printf STDERR ( "%s\n", join( "", $rr->char_str_list ) ); + } + } + } + print STDERR "<<<\n"; + die; + } + + if ( ref $CACHE->{$domain} ) { + return @{ $CACHE->{$domain} }; + } + else { + die "DNS error: $CACHE->{$domain}\n"; + } +} + +BEGIN { + unless ( $ENV{use_real_dns} ) { + *Mail::DKIM::DNS::orig_query = *Mail::DKIM::DNS::query; + *Mail::DKIM::DNS::query = *Mail::DKIM::DNS::fake_query; + } +} + +package FakeDNS::Record; + +sub type { + return "TXT"; +} + +sub char_str_list { + return ${ $_[0] }; +} + +sub txtdata { + return ${ $_[0] }; +} +