aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_encryption/lib/proxy.php
diff options
context:
space:
mode:
authorRobin Appelman <icewind1991@gmail.com>2011-10-22 14:11:15 +0200
committerRobin Appelman <icewind@owncloud.com>2012-02-21 20:48:48 +0100
commite2b49541760dabbdfce11bcc8063d31139b6caa3 (patch)
tree69d9cde3eebbd97b5d2f0c460c6eaacd132bccd7 /apps/files_encryption/lib/proxy.php
parent82394f9527817673f3ecbf7e5fd1d4857f0f3fe1 (diff)
downloadnextcloud-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.php17
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;
+ }
}