View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000778 | Main CAcert Website | public | 2009-09-13 12:22 | 2013-01-15 14:17 | |
| Reporter | streng | Assigned To | Sourcerer | ||
| Priority | high | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Fixed in Version | 2010 Q1 | ||||
| Summary | 0000778: GPG/PGP-Key upload not possible | ||||
| Description | There is no menu item in GPG/PGP Keys for "Delete one of your keys". Its only possible to "View" or to add a key with "New". If i try the option "New" from GPG/PGP Keys menu a new page comes up where i can paste my key data generated with gpg --armor --export --export-options export-clean aae6022e > aae6022e.asc After pressing "Submit" i get an error:ing UIDs were found in your key: # Name Email Result 1 The format of the UID was not recognized. Please use 'Name (comment) <email@domain>' No valid UIDs found on your key | ||||
| Tags | No tags attached. | ||||
| Attached Files | cleangpg.patch (1,051 bytes)
diff --git a/includes/general.php b/includes/general.php
index 80b16a0..938df4e 100644
--- a/includes/general.php
+++ b/includes/general.php
@@ -826,6 +826,10 @@
$newcsr = str_replace("\n\n","\n",$newcsr);
return(preg_replace("/[^A-Za-z0-9\n\r\-\:\=\+\/ ]/","",$newcsr));
}
+ function clean_gpgcsr($CSR)
+ {
+ return(preg_replace("/[^A-Za-z0-9\n\r\-\:\=\+\/ ]/","",trim($CSR)));
+ }
function sanitizeFilename($text)
{
diff --git a/www/gpg.php b/www/gpg.php
index 38e5426..f97966f 100644
--- a/www/gpg.php
+++ b/www/gpg.php
@@ -82,7 +82,7 @@ function verifyEmail($email)
$state=0;
if($oldid == "0" && $CSR != "")
{
- $debugkey = $gpgkey = clean_csr($CSR);
+ $debugkey = $gpgkey = clean_gpgcsr($CSR);
$debugpg = $gpg = trim(`echo "$gpgkey"|gpg --with-colons --homedir /tmp 2>&1`);
$lines = "";
$gpgarr = explode("\n", $gpg);
@@ -268,7 +268,7 @@ function verifyEmail($email)
mkdir($cwd,0755);
$fp = fopen("$cwd/gpg.csr", "w");
- fputs($fp, clean_csr($CSR));
+ fputs($fp, clean_gpgcsr($CSR));
fclose($fp);
writefile.patch (874 bytes)
diff --git a/www/gpg.php b/www/gpg.php
index 894f298..3fd0cc9 100644
--- a/www/gpg.php
+++ b/www/gpg.php
@@ -83,7 +83,15 @@ function verifyEmail($email)
if($oldid == "0" && $CSR != "")
{
$debugkey = $gpgkey = clean_gpgcsr($CSR);
- $debugpg = $gpg = trim(`echo "$gpgkey"|gpg --with-colons --homedir /tmp 2>&1`);
+ #$debugpg = $gpg = trim(`echo "$gpgkey"|gpg --with-colons --homedir /tmp 2>&1`);
+
+ $tnam = tempnam('/tmp/', '__gpg');
+ $fp = fopen($tnam, 'w');
+ fwrite($fp, $gpgkey);
+ fclose($fp);
+ $debugpg = $gpg = trim(`gpg --with-colons --homedir /tmp 2>&1 < $tnam`);
+ unlink($tnam);
+
$lines = "";
$gpgarr = explode("\n", $gpg);
foreach($gpgarr as $line) | ||||
| Reviewed by | |||||
| Test Instructions | |||||
|
|
I think that the problem is the cleaning, which cleans the necessary empty line after the header. The attached patch should solve the problem. |
|
|
Exported to cacert1.it-sls.de and tested. Looks ok (except that there is no signing server, thus all signing requestst are queued). |
|
|
Additional note: does not work with the attached key of Karheinz Geyer... Looking into the issue now. |
|
|
Seems the armor block is too big or something. Write block to file and pipe into gpg works, while the echo $key | gpg seems not to work properly. Maybe issue of the test system. Parsing of smaller public keys works well, so there seems to be a relation to the size of that key block. See patch. |
|
|
On test2, which is already running Apache2, I discovered that we need the following Suhosin configuration to support such large key uploads: [suhosin] suhosin.post.max_value_length=2m suhosin.request.max_value_length=2m suhosin.cookie.max_value_length=2m (And I discovered that kate gives a timeout when copy-pasting to Firefox) |
|
|
Both patches have been applied. |
|
|
More than 3 month fixed and no complaints |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2009-09-13 12:22 | streng | New Issue | |
| 2009-09-13 12:22 | streng | File Added: aae6022e.asc | |
| 2010-03-28 21:51 | Sourcerer | File Added: cleangpg.patch | |
| 2010-03-28 21:52 | Sourcerer | Note Added: 0001567 | |
| 2010-03-28 22:05 | Sourcerer | Status | new => confirmed |
| 2010-03-29 09:36 | edgarwahn | Note Added: 0001568 | |
| 2010-03-29 10:24 | edgarwahn | Note Added: 0001570 | |
| 2010-03-29 10:42 | edgarwahn | Note Added: 0001571 | |
| 2010-03-29 10:43 | edgarwahn | File Added: writefile.patch | |
| 2010-03-29 10:44 | edgarwahn | Note Edited: 0001571 | |
| 2010-03-29 19:19 | Sourcerer | Note Added: 0001573 | |
| 2010-03-29 19:41 | Sourcerer | Note Added: 0001574 | |
| 2010-03-29 19:41 | Sourcerer | Status | confirmed => solved? |
| 2010-03-29 19:41 | Sourcerer | Resolution | open => fixed |
| 2010-03-29 19:41 | Sourcerer | Assigned To | => Sourcerer |
| 2010-05-28 10:52 | Sourcerer | View Status | private => public |
| 2011-06-21 23:57 | edgarwahn | Source_changeset_attached | => cacert-devel release eab6644f |
| 2011-06-22 00:09 | edgarwahn | Source_changeset_attached | => cacert-devel release eab6644f |
| 2012-01-25 17:17 | NEOatNHNG | Project | bugs.cacert.org => Main CAcert Website |
| 2012-12-20 07:52 | Werner Dworak | Relationship added | related to 0000089 |
| 2012-12-20 08:34 | Werner Dworak | Relationship added | related to 0001079 |
| 2012-12-21 04:51 | Werner Dworak | Note Added: 0003500 | |
| 2012-12-21 04:51 | Werner Dworak | Status | solved? => closed |
| 2013-01-15 14:17 | Werner Dworak | Fixed in Version | => 2010 Q1 |