X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=caff%2Fcaff;h=138fef5f80c18e0e3df805a4eff5a2f5818e7cb9;hb=2dfca062aa06bb487599ff81386803979bdfc80c;hp=493a349eb8c342013080876501a4cf2cc87a3359;hpb=e9402a9526110b481df41ea0f279d9759fb34640;p=pgp-tools.git diff --git a/caff/caff b/caff/caff index 493a349..138fef5 100755 --- a/caff/caff +++ b/caff/caff @@ -82,7 +82,9 @@ Do not sign the keys. =item B<-u> I, B<--local-user> I Select the key that is used for signing, in case you have more than one key. -To sign with multiple keys at once, separate multiple keyids by comma. +To sign with multiple keys at once, separate multiple keyids by comma. This +option requires the key(s) to be defined through the keyid variable in the +configuration file. =item B<--key-file> I @@ -135,14 +137,22 @@ A list of your keys. This is used to determine which signatures to keep in the pruning step. If you select a key using B<-u> it has to be in this list. B. +=back + =head2 General settings +=over + =item B [string] Base directory for the files caff stores. Default: B<$HOME/.caff/>. +=back + =head2 GnuPG settings +=over + =item B [string] Path to the GnuPG binary. Default: B. @@ -171,11 +181,15 @@ Additional keyids to encrypt messages to. Default: none. Additional commands to pass to gpg after the "sign" command. Default: none. +=back + =head2 Keyserver settings +=over + =item B [string] -Keyserver to download keys from. Default: B. +Keyserver to download keys from. Default: B. =item B [boolean] @@ -186,8 +200,12 @@ Default: B<0>. A list of files containing keys to be imported. +=back + =head2 Signing settings +=over + =item B [boolean] If true, then skip the signing step. Default: B<0>. @@ -207,8 +225,12 @@ than this age. Default: B<24*60*60> (i.e. one day). Select the key that is used for signing, in case you have more than one key. With multiple keyids, sign with each key in turn. +=back + =head2 Mail settings +=over + =item B [boolean] Whether to send mails. This is a quad-option, with which you can set the @@ -456,7 +478,7 @@ sub load_config() { }; @{$CONFIG{'keyid'}} = map { uc } @{$CONFIG{'keyid'}}; $CONFIG{'export-sig-age'}= 24*60*60 unless defined $CONFIG{'export-sig-age'}; - $CONFIG{'keyserver'} = 'subkeys.pgp.net' unless defined $CONFIG{'keyserver'}; + $CONFIG{'keyserver'} = 'pool.sks-keyservers.net' unless defined $CONFIG{'keyserver'}; $CONFIG{'gpg'} = 'gpg' unless defined $CONFIG{'gpg'}; $CONFIG{'gpg-sign'} = $CONFIG{'gpg'} unless defined $CONFIG{'gpg-sign'}; $CONFIG{'gpg-delsig'} = $CONFIG{'gpg'} unless defined $CONFIG{'gpg-delsig'}; @@ -913,19 +935,18 @@ $CONFIG{'local-user'} = $params->{'local-user'} if defined $params->{'local-us $CONFIG{'no-download'} = $params->{'no-download'} if defined $params->{'no-download'}; $CONFIG{'no-sign'} = $params->{'no-sign'} if defined $params->{'no-sign'}; +$CONFIG{'no-mail'} = $params->{'no-mail'} if defined $params->{'no-mail'}; +$CONFIG{'mail'} = $params->{'mail'} if defined $params->{'mail'}; + # If old 'no-mail' parameter, or if the 'mail' parameter is set to 'no' -if ( $CONFIG{'no-mail'} || defined $params->{'no-mail'} || - ( defined $params->{'mail'} && $params->{'mail'} eq 'no' ) ) { +if ( defined $CONFIG{'no-mail'} || + ( defined $CONFIG{'mail'} && $CONFIG{'mail'} eq 'no' ) ) { $CONFIG{'mail'} = 'no'; -} elsif ( defined $params->{'mail'} ) { - $CONFIG{'mail'} = $params->{'mail'}; -} else { + +} elsif ( !defined $CONFIG{'mail'} ) { $CONFIG{'mail'} = 'ask-yes'; } -$CONFIG{'no-mail'} = $params->{'no-mail'} if defined $params->{'no-mail'}; -$CONFIG{'mail'} = $params->{'mail'} if defined $params->{'mail'}; - push @{$CONFIG{'key-files'}}, @{$params->{'key-files'}} if defined $params->{'key-files'}; for my $keyid (map { split /\n/ } @ARGV) { # caff "`cat txt`" is a single argument @@ -946,22 +967,7 @@ for my $keyid (map { split /\n/ } @ARGV) { # caff "`cat txt`" is a single argume # import own keys ################# for my $keyid (@{$CONFIG{'keyid'}}) { - my $gpg = GnuPG::Interface->new(); - $gpg->call( $CONFIG{'gpg'} ); - $gpg->options->hash_init( - 'homedir' => $GNUPGHOME, - 'extra_args' => [ qw{ --no-auto-check-trustdb --trust-model=always --with-colons --fixed-list-mode --fast-list-mode } ] ); - $gpg->options->meta_interactive( 0 ); - my ($inputfd, $stdoutfd, $stderrfd, $statusfd, $handles) = make_gpg_fds(); - my $pid = $gpg->list_public_keys(handles => $handles, command_args => $keyid); - my ($stdout, $stderr, $status) = readwrite_gpg('', $inputfd, $stdoutfd, $stderrfd, $statusfd); - waitpid $pid, 0; - - if ($stdout eq '') { - warn ("No data from gpg for list-key\n"); # There should be at least 'tru:' everywhere. - }; - unless ($stdout =~ /^pub:(?:[^:]*:){3,3}$keyid:/m) { - info("Key $keyid not found in caff's home. Getting it from your normal GnuPGHome."); + info("Importing key $keyid from your normal GnuPGHome."); my $key = export_key(undef, $keyid); if (!defined $key || $key eq '') { warn ("Did not get key $keyid from your normal GnuPGHome\n"); @@ -972,7 +978,6 @@ for my $keyid (@{$CONFIG{'keyid'}}) { warn ("Could not import $keyid into caff's gnupghome.\n"); next; }; - } } ######################## @@ -1362,7 +1367,7 @@ the signatures by running each through `gpg --import`. Note that I did not upload your key to any keyservers. If you want this new signature to be available to others, please upload it yourself. With GnuPG this can be done using - gpg --keyserver subkeys.pgp.net --send-key {$key} + gpg --keyserver pool.sks-keyservers.net --send-key {$key} If you have any questions, don't hesitate to ask.