Finance-Bank-Cahoot
view release on metacpan or search on metacpan
abstract: ~
author:
- Jon Connell <cpan@figsandfudge.com>
license: unknown
distribution_type: module
configure_requires:
ExtUtils::MakeMaker: 0
requires:
Carp: 0
Class::Accessor: 0
Crypt::CBC: 0
Crypt::DES_PP: 0
Date::Parse: 0
Digest::MD5: 0
English: 0
ExtUtils::MakeMaker: 0
File::Slurp: 0
File::Spec: 0
HTML::Form: 0
HTML::TableExtract: 0
IO::File: 0
Makefile.PL view on Meta::CPAN
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
'NAME' => 'Finance::Bank::Cahoot',
'AUTHOR' => 'Jon Connell <cpan@figsandfudge.com>',
'VERSION_FROM' => 'lib/Finance/Bank/Cahoot.pm', # finds $VERSION
'PREREQ_PM' => { 'Carp' => 0,
'Class::Accessor' => 0,
'Crypt::CBC' => 0,
'Crypt::DES_PP' => 0,
'Date::Parse' => 0,
'Digest::MD5' => 0,
'English' => 0,
'ExtUtils::MakeMaker' => 0,
'File::Slurp' => 0,
'File::Spec' => 0,
'HTML::Form' => 0,
'HTML::TableExtract' => 0,
'IO::File' => 0,
lib/Finance/Bank/Cahoot/CredentialsProvider/CryptFile.pm view on Meta::CPAN
package Finance::Bank::Cahoot::CredentialsProvider::CryptFile;
use base qw(Finance::Bank::Cahoot::CredentialsProvider);
use strict;
use warnings 'all';
use vars qw($VERSION);
$VERSION = '1.07';
use Carp qw(croak);
use Crypt::CBC;
use English '-no_match_vars';
use File::Slurp qw(slurp);
use IO::File;
sub _init
{
my ($self, $options) = @_;
croak 'No key provided' if not defined $options->{key};
my $cipher = Crypt::CBC->new(-key => $options->{key},
-cipher => 'DES_PP');
my $keyfile = $options->{keyfile};
$keyfile = $ENV{HOME}.'/.cahoot' if not defined $keyfile;
if (-e $keyfile) {
my $fh = new IO::File $keyfile, 'r'
or croak "Can't open $keyfile for reading: $OS_ERROR";
my $data = slurp $fh;
my $plaintext = $cipher->decrypt($data);
for (split /\n/, $plaintext) {
t/05-cryptfile.t view on Meta::CPAN
);
while (my ($message, $credentials) = each %invalid_details) {
if ($message =~ /open.*reading/) {
new IO::File $credentials->{options}->{keyfile}, 'w';
chmod 000, $credentials->{options}->{keyfile};
} else {
unlink 'temp_keyfile';
}
dies_ok {
local $^W = 0; ## supress UNIVERSAL::can warning from Crypt::CBC
my $provider =
Finance::Bank::Cahoot::CredentialsProvider::CryptFile->new(%{$credentials});
} $message.': expected to fail';
my $re = $message;
$re =~ s/\s*\(\d+\)$//;
like($@, qr/$re at/, 'exception: '.$message);
foreach (qw(account password username)) {
no strict 'refs';
undef *{"Finance::Bank::Cahoot::CredentialsProvider::CryptFile::$_"};
undef *{"Finance::Bank::Cahoot::CredentialsProvider::Constant::$_"};
( run in 1.373 second using v1.01-cache-2.11-cpan-df04353d9ac )