Marius Cramer
2015-06-26 dc679e382b6f60405861ae888c1b560c5117f0e8
- added fuser calls to unmount directoriies more securely
2 files modified
8 ■■■■■ changed files
server/plugins-available/apache2_plugin.inc.php 4 ●●●● patch | view | raw | blame | history
server/plugins-available/nginx_plugin.inc.php 4 ●●●● patch | view | raw | blame | history
server/plugins-available/apache2_plugin.inc.php
@@ -594,6 +594,7 @@
                }
                
                //* Unmount the old log directory bfore we move the log dir
                exec('fuser -km '.escapeshellcmd($old_dir.'/log'));
                exec('umount '.escapeshellcmd($old_dir.'/log'));
                //* Create new base directory, if it does not exist yet
@@ -676,6 +677,7 @@
            $app->system->removeLine('/etc/fstab', $fstab_line);
            //* Unmount log directory
            exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder));
            exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder));
        }
@@ -1900,10 +1902,12 @@
            if(is_array($log_folders) && !empty($log_folders)){
                foreach($log_folders as $log_folder){
                    //if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
                    exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
                    exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
                }
            } else {
                //if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
                exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
                exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
            }
        }
server/plugins-available/nginx_plugin.inc.php
@@ -475,6 +475,7 @@
                }
                
                //* Unmount the old log directory bfore we move the log dir
                exec('fuser -km '.escapeshellcmd($old_dir.'/log'));
                exec('umount '.escapeshellcmd($old_dir.'/log'));
                //* Create new base directory, if it does not exist yet
@@ -557,6 +558,7 @@
            $app->system->removeLine('/etc/fstab', $fstab_line);
            //* Unmount log directory
            exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder));
            exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder));
        }
@@ -1880,10 +1882,12 @@
            if(is_array($log_folders) && !empty($log_folders)){
                foreach($log_folders as $log_folder){
                    //if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
                    exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
                    exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
                }
            } else {
                //if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
                exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
                exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
            }
        }