key creation should never override a private or public key

This commit is contained in:
Florin Peter 2013-05-20 21:22:03 +02:00
parent 171b9a4702
commit 8e0540d0e4

View file

@ -212,9 +212,10 @@ class Util
} }
// Create user keypair // Create user keypair
// we should never override a keyfile
if ( if (
!$this->view->file_exists($this->publicKeyPath) !$this->view->file_exists($this->publicKeyPath)
or !$this->view->file_exists($this->privateKeyPath) && !$this->view->file_exists($this->privateKeyPath)
) { ) {
// Generate keypair // Generate keypair
@ -233,6 +234,15 @@ class Util
\OC_FileProxy::$enabled = true; \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 // If there's no record for this user's encryption preferences