bug 1200: Use runCommand() to execute gpg to avoid using an unneeded tempfile
authorMichael Tänzer <neo@nhng.de>
Tue, 6 Aug 2013 23:45:09 +0000 (01:45 +0200)
committerMichael Tänzer <neo@nhng.de>
Tue, 6 Aug 2013 23:45:09 +0000 (01:45 +0200)
Signed-off-by: Michael Tänzer <neo@nhng.de>
www/gpg.php

index c3ba98d..813ee31 100644 (file)
@@ -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";