Add filename to one of the MIME parts as its absence breaks certain
[pgp-tools.git] / caff / caff
index 9ce3a966b8c1a91e8133e642778b80ae8b28548f..8b9b701c66f3ffbf1dac528058f422bacd0ed178 100755 (executable)
--- a/caff/caff
+++ b/caff/caff
@@ -779,8 +779,11 @@ sub send_mail($$$@) {
                            (defined $CONFIG{'also-encrypt-to'})) {
                                my $reason = $1;
                                my $keyid = $2;
-                               if (grep { %_ eq $keyid } @{$CONFIG{'also-encrypt-to'}}) {
-                                       warn("Could not encrypt to $keyid, spezified in CONFIG{'also-encrypt-to'}.  Try to update the key using gpg --homedir=\$HOME/caff/gnupghome --import <keyd>.");
+                               if (grep { $_ eq $keyid } @{$CONFIG{'also-encrypt-to'}}) {
+                                       warn("Could not encrypt to $keyid, specified in CONFIG{'also-encrypt-to'}.\n".
+                                            "Try to update the key using gpg --homedir=$GNUPGHOME --import <exported key>\n".
+                                            "or try the following if you are slightly more daring:\n".
+                                            " gpg --export $keyid | gpg --homedir=$GNUPGHOME --import\n");
                                        return;
                                };
                        };
@@ -795,6 +798,7 @@ sub send_mail($$$@) {
 
                $message_entity->attach(
                        Type        => "application/pgp-encrypted",
+                       Filename    => "signedkey.msg",
                        Disposition => 'attachment',
                        Encoding    => "7bit",
                        Data        => "Version: 1\n");
@@ -1315,12 +1319,15 @@ for my $keyid (@keyids_ok) {
                                $address =~ s/.*<(.*)>.*/$1/;
                                if (ask("Mail signature for $uid->{'text'} to '$address'?", 1, $CONFIG{'mail'})) {
                                        my $mail = send_mail($address, $can_encrypt, $longkeyid, $uid, @attached);
-
-                                       my $keydir = "$KEYSBASE/$DATE_STRING";
-                                       my $mailfile = "$keydir/$longkeyid.mail.".$uid->{'serial'}.".".sanitize_uid($uid->{'text'});
-                                       open (KEY, ">$mailfile") or die ("Cannot open $mailfile: $!\n");
-                                       print KEY $mail;
-                                       close KEY;
+                                       if (defined $mail) {
+                                               my $keydir = "$KEYSBASE/$DATE_STRING";
+                                               my $mailfile = "$keydir/$longkeyid.mail.".$uid->{'serial'}.".".sanitize_uid($uid->{'text'});
+                                               open (KEY, ">$mailfile") or die ("Cannot open $mailfile: $!\n");
+                                               print KEY $mail;
+                                               close KEY;
+                                       } else {
+                                               warn "Generating mail failed.\n";
+                                       };
                                };
                        };
                };