[Pgp-tools-commit] r275 - in trunk: caff debian
Christoph Berg
myon at costa.debian.org
Sun Apr 30 09:35:06 UTC 2006
Author: myon
Date: 2006-04-30 09:35:05 +0000 (Sun, 30 Apr 2006)
New Revision: 275
Modified:
trunk/caff/pgp-clean
trunk/debian/changelog
Log:
* pgp-clean:
+ Import caff's getopt handling.
+ Add option to allow exporting subkeys (Closes: #359698).
Modified: trunk/caff/pgp-clean
===================================================================
--- trunk/caff/pgp-clean 2006-04-30 09:13:03 UTC (rev 274)
+++ trunk/caff/pgp-clean 2006-04-30 09:35:05 UTC (rev 275)
@@ -4,6 +4,7 @@
# $Id$
#
# Copyright (c) 2004, 2005 Peter Palfrader <peter at palfrader.org>
+# Copyright (c) 2006 Christoph Berg <cb at df7cb.de>
#
# All rights reserved.
#
@@ -39,7 +40,7 @@
=over
-=item B<pgp-clean> I<keyid> [I<keyid> ...]
+=item B<pgp-clean> [B<-s>] I<keyid> [I<keyid> ...]
=back
@@ -54,6 +55,10 @@
=over
+=item B<-s> B<--export-subkeys>
+
+Do not remove subkeys. (Pruned by default.)
+
=item I<keyid>
Use this key.
@@ -87,12 +92,17 @@
use File::Temp qw{tempdir};
use Fcntl;
use IO::Select;
+use Getopt::Long;
use GnuPG::Interface;
my $REVISION = '$Rev$';
my ($REVISION_NUMER) = $REVISION =~ /(\d+)/;
my $VERSION = "0.0.0.$REVISION_NUMER";
+###########
+# functions
+###########
+
sub notice($) {
my ($line) = @_;
print STDERR "[NOTICE] $line\n";
@@ -239,26 +249,60 @@
return $stdout;
};
+##################
+# global variables
+##################
+
my $KEYEDIT_PROMPT = '^\[GNUPG:\] GET_LINE keyedit.prompt';
my $KEYEDIT_DELUID_PROMPT = '^\[GNUPG:\] GET_BOOL keyedit.remove.uid.okay';
my $KEYEDIT_DELSIG_PROMPT = '^\[GNUPG:\] GET_BOOL keyedit.delsig';
my $KEYEDIT_KEYEDIT_OR_DELSIG_PROMPT = '^\[GNUPG:\] (GET_BOOL keyedit.delsig|GET_LINE keyedit.prompt)';
my $KEYEDIT_DELSUBKEY_PROMPT = '^\[GNUPG:\] GET_BOOL keyedit.remove.subkey';
+my $params;
+###################
+# argument handling
+###################
-sub usage() {
- print STDERR "pgp-clean $VERSION - (c) 2004, 2005 Peter Palfrader\n";
- print STDERR "Usage: $PROGRAM_NAME <keyid> [<keyid> ...]\n";
- exit 1;
+sub version($) {
+ my ($fd) = @_;
+ print $fd "pgp-clean $VERSION - (c) 2004, 2005, 2006 Peter Palfrader et al.\n";
};
-usage() unless scalar @ARGV >= 1;
+sub usage($$) {
+ my ($fd, $exitcode) = @_;
+ version($fd);
+ print $fd "Usage: $PROGRAM_NAME [-s] <keyid> [<keyid> ...]\n";
+ print $fd "-s --export-subkeys do not remove subkeys\n";
+ exit $exitcode;
+};
+
+Getopt::Long::config('bundling');
+if (!GetOptions (
+ '-h' => \$params->{'help'},
+ '--help' => \$params->{'help'},
+ '-V' => \$params->{'version'},
+ '--version' => \$params->{'version'},
+ '-s' => \$params->{'export-subkeys'},
+ '--export-subkeys' => \$params->{'export-subkeys'},
+ )) {
+ usage(\*STDERR, 1);
+};
+if ($params->{'help'}) {
+ usage(\*STDOUT, 0);
+};
+if ($params->{'version'}) {
+ version(\*STDOUT);
+ exit(0);
+};
+usage(\*STDERR, 1) unless scalar @ARGV >= 1;
+
my @KEYIDS;
for my $keyid (@ARGV) {
$keyid =~ s/^0x//i;
unless ($keyid =~ /^[A-Za-z0-9]{8}([A-Za-z0-9]{8})?$/) {
print STDERR "$keyid is not a keyid.\n";
- usage();
+ usage(\*STDERR, 1);
};
push @KEYIDS, uc($keyid);
};
@@ -361,7 +405,7 @@
# delete subkeys
################
- if ($number_of_subkeys > 0) {
+ if (!$params->{'export-subkeys'} and $number_of_subkeys > 0) {
for (my $i=1; $i<=$number_of_subkeys; $i++) {
readwrite_gpg("key $i\n", $inputfd, $stdoutfd, $stderrfd, $statusfd, exitwhenstatusmatches => $KEYEDIT_PROMPT, nocloseinput => 1);
};
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2006-04-30 09:13:03 UTC (rev 274)
+++ trunk/debian/changelog 2006-04-30 09:35:05 UTC (rev 275)
@@ -4,8 +4,11 @@
+ Try hostname without -f first to be compatible with BSD
(Closes: #356830).
+ Bump copyright, use URL in User-Agent header.
+ * pgp-clean:
+ + Import caff's getopt handling.
+ + Add option to allow exporting subkeys (Closes: #359698).
- -- Christoph Berg <myon at debian.org> Sun, 30 Apr 2006 11:10:53 +0200
+ -- Christoph Berg <myon at debian.org> Sun, 30 Apr 2006 11:33:23 +0200
signing-party (0.4.5-1) unstable; urgency=low
More information about the Pgp-tools-commit
mailing list