diff options
Diffstat (limited to 'www/gpg.php')
-rw-r--r-- | www/gpg.php | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/www/gpg.php b/www/gpg.php index c3ba98d..813ee31 100644 --- a/www/gpg.php +++ b/www/gpg.php @@ -17,6 +17,7 @@ */ ?> <? require_once("../includes/loggedin.php"); + require_once("../includes/lib/general.php"); $id = 0; if(array_key_exists('id',$_REQUEST)) $id=intval($_REQUEST['id']); $oldid = $_REQUEST['oldid'] = array_key_exists('oldid',$_REQUEST) ? intval($_REQUEST['oldid']) : 0; @@ -82,17 +83,21 @@ function verifyEmail($email) $state=0; if($oldid == "0" && $CSR != "") { - $gpgkey = clean_gpgcsr($CSR); + if (runCommand('gpg --with-colons --homedir /tmp 2>&1', + clean_gpgcsr($CSR), + $gpg)) + { + showheader(_("Welcome to CAcert.org")); - $tnam = tempnam('/tmp/', '__gpg'); - $fp = fopen($tnam, 'w'); - fwrite($fp, $gpgkey); - fclose($fp); - $gpg = trim(`gpg --with-colons --homedir /tmp 2>&1 < $tnam`); - unlink($tnam); + echo "<p style='color:#ff0000'>"._("There was an error parsing your key.")."</p>"; + unset($_REQUEST['process']); + $id = $oldid; + unset($oldid); + exit(); + } $lines = ""; - $gpgarr = explode("\n", $gpg); + $gpgarr = explode("\n", trim($gpg)); foreach($gpgarr as $line) { #echo "Line[]: $line <br/>\n"; |