Code

Applied patch from bcooksley to handle key uploads
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 12 Oct 2010 07:15:17 +0000 (07:15 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 12 Oct 2010 07:15:17 +0000 (07:15 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@19985 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-plugins/ssh/personal/ssh/class_sshPublicKey.inc

index e478d329ba771dee39127431fa15bcc8da445703..610e4d4a5a2ac4ac1c2e6c0e24dc02f6ee9a6b9b 100644 (file)
@@ -122,7 +122,13 @@ class sshPublicKey extends plugin
         msg_dialog::display(_("Upload error"), _("Error uploading the key!")." (".$_FILES['key']['error'].")", ERROR_DIALOG);
       } else {
 
-        $lines= file($_FILES['key']['tmp_name']);
+        // On some systems we can not operate on this tmp file. We need to 
+        // explicitely copy it first
+        $tempfile= tempnam(sys_get_temp_dir(), 'GOsa'); 
+        move_uploaded_file($_FILES['key']['tmp_name'], $tempfile); 
+        $lines= file($tempfile); 
+        unlink($tempfile); 
+
         foreach ($lines as $line) {
           if (preg_match('/^(ssh-(dss|rsa))\s+([a-zA-Z0-9+\/.=]+)\s+([[:print:]]+)$/', $line, $match)) {
             $fingerprint= $this->fingerprint(base64_decode($match[3]));