ebx

 view release on metacpan or  search on metacpan

PassRing.pm  view on Meta::CPAN

    $self->{who}     = $who;

    return $self;
}

sub init_gnupg {
    my $self = shift;

    require GnuPG::Interface;

    my $gpg  = $self->{gnupg} = GnuPG::Interface->new();

    $gpg->options->hash_init(
	armor	     => 0, 
	always_trust => 1,
    );
    $gpg->options->meta_interactive(0);
    $gpg->options->push_recipients($self->{who});
}

sub get_keyring {
    my ($self, $pass) = @_;
    $self->{passphrase} = $pass if defined $pass;

    my $frozen;

    open my $keyfile, $self->{keyfile};
    read($keyfile, $frozen, 3);

PassRing.pm  view on Meta::CPAN

    return thaw(Crypt::Rijndael->new(
	Digest::MD5::md5_hex($self->{passphrase}),
	&Crypt::Rijndael::MODE_CBC,
    )->decrypt($frozen->{data}));
}

sub thaw_gnupg {
    my ($self, $frozen) = @_;

    return thaw(scalar( 
	`echo $self->{passphrase} | gpg -d --no-tty --passphrase-fd=0 $self->{keyfile}`
    )) if $^O eq 'cygwin'; # XXX: kludge, fixme.

    local $/;
    return unless -e $self->{keyfile};

    open KEY, $self->{keyfile} 
	or die "can't open keyfile $self->{keyfile}: $!";

    $self->init_gnupg;

ebx  view on Meta::CPAN

    -d			enable debugging messages
    -f			enable per-site forking (Unix only)
    -g			skip passring check, use guest for all sites
    -h			show help message and usage info
    -l			enable per-site locking
    -m <maxmsg>		set maximal number of message to keep track
    -o [logfile]	output to log stdout instead of log files
    -p			post only; skip fetching articles
    -r <delay>		repeat sync every <delay> seconds
    -s [interval]	write config every [interval] updates (default 1)
    -u <user>		specify the owner of gpg passring
    -x			remove lockfiles and proceed anyway
    -A			sync archive *only*: ignore articles
    -F			force fetching of duplicate articles
    -P			preserve remote user id and headers
    -R			refresh message id, do nothing else
    <boards>...		process specified boards or source
    <sites>...		set passring against specified site identifiers

=head1 ENVIRONMENT



( run in 0.612 second using v1.01-cache-2.11-cpan-df04353d9ac )