diff options
author | Robin Appelman <icewind1991@gmail.com> | 2011-10-22 14:11:15 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-02-21 20:48:48 +0100 |
commit | e2b49541760dabbdfce11bcc8063d31139b6caa3 (patch) | |
tree | 69d9cde3eebbd97b5d2f0c460c6eaacd132bccd7 /apps/files_encryption/lib/proxy.php | |
parent | 82394f9527817673f3ecbf7e5fd1d4857f0f3fe1 (diff) | |
download | nextcloud-server-e2b49541760dabbdfce11bcc8063d31139b6caa3.tar.gz nextcloud-server-e2b49541760dabbdfce11bcc8063d31139b6caa3.zip |
simple file encryption wip
Diffstat (limited to 'apps/files_encryption/lib/proxy.php')
-rw-r--r-- | apps/files_encryption/lib/proxy.php | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/apps/files_encryption/lib/proxy.php b/apps/files_encryption/lib/proxy.php index f7a991a344b..053ac786c33 100644 --- a/apps/files_encryption/lib/proxy.php +++ b/apps/files_encryption/lib/proxy.php @@ -28,7 +28,6 @@ class OC_FileProxy_Encryption extends OC_FileProxy{ public function preFile_put_contents($path,&$data){ if(substr($path,-4)=='.enc'){ - OC_Log::write('files_encryption','file put contents',OC_Log::DEBUG); if (is_resource($data)) { $newData=''; while(!feof($data)){ @@ -44,27 +43,33 @@ class OC_FileProxy_Encryption extends OC_FileProxy{ public function postFile_get_contents($path,$data){ if(substr($path,-4)=='.enc'){ - OC_Log::write('files_encryption','file get contents',OC_Log::DEBUG); return OC_Crypt::blockDecrypt($data); } } public function postFopen($path,&$result){ if(substr($path,-4)=='.enc'){ - OC_Log::write('files_encryption','fopen',OC_Log::DEBUG); + $meta=stream_get_meta_data($result); fclose($result); - $result=fopen('crypt://'.substr($path,0,-4));//remove the .enc extention so we don't catch the fopen request made by cryptstream + OC_log::write('file_encryption','mode: '.$meta['mode']); + $result=fopen('crypt://'.$path,$meta['mode']); } } public function preReadFile($path){ if(substr($path,-4)=='.enc'){ - OC_Log::write('files_encryption','readline',OC_Log::DEBUG); - $stream=fopen('crypt://'.substr($path,0,-4)); + $stream=fopen('crypt://'.$path,'r'); while(!feof($stream)){ print(fread($stream,8192)); } return false;//cancel the original request } } + + public function postGetMimeType($path,$result){ + if(substr($path,-4)=='.enc'){ + return 'text/plain'; + } + return $result; + } } |