Summary | PGP BAD Signature from.... |
Queue | IMP |
Queue Version | 4.0 |
Type | Bug |
State | Resolved |
Priority | 2. Medium |
Owners | slusarz (at) horde (dot) org |
Requester | mikael.brostrom (at) m-sys (dot) se |
Created | 01/07/2005 (7456 days ago) |
Due | |
Updated | 02/22/2005 (7410 days ago) |
Assigned | 01/07/2005 (7456 days ago) |
Resolved | 02/22/2005 (7410 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
State ⇒ Resolved
a month or so back. All messages with the signature separator (DASH
DASH SPACE) and/or non-signatures are verifying correctly for me.
State ⇒ Assigned
State ⇒ Unconfirmed
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ PGP BAD Signature from....
Queue ⇒ IMP
i found a bug in imp, when you are signing a message with pgp and
using a signature with dashes. like this.
--
Mikael Broström
imp removes a extra space during the signature verify so the
signature gets bad.
i took the files imp creates in /tmp/xxxxxxxxx/horde-pgpxxxxxxx
and compared the files u get when you read a message (when imp checks
the signature) using diff..
i found that the extra space char in the file that are created during
compose marked by <A EXTRA SPACE CHARACTER>
below was gone.
--<A EXTRA SPACE CHARACTER><<< gone when u look at the mail
Mikael Broström
when you are opening the mail in imp the char is removed. but if i
look at the mail on the mailserver direct (mailbox) i can see the
--<EXTRA SPACE>. so it looks like imp is rewriting the message
(signature) when you open the mail (and then it checks the pgp
signature and it gets invalid), if i add the extra space char in the
/tmp/xxxxxxx/horde-pgpxxxx file it gets valid again...
i didnt find the bug in the mail viewer but i made a fix that removes
the extra space char when you are typing the message.
and my signatures gets valid again... (i guess the problem is
somewhere else) but this patch fixes the problem.
--- imp/lib/Identity/imp.php 2005-01-05 20:48:44.000000000 +0100
+++ imp/lib/Identity/imp.php 2005-01-05 20:48:54.000000000 +0100
@@ -449,7 +449,7 @@
$sig_dashes = $this->getValue('sig_dashes', $ident);
$val = str_replace("\r\n", "\n", $val);
if ($sig_dashes) {
- $val = "-- \n$val";
+ $val = "--\n$val";
}
if (isset($sig_first) && $sig_first) {
$val = "\n" . $val . "\n\n\n";
hope you understood! or else send me a email and i will try to explain
again...
Thanks for the greate work creating horde/imp system!
Cheers
Mikael Broström