[Pgp-tools-commit] r344 - in trunk: caff debian

thijs at alioth.debian.org thijs at alioth.debian.org
Wed Aug 15 22:13:08 UTC 2007


Author: thijs
Date: 2007-08-15 22:13:08 +0000 (Wed, 15 Aug 2007)
New Revision: 344

Modified:
   trunk/caff/caff
   trunk/debian/changelog
Log:
Make '-m' (mail keys) a quad-option as suggested by Gerfried Fuchs
in #383423. I used his patch as inspiration but made some different
choices which I think results in better compatibility.

Let me know if any of you have an issue with this being changed.


Modified: trunk/caff/caff
===================================================================
--- trunk/caff/caff	2007-08-02 12:01:03 UTC (rev 343)
+++ trunk/caff/caff	2007-08-15 22:13:08 UTC (rev 344)
@@ -40,7 +40,7 @@
 
 =over
 
-=item B<caff> [-eEmMRS] [-u I<yourkeyid>] I<keyid> [I<keyid> ..]
+=item B<caff> [-eERS] [-m I<yes|ask-yes|ask-no|no>] [-u I<yourkeyid>] I<keyid> [I<keyid> ..]
 
 =back
 
@@ -66,14 +66,11 @@
 Do not export old signatures. Default is to ask the user for each old
 signature.
 
-=item B<-m>, B<--mail>
+=item B<-m>, B<--mail> I<yes|ask-yes|ask-no|no>
 
-Send mail after signing. Default is to ask the user for each uid.
+Whether to send mail after signing. Default is to ask, for each uid,
+with a default value of yes.
 
-=item B<-M>, B<--no-mail>
-
-Do not send mail after signing. Default is to ask the user for each uid.
-
 =item B<-R>, B<--no-download>
 
 Do not retrieve the key to be signed from a keyserver.
@@ -214,13 +211,12 @@
 
 =item B<mail> [boolean]
 
-Do not prompt for sending mail, just do it. Default: B<0>.
+Whether to send mails. This is a quad-option, with which you can set the
+behaviour: yes always sends, no never sends; ask-yes and ask-no asks, for
+each uid, with according defaults for the question. Default: B<ask-yes>.
 
-=item B<no-mail> [boolean]
+In any case, the messages are also written to $CONFIG{'caffhome'}/keys/
 
-Do not prompt for sending mail. The messages are still written to
-$CONFIG{'caffhome'}/keys/. Default: B<0>.
-
 =item B<mail-template> [string]
 
 Email template which is used as the body text for the email sent out
@@ -662,7 +658,7 @@
 sub usage($$) {
 	my ($fd, $exitcode) = @_;
 	version($fd);
-	print $fd "Usage: $PROGRAM_NAME [-eEmMRS] [-u <yourkeyid>] <keyid> [<keyid> ...]\n";
+	print $fd "Usage: $PROGRAM_NAME [-eERS] [-m <yes|ask-yes|ask-no|no>] [-u <yourkeyid>] <keyid> [<keyid> ...]\n";
 	print $fd "Consult the manual page for more information.\n";
 	exit $exitcode;
 };
@@ -892,8 +888,8 @@
 	'--export-old'    =>  \$params->{'export-old'},
 	'-E'              =>  \$params->{'no-export-old'},
 	'--no-export-old' =>  \$params->{'no-export-old'},
-	'-m'              =>  \$params->{'mail'},
-	'--mail'          =>  \$params->{'mail'},
+	'-m:s'              =>  \$params->{'mail'},
+	'--mail:s'          =>  \$params->{'mail'},
 	'-M'              =>  \$params->{'no-mail'},
 	'--no-mail'       =>  \$params->{'no-mail'},
 	'-R'              =>  \$params->{'no-download'},
@@ -915,9 +911,21 @@
 
 $CONFIG{'local-user'}  = $params->{'local-user'}  if defined $params->{'local-user'};
 $CONFIG{'no-download'} = $params->{'no-download'} if defined $params->{'no-download'};
+$CONFIG{'no-sign'}     = $params->{'no-sign'}     if defined $params->{'no-sign'};
+
+# 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' ) ) {
+	$CONFIG{'mail'} = 'no';
+} elsif ( defined $params->{'mail'} ) {
+	$CONFIG{'mail'} = $params->{'mail'};
+} else {
+	$CONFIG{'mail'} = 'ask-yes';
+}
+
 $CONFIG{'no-mail'}     = $params->{'no-mail'}     if defined $params->{'no-mail'};
 $CONFIG{'mail'}        = $params->{'mail'}        if defined $params->{'mail'};
-$CONFIG{'no-sign'}     = $params->{'no-sign'}     if defined $params->{'no-sign'};
+
 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
@@ -1298,7 +1306,7 @@
 	if (scalar @UIDS == 0) {
 		info("found no signed uids for $keyid");
 	} else {
-		next if $CONFIG{'no-mail'}; # do not send mail
+		next if ($CONFIG{'mail'} eq 'no'); # do not send mail
 
 		my @attached;
 		for my $uid (@UIDS) {
@@ -1317,7 +1325,7 @@
 			if (!$uid->{'is_uat'} && ($uid->{'text'} =~ /@/)) {
 				my $address = $uid->{'text'};
 				$address =~ s/.*<(.*)>.*/$1/;
-				if (ask("Mail signature for $uid->{'text'} to '$address'?", 1, $CONFIG{'mail'})) {
+				if (ask("Mail signature for $uid->{'text'} to '$address'?", $CONFIG{'mail'} ne 'ask-no', $CONFIG{'mail'} eq 'yes')) {
 					my $mail = send_mail($address, $can_encrypt, $longkeyid, $uid, @attached);
 					if (defined $mail) {
 						my $keydir = "$KEYSBASE/$DATE_STRING";

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2007-08-02 12:01:03 UTC (rev 343)
+++ trunk/debian/changelog	2007-08-15 22:13:08 UTC (rev 344)
@@ -14,11 +14,13 @@
   * caff:
     + Add filename to one of the MIME parts as its absence breaks certain virus
       scanners.
+    + Make -m (mail options) a yes/no/ask-yes/ask-no option, based on a
+      suggestion by Gerfried Fuchs (Closes: #383423).
   * gpg-mailkeys:
     + Resolve bashisms in gpg-mailkeys.
   * Cleanup package dependencies.
 
- -- Thijs Kinkhorst <thijs at debian.org>  Thu, 02 Aug 2007 14:01:21 +0200
+ -- Thijs Kinkhorst <thijs at debian.org>  Wed, 15 Aug 2007 23:58:15 +0200
 
 signing-party (0.4.11-1) unstable; urgency=low
 




More information about the Pgp-tools-commit mailing list