[Tickets #1098] NEW: PGP BAD Signature from....
bugs at bugs.horde.org
bugs at bugs.horde.org
Thu Jan 6 17:24:17 PST 2005
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/?id=1098
-----------------------------------------------------------------------
Ticket | 1098
Created By | mikael.brostrom at m-sys.se
Summary | PGP BAD Signature from....
Queue | IMP
Version | 4.0
State | Unconfirmed
Priority | 2. Medium
Type | Bug
Owners |
-----------------------------------------------------------------------
mikael.brostrom at m-sys.se (2005-01-06 17:24) wrote:
hello there!
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
More information about the bugs
mailing list