PerlIO-via-GnuPG

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

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

MANIFEST  view on Meta::CPAN

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

META.json  view on Meta::CPAN

               }
            },
            "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"

META.yml  view on Meta::CPAN

              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,

SIGNATURE  view on Meta::CPAN

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

dist.ini  view on Meta::CPAN

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;

t/basic.t  view on Meta::CPAN

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 )