ftimme
2013-01-31 20790eb168583a39a76851cf255de1019a31c87f
- Symlink removal when client is deleted: added check for empty array + logging.
2 files modified
20 ■■■■ changed files
server/plugins-available/apache2_plugin.inc.php 9 ●●●● patch | view | raw | blame | history
server/plugins-available/nginx_plugin.inc.php 11 ●●●● patch | view | raw | blame | history
server/plugins-available/apache2_plugin.inc.php
@@ -2668,8 +2668,13 @@
            if(is_dir($client_dir) && !stristr($client_dir,'..')) {
                // remove symlinks from $client_dir
                $files = array_diff(scandir($client_dir), array('.','..'));
                foreach($files as $file){
                    if(is_link($client_dir.'/'.$file)) unlink($client_dir.'/'.$file);
                if(is_array($files) && !empty($files)){
                    foreach($files as $file){
                        if(is_link($client_dir.'/'.$file)){
                            unlink($client_dir.'/'.$file);
                            $app->log('Removed symlink: '.$client_dir.'/'.$file,LOGLEVEL_DEBUG);
                        }
                    }
                }
                
                @rmdir($client_dir);
server/plugins-available/nginx_plugin.inc.php
@@ -2443,9 +2443,14 @@
            if(is_dir($client_dir) && !stristr($client_dir,'..')) {
                // remove symlinks from $client_dir
                $files = array_diff(scandir($client_dir), array('.','..'));
                foreach($files as $file){
                    if(is_link($client_dir.'/'.$file)) unlink($client_dir.'/'.$file);
                }
                if(is_array($files) && !empty($files)){
                    foreach($files as $file){
                        if(is_link($client_dir.'/'.$file)){
                            unlink($client_dir.'/'.$file);
                            $app->log('Removed symlink: '.$client_dir.'/'.$file,LOGLEVEL_DEBUG);
                        }
                    }
                }
                
                @rmdir($client_dir);
                $app->log('Removed client directory: '.$client_dir,LOGLEVEL_DEBUG);