PerlIO-via-GnuPG
view release on metacpan or search on metacpan
Revision history for PerlIO-via-GnuPG
0.006 2015-08-10 16:51:45 PDT-0700
* We now check for 'gpg' on distribution configuration.
0.005 2015-08-07 15:30:12 PDT-0700
* Explicitly make v5.14 our minimum supported version of Perl. This isn't
really a change from the status quo, but at least we're actually being
up-front about it now.
0.004 2014-04-14 14:33:13 PDT-0700
* Refactor passthrough logic
* Add custom warning categories
0.003 2014-04-08 01:11:07 PDT-0700
* Add PerlIO::via::GnuPG::Maybe
* Additional tests, POD, mode changes
0.002 2013-07-20 14:24:07 PDT-0700
* don't run our tests if the gpg executable is not present (pointless)
* travis config changes to run 5.8 (but allow it to fail) and not test
the release/cpan branch
0.001 2013-07-14 00:28:36 CDT-0500
* first release
SIGNATURE
cpanfile
dist.ini
lib/PerlIO/via/GnuPG.pm
lib/PerlIO/via/GnuPG/Maybe.pm
t/00-check-deps.t
t/00-compile.t
t/00-report-prereqs.dd
t/00-report-prereqs.t
t/basic.t
t/gpghome/pubring.gpg
t/gpghome/secring.gpg
t/gpghome/trustdb.gpg
t/input.txt
t/input.txt.asc
xt/author/eol.t
xt/author/no-tabs.t
xt/author/pod-spell.t
xt/release/consistent-version.t
xt/release/has-version.t
xt/release/minimum-version.t
xt/release/no-smart-comments.t
xt/release/pod-coverage.t
}
},
"name" : "@RSRCHBOY/PodWeaver",
"version" : "4.006"
},
{
"class" : "Dist::Zilla::Plugin::CheckBin",
"config" : {
"Dist::Zilla::Plugin::CheckBin" : {
"command" : [
"gpg"
]
}
},
"name" : "CheckBin",
"version" : "0.007"
},
{
"class" : "Dist::Zilla::Plugin::Encoding",
"name" : "Encoding",
"version" : "5.039"
class: Pod::Weaver::Plugin::SingleEncoding
name: '@RSRCHBOY/SingleEncoding'
version: '4.012'
name: '@RSRCHBOY/PodWeaver'
version: '4.006'
-
class: Dist::Zilla::Plugin::CheckBin
config:
Dist::Zilla::Plugin::CheckBin:
command:
- gpg
name: CheckBin
version: '0.007'
-
class: Dist::Zilla::Plugin::Encoding
name: Encoding
version: '5.039'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
version: '5.039'
Makefile.PL view on Meta::CPAN
# This is free software, licensed under:
#
# The GNU Lesser General Public License, Version 2.1, February 1999
#
# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.039.
use strict;
use warnings;
# inserted by Dist::Zilla::Plugin::CheckBin 0.007
use Devel::CheckBin;
check_bin('gpg');
use 5.014000;
use ExtUtils::MakeMaker;
my %WriteMakefileArgs = (
"ABSTRACT" => "Layer to try to decrypt on read",
"AUTHOR" => "Chris Weyl <cweyl\@alumni.drew.edu>",
"CONFIGURE_REQUIRES" => {
"Devel::CheckBin" => 0,
SHA1 3e65f4419e4107b24b3349cebab5451373a7cad7 README
SHA1 5548d94e69170d6df08901c3446beb2c20c7bfc5 cpanfile
SHA1 9d0e9279ad76ff3cff9ab5be6e2a1e63cca91482 dist.ini
SHA1 6720cbc79cee063df6ca3d423aaf4b419ee560b2 lib/PerlIO/via/GnuPG.pm
SHA1 16bdd1745cfbf18c3c26f7315eb2fb80c748dbce lib/PerlIO/via/GnuPG/Maybe.pm
SHA1 c522c3928158e64bd97d34d20cbfe0b5305a7eb2 t/00-check-deps.t
SHA1 94f00de7e3cc97590a7fc99651077e29c197cd0f t/00-compile.t
SHA1 4b8068ba145dfdeafe83f206cbf6503d93b86b46 t/00-report-prereqs.dd
SHA1 2f57ed6c3bb3a5eb32817fdc3e41427eac497317 t/00-report-prereqs.t
SHA1 d439d39f89f684aafdf9bff1e354beadd75abb05 t/basic.t
SHA1 0108713ba0ac102c429f478a8a48807e71a9be84 t/gpghome/pubring.gpg
SHA1 e8a3681b0d173d8c5da3964d2b301d732353f3cd t/gpghome/secring.gpg
SHA1 ff8d30bb9d5c9dcd6f7bd42c4a78c4e3f1db57aa t/gpghome/trustdb.gpg
SHA1 2e95bc585ee8c852a8faea15c884649019d64bb1 t/input.txt
SHA1 3dc4251e692ebff992b81577598c3ff225785413 t/input.txt.asc
SHA1 8cdb6a2900e8c64d3f907a87a7cbcb73f73aaa7e xt/author/eol.t
SHA1 44728c637f299cd0e5a882d44c0dee9a32a7793d xt/author/no-tabs.t
SHA1 de8a68869344e8fcee9a19eab6074d5701f605f3 xt/author/pod-spell.t
SHA1 a7948d34cfaad400286ea5d5fa6206c4c7e2552c xt/release/consistent-version.t
SHA1 bd0a39985c33a12888ba0eae205b0db40a3a149d xt/release/has-version.t
SHA1 c45158515b6dcebf2d444e1bfca0de2e6b2dd7f2 xt/release/minimum-version.t
SHA1 2a2b869acf544e125147865689d949c7a4d0ca60 xt/release/no-smart-comments.t
SHA1 5b68a22fc3a78d5522364fa4ba6a0a3cc64e2dad xt/release/pod-coverage.t
name = PerlIO-via-GnuPG
author = Chris Weyl <cweyl@alumni.drew.edu>
license = LGPL_2_1
copyright_holder = Chris Weyl
copyright_year = 2013
[FileFinder::Filter / PerlyTestFiles]
finder = :TestFiles
skip = ^t/gpghome/
[FileFinder::Filter / AllPerlyFiles]
finder = :InstallModules
finder = :ExecFiles
finder = PerlyTestFiles
[@RSRCHBOY]
MinimumPerl.test_finder = PerlyTestFiles
Test::EOL.finder = AllPerlyFiles
Test::NoTabs.finder = AllPerlyFiles
Test::MinimumVersion.max_target_perl = 5.14.0
[CheckBin]
command = gpg
[Encoding]
encoding = latin1
match = ^t/gpghome/
lib/PerlIO/via/GnuPG.pm view on Meta::CPAN
use warnings::register qw{ unencrypted };
#use warnings::register;
use warnings;
use autodie 2.25;
use IPC::Open3 'open3';
use Symbol 'gensym';
use List::AllUtils 'part';
# gpg --decrypt -q --status-file aksdja --no-tty
# gpg --decrypt -q --status-file aksdja --no-tty .pause.gpg
sub PUSHED {
my ($class, $mode) = @_;
return bless { }, $class;
}
sub _passthrough_unencrypted { 0 }
sub FILL {
my ($self, $fh) = @_;
return shift @{ $self->{buffer} }
if exists $self->{buffer};
### pull in all of fh and try to decrypt it...
my $maybe_encrypted = do { local $/; <$fh> };
### $maybe_encrypted
my ($in, $out, $error) = (gensym, gensym, gensym);
my $run = 'gpg -qd --no-tty --command-fd 0';
my $pid = open3($in, $out, $error, $run);
### $pid
print $in $maybe_encrypted;
close $in;
my @output = <$out>;
my @errors = <$error>;
waitpid $pid, 0;
use strict;
use warnings;
use Test::More;
use Test::Skip::UnlessExistsExecutable 'gpg';
use PerlIO::via::GnuPG;
use PerlIO::via::GnuPG::Maybe;
$ENV{GNUPGHOME} = './t/gpghome';
# this is nice, not mandatory -- that is, it just quiets down any "unsafe
# perms!" warnings -- so ignoring any errors that might occur here is
# intentional.
chmod 0700 => $ENV{GNUPGHOME};
# TODO: need warnings, death tests
subtest ':via(GnuPG) opening encrypted text' => sub {
open(my $fh, '<:via(GnuPG)', 't/input.txt.asc')
xt/author/pod-spell.t view on Meta::CPAN
add_stopwords(<DATA>);
all_pod_files_spelling_ok( qw( bin lib ) );
__DATA__
ABEND
AFAICT
Gratipay
RSRCHBOY
RSRCHBOY's
codebase
coderef
gpg
implementers
ini
metaclass
metaclasses
parameterization
parameterized
subclasses
Formattable
formattable
Chris
xt/release/no-smart-comments.t view on Meta::CPAN
eval "use Test::NoSmartComments";
plan skip_all => 'Test::NoSmartComments required for checking comment IQ'
if $@;
no_smart_comments_in("lib/PerlIO/via/GnuPG.pm");
no_smart_comments_in("lib/PerlIO/via/GnuPG/Maybe.pm");
no_smart_comments_in("t/00-compile.t");
no_smart_comments_in("t/00-report-prereqs.dd");
no_smart_comments_in("t/00-report-prereqs.t");
no_smart_comments_in("t/basic.t");
no_smart_comments_in("t/gpghome/pubring.gpg");
no_smart_comments_in("t/gpghome/secring.gpg");
no_smart_comments_in("t/gpghome/trustdb.gpg");
no_smart_comments_in("t/input.txt");
no_smart_comments_in("t/input.txt.asc");
done_testing();
( run in 0.876 second using v1.01-cache-2.11-cpan-df04353d9ac )