[Tickets #4177] NEW: Can't send personal pgp public key to public keyserver pgp.mit.edu

bugs@bugs.horde.org bugs at bugs.horde.org
Wed Jul 19 08:58:24 PDT 2006


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/?id=4177
-----------------------------------------------------------------------
 Ticket             | 4177
 Created By         | vanner at pop-pa.rnp.br
 Summary            | Can't send personal pgp public key to public keyserver pgp.mit.edu
 Queue              | Horde Framework Packages
 Version            | HEAD
 State              | Unconfirmed
 Priority           | 1. Low
 Type               | Bug
 Owners             | 
-----------------------------------------------------------------------


vanner at pop-pa.rnp.br (2006-07-19 08:58) wrote:

Hi!

Under IMP->Options->PGP Options,  when I click "Send Key to Public
Keyserver", I receive a message stating that my persoal public key was
sent successfully, the real message is "Key successfully sent to the
public keyserver.", but when I check in the public key server, it says
there's no corresponding public key stored.

I used tcpdump to check Horde<->Public Key Server conversation and
realized that query sent by Horde was incorrect. I corrected the code and
it started funcioning correctly.

Here follows my tampering in the code:

--- lib/Horde/Crypt/pgp.php.1.101       2006-07-19 09:35:31.000000000
-0300
+++ lib/Horde/Crypt/pgp.php     2006-07-19 12:20:08.000000000 -0300
@@ -743,7 +743,7 @@
         /* Connect to the public keyserver. _connectKeyserver() returns
a
            PEAR_Error object on error and the output text on success. */
         $pubkey = 'keytext=' . urlencode(rtrim($pubkey));
-        $cmd = 'POST /pks/add HTTP/1.0\nContent-Length: ' .
strlen($pubkey) . "\n\n" . $pubkey . "\n";
+        $cmd = "POST /pks/add HTTP/1.0\r\nHost: " . $server .
":11371\r\n" . "User-Agent: Horde\r\n" . "Content-type:
application/x-www-form-urlencoded\r\n" . "Content-length: " .
strlen($pubkey) . "\r\n" . "Connection: close\r\n\r\n" . $pubkey .
"\r\n";
         $result = $this->_connectKeyserver($cmd, $server, $timeout);
         if (is_a($result, 'PEAR_Error')) {
             return $result;

I hope I have fixed the right way.

Regards,

Vanner




More information about the bugs mailing list