From 8e0540d0e45db9470ff0d17869bab6df41bd389a Mon Sep 17 00:00:00 2001 From: Florin Peter Date: Mon, 20 May 2013 21:22:03 +0200 Subject: [PATCH] key creation should never override a private or public key --- apps/files_encryption/lib/util.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/files_encryption/lib/util.php b/apps/files_encryption/lib/util.php index 9ba7b3b3a31..8147982d483 100644 --- a/apps/files_encryption/lib/util.php +++ b/apps/files_encryption/lib/util.php @@ -212,9 +212,10 @@ class Util } // Create user keypair + // we should never override a keyfile if ( !$this->view->file_exists($this->publicKeyPath) - or !$this->view->file_exists($this->privateKeyPath) + && !$this->view->file_exists($this->privateKeyPath) ) { // Generate keypair @@ -233,6 +234,15 @@ class Util \OC_FileProxy::$enabled = true; + } else { + // check if public-key exists but private-key is missing + if($this->view->file_exists($this->publicKeyPath) && !$this->view->file_exists($this->privateKeyPath)) { + \OC_Log::write('Encryption library', 'public key exists but private key is missing for "' . $this->userId . '"', \OC_Log::FATAL); + return false; + } else if(!$this->view->file_exists($this->publicKeyPath) && $this->view->file_exists($this->privateKeyPath)) { + \OC_Log::write('Encryption library', 'private key exists but public key is missing for "' . $this->userId . '"', \OC_Log::FATAL); + return false; + } } // If there's no record for this user's encryption preferences -- 2.39.5