Skip to content

Commit dc679e3

Browse files
author
Marius Cramer
committed
- added fuser calls to unmount directoriies more securely
1 parent 5b3c291 commit dc679e3

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

server/plugins-available/apache2_plugin.inc.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,7 @@ function update($event_name, $data) {
594594
}
595595

596596
//* Unmount the old log directory bfore we move the log dir
597+
exec('fuser -km '.escapeshellcmd($old_dir.'/log'));
597598
exec('umount '.escapeshellcmd($old_dir.'/log'));
598599

599600
//* Create new base directory, if it does not exist yet
@@ -676,6 +677,7 @@ function update($event_name, $data) {
676677
$app->system->removeLine('/etc/fstab', $fstab_line);
677678

678679
//* Unmount log directory
680+
exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder));
679681
exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder));
680682
}
681683

@@ -1900,10 +1902,12 @@ function delete($event_name, $data) {
19001902
if(is_array($log_folders) && !empty($log_folders)){
19011903
foreach($log_folders as $log_folder){
19021904
//if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
1905+
exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
19031906
exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
19041907
}
19051908
} else {
19061909
//if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
1910+
exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
19071911
exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
19081912
}
19091913
}

server/plugins-available/nginx_plugin.inc.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,7 @@ function update($event_name, $data) {
475475
}
476476

477477
//* Unmount the old log directory bfore we move the log dir
478+
exec('fuser -km '.escapeshellcmd($old_dir.'/log'));
478479
exec('umount '.escapeshellcmd($old_dir.'/log'));
479480

480481
//* Create new base directory, if it does not exist yet
@@ -557,6 +558,7 @@ function update($event_name, $data) {
557558
$app->system->removeLine('/etc/fstab', $fstab_line);
558559

559560
//* Unmount log directory
561+
exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder));
560562
exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder));
561563
}
562564

@@ -1880,10 +1882,12 @@ function delete($event_name, $data) {
18801882
if(is_array($log_folders) && !empty($log_folders)){
18811883
foreach($log_folders as $log_folder){
18821884
//if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
1885+
exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
18831886
exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
18841887
}
18851888
} else {
18861889
//if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
1890+
exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
18871891
exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null');
18881892
}
18891893
}

0 commit comments

Comments
 (0)