[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