From d8f2907fb00b701f91e6e98d33c4e6c0dd0619a5 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Mon, 16 Oct 2017 22:34:48 +0100 Subject: bug fixes --- src/globals.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index cb7c419..4c387fc 100755 --- a/src/globals.php +++ b/src/globals.php @@ -284,8 +284,8 @@ function mytime() { function mymtime() { return microtime(true); } -function myunique() { - return ((int)(100*microtime(true))) % 100000000; +function myunique($val=0) { + return (((int)(100*microtime(true))) % 10000000)*100 + ($val % 100); } //retorna data e hora atuais function now () { -- cgit v1.2.3 From aea57cb508ccd1f7b543922eb3222f737c73e5ad Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Sat, 21 Oct 2017 18:12:01 +0100 Subject: update of boca --- src/globals.php | 87 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 67 insertions(+), 20 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index 4c387fc..851b135 100755 --- a/src/globals.php +++ b/src/globals.php @@ -40,8 +40,69 @@ function filedownload($oid,$fname,$msg='') { if($msg != '') $str .= "&msg=" . rawurlencode($msg); return $str; } +function dirrec($dir, $func, $dirPermissions, $filePermissions, $avoid=array()) { + $ds = DIRECTORY_SEPARATOR; + if($ds=="") $ds = "/"; + $dp = opendir($dir); + while($file = readdir($dp)) { + if (($file == ".") || ($file == "..") || $file in_array($avoid)) + continue; + $fullPath = $dir . $ds . $file; + if(is_dir($fullPath)) { + $func($fullPath, $dirPermissions); + dirrec($fullPath, $func, $dirPermissions, $filePermissions); + } else { + $func($fullPath, $filePermissions); + } + } + closedir($dp); +} -function cleardir($dir,$cddir=true,$secure=false) { +function fixbocadir($dir,$full=false) { + if(is_dir($dir)) { + $ds = DIRECTORY_SEPARATOR; + if($ds=="") $ds = "/"; + $u = posix_getpwuid(fileowner($dir)); + $un = $u['name']; + $ug = $u['gid']; + if(@file_put_contents($dir . $ds . 'private' . $ds . '.htaccess', "Deny from all\n") === false) return false; + if(@touch($dir . $ds . 'private' . $ds . 'remotescores' . $ds . 'otherservers') === false) return false; + if($full) + $d = array('problemtmp','runtmp','scoretmp','remotescores','remotescoresfull','comp','logexternal','runslog'); + else + $d = array('problemtmp','runtmp','scoretmp'); + foreach($d as $a) cleardir($a,true,true,false); + dirrec($dir, chown, $un, $un); + dirrec($dir, chgrp, $ug, $ug); + dirrec($dir, chmod, "0755", "0644", array('private')); + dirrec($dir . $ds . 'private', chmod, "0750", "0640"); + return true; + } else { + return false; + } +} +function updatebocafile($dirboca, $dirz, $t) { + $ok = true; + if(is_dir($dirz)) { + $ds = DIRECTORY_SEPARATOR; + if($ds=="") $ds = "/"; + $d = @opendir($dirz); + while (($file = @readdir($d)) !== false) { + if($file != '.' && $file != '..') + if(updatebocafile($dirboca . $ds . $file, $dirz . $ds . $file, $t) === false) $ok=false; + } + @closedir($d); + @cleardir($dirz); + } else { + if(is_file($dirboca)) { + copy($dirboca, $dirboca . '.' . $t . '.old'); + chmod($dirboca . '.' . $t . '.old', "0400"); + } + if(rename($dirz, $dirboca) === false) $ok=false; + } + return $ok; +} +function cleardir($dir,$cddir=true,$secure=true,$removedir=true) { if(is_dir($dir)) { $ds = DIRECTORY_SEPARATOR; if($ds=="") $ds = "/"; @@ -51,26 +112,12 @@ function cleardir($dir,$cddir=true,$secure=false) { } $d = @opendir($dir); while (($file = @readdir($d)) !== false) { - if(!is_dir($dir . $ds . $file)) { - if($secure) - file_put_contents($dir . $ds . $file,str_repeat('XXXXXXXXXX',10000)); - @unlink($dir . $ds . $file); - } - else { - if($file != '.' && $file != '..') { - $cdir1 = $dir . $ds . $file; - $d1 = @opendir($cdir1); - while (($file1 = @readdir($d1)) !== false) - if(!is_dir($cdir1 . $ds . $file1)) { - if($secure) - file_put_contents($cdir1 . $ds . $file1,str_repeat('XXXXXXXXXX',10000)); - @unlink($cdir1 . $ds . $file1); - } - @rmdir($cdir1); - } - } + if($file != '.' && $file != '..') + cleardir($dir . $ds . $file, false, $secure, true); } - @rmdir($dir); + @closedir($d); + if($removedir) + @rmdir($dir); } else { if($secure) file_put_contents($dir,str_repeat('XXXXXXXXXX',10000)); -- cgit v1.2.3 From 9bca54deae072b4ff157b052352982ce0a700df6 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 10:14:48 +0100 Subject: bf --- src/globals.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index 851b135..eee3b72 100755 --- a/src/globals.php +++ b/src/globals.php @@ -45,7 +45,7 @@ function dirrec($dir, $func, $dirPermissions, $filePermissions, $avoid=array()) if($ds=="") $ds = "/"; $dp = opendir($dir); while($file = readdir($dp)) { - if (($file == ".") || ($file == "..") || $file in_array($avoid)) + if (($file == ".") || ($file == "..") || in_array($file,$avoid)) continue; $fullPath = $dir . $ds . $file; if(is_dir($fullPath)) { -- cgit v1.2.3 From 39af649d52ddb6da8f734841137412d2dcb5b7c8 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 10:52:02 +0100 Subject: bf and revert update --- src/globals.php | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index eee3b72..9caf474 100755 --- a/src/globals.php +++ b/src/globals.php @@ -82,23 +82,45 @@ function fixbocadir($dir,$full=false) { } } function updatebocafile($dirboca, $dirz, $t) { - $ok = true; + $ok = 0; if(is_dir($dirz)) { $ds = DIRECTORY_SEPARATOR; if($ds=="") $ds = "/"; $d = @opendir($dirz); while (($file = @readdir($d)) !== false) { if($file != '.' && $file != '..') - if(updatebocafile($dirboca . $ds . $file, $dirz . $ds . $file, $t) === false) $ok=false; + $ok = $ok + updatebocafile($dirboca . $ds . $file, $dirz . $ds . $file, $t); } @closedir($d); @cleardir($dirz); } else { if(is_file($dirboca)) { copy($dirboca, $dirboca . '.' . $t . '.old'); - chmod($dirboca . '.' . $t . '.old', "0400"); + } else { + file_put_contents($dirboca . '.' . $t . '.old', ""); + } + @chmod($dirboca . '.' . $t . '.old', "0000"); + if(rename($dirz, $dirboca) === false) $ok=1; + } + return $ok; +} +function revertupdatebocafile($dirboca, $t) { + $ok = 0; + if(is_dir($dirboca)) { + $ds = DIRECTORY_SEPARATOR; + if($ds=="") $ds = "/"; + $d = @opendir($dirboca); + while (($file = @readdir($d)) !== false) { + if($file != '.' && $file != '..') + $ok = $ok + revertupdatebocafile($dirboca . $ds . $file, $t); + } + @closedir($d); + } else { + if(is_file($dirboca) && substr($dirboca, strlen($dirboca)-strlen('.' . $t . '.old')) == '.' . $t . '.old') { + @chmod($dirboca, "0600"); + if(@copy($dirboca, substr($dirboca, 0, strlen($dirboca)-strlen('.' . $t . '.old'))) === true) $ok=1; + @chmod($dirboca, "0000"); } - if(rename($dirz, $dirboca) === false) $ok=false; } return $ok; } -- cgit v1.2.3 From 9442d67d523ca016366aa4ae0f83bd6ac33229e1 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 11:14:23 +0100 Subject: bf --- src/globals.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index 9caf474..06d1fbf 100755 --- a/src/globals.php +++ b/src/globals.php @@ -74,8 +74,8 @@ function fixbocadir($dir,$full=false) { foreach($d as $a) cleardir($a,true,true,false); dirrec($dir, chown, $un, $un); dirrec($dir, chgrp, $ug, $ug); - dirrec($dir, chmod, "0755", "0644", array('private')); - dirrec($dir . $ds . 'private', chmod, "0750", "0640"); + dirrec($dir, chmod, 0755, 0644, array('private')); + dirrec($dir . $ds . 'private', chmod, 0750, 0640); return true; } else { return false; @@ -99,7 +99,7 @@ function updatebocafile($dirboca, $dirz, $t) { } else { file_put_contents($dirboca . '.' . $t . '.old', ""); } - @chmod($dirboca . '.' . $t . '.old', "0000"); + @chmod($dirboca . '.' . $t . '.old', 0000); if(rename($dirz, $dirboca) === false) $ok=1; } return $ok; @@ -117,9 +117,9 @@ function revertupdatebocafile($dirboca, $t) { @closedir($d); } else { if(is_file($dirboca) && substr($dirboca, strlen($dirboca)-strlen('.' . $t . '.old')) == '.' . $t . '.old') { - @chmod($dirboca, "0600"); + @chmod($dirboca, 0600); if(@copy($dirboca, substr($dirboca, 0, strlen($dirboca)-strlen('.' . $t . '.old'))) === true) $ok=1; - @chmod($dirboca, "0000"); + @chmod($dirboca, 0000); } } return $ok; -- cgit v1.2.3 From 2af9e4d517347fda50a84487c1bccdd17a1762a3 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 11:20:28 +0100 Subject: bf --- src/globals.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index 06d1fbf..bc18249 100755 --- a/src/globals.php +++ b/src/globals.php @@ -65,8 +65,8 @@ function fixbocadir($dir,$full=false) { $u = posix_getpwuid(fileowner($dir)); $un = $u['name']; $ug = $u['gid']; - if(@file_put_contents($dir . $ds . 'private' . $ds . '.htaccess', "Deny from all\n") === false) return false; - if(@touch($dir . $ds . 'private' . $ds . 'remotescores' . $ds . 'otherservers') === false) return false; + @file_put_contents($dir . $ds . 'private' . $ds . '.htaccess', "Deny from all\n"); + @touch($dir . $ds . 'private' . $ds . 'remotescores' . $ds . 'otherservers'); if($full) $d = array('problemtmp','runtmp','scoretmp','remotescores','remotescoresfull','comp','logexternal','runslog'); else @@ -76,6 +76,7 @@ function fixbocadir($dir,$full=false) { dirrec($dir, chgrp, $ug, $ug); dirrec($dir, chmod, 0755, 0644, array('private')); dirrec($dir . $ds . 'private', chmod, 0750, 0640); + if(@file_put_contents($dir . $ds . 'private' . $ds . '.htaccess', "Deny from all\n") === false) return false; return true; } else { return false; -- cgit v1.2.3 From 813085e1dabfd15e455928a0893e7cfb8fbe8005 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 11:27:57 +0100 Subject: bf --- src/globals.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index bc18249..fbbdff2 100755 --- a/src/globals.php +++ b/src/globals.php @@ -101,7 +101,7 @@ function updatebocafile($dirboca, $dirz, $t) { file_put_contents($dirboca . '.' . $t . '.old', ""); } @chmod($dirboca . '.' . $t . '.old', 0000); - if(rename($dirz, $dirboca) === false) $ok=1; + if(rename($dirz, $dirboca) === true) $ok=1; } return $ok; } -- cgit v1.2.3 From c57b4712000549672066943dbe6c38326d7f1684 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 11:37:33 +0100 Subject: bf --- src/globals.php | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index fbbdff2..5f66881 100755 --- a/src/globals.php +++ b/src/globals.php @@ -45,12 +45,19 @@ function dirrec($dir, $func, $dirPermissions, $filePermissions, $avoid=array()) if($ds=="") $ds = "/"; $dp = opendir($dir); while($file = readdir($dp)) { - if (($file == ".") || ($file == "..") || in_array($file,$avoid)) + if (($file == ".") || ($file == "..")) continue; + $cont = false; + for($i = 0; $i < count($avoid); $i++) + if(substr($file, 0, strlen($avoid[$i])) = $avoid[$i]) { + $cont = true; + break; + } + if($cont) continue; $fullPath = $dir . $ds . $file; if(is_dir($fullPath)) { $func($fullPath, $dirPermissions); - dirrec($fullPath, $func, $dirPermissions, $filePermissions); + dirrec($fullPath, $func, $dirPermissions, $filePermissions, $avoid); } else { $func($fullPath, $filePermissions); } @@ -74,8 +81,8 @@ function fixbocadir($dir,$full=false) { foreach($d as $a) cleardir($a,true,true,false); dirrec($dir, chown, $un, $un); dirrec($dir, chgrp, $ug, $ug); - dirrec($dir, chmod, 0755, 0644, array('private')); - dirrec($dir . $ds . 'private', chmod, 0750, 0640); + dirrec($dir, chmod, 0755, 0644, array('private', 'old.')); + dirrec($dir . $ds . 'private', chmod, 0750, 0640, array('old.')); if(@file_put_contents($dir . $ds . 'private' . $ds . '.htaccess', "Deny from all\n") === false) return false; return true; } else { @@ -96,11 +103,11 @@ function updatebocafile($dirboca, $dirz, $t) { @cleardir($dirz); } else { if(is_file($dirboca)) { - copy($dirboca, $dirboca . '.' . $t . '.old'); + copy($dirboca, 'old.' . $t . '.' . $dirboca); } else { - file_put_contents($dirboca . '.' . $t . '.old', ""); + file_put_contents('old.' . $t . '.' . $dirboca, ""); } - @chmod($dirboca . '.' . $t . '.old', 0000); + @chmod('old.' . $t . '.' . $dirboca, 0000); if(rename($dirz, $dirboca) === true) $ok=1; } return $ok; @@ -117,9 +124,9 @@ function revertupdatebocafile($dirboca, $t) { } @closedir($d); } else { - if(is_file($dirboca) && substr($dirboca, strlen($dirboca)-strlen('.' . $t . '.old')) == '.' . $t . '.old') { + if(is_file($dirboca) && substr($dirboca, 0, strlen('old.' . $t . '.')) == 'old.' . $t . '.') { @chmod($dirboca, 0600); - if(@copy($dirboca, substr($dirboca, 0, strlen($dirboca)-strlen('.' . $t . '.old'))) === true) $ok=1; + if(@copy($dirboca, substr($dirboca, strlen('old.' . $t . '.' .))) === true) $ok=1; @chmod($dirboca, 0000); } } -- cgit v1.2.3 From bb6857ddb490f2ad02e18130e4a0f794dfd8a2a2 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 11:40:17 +0100 Subject: bf --- src/globals.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index 5f66881..7d8586d 100755 --- a/src/globals.php +++ b/src/globals.php @@ -126,7 +126,7 @@ function revertupdatebocafile($dirboca, $t) { } else { if(is_file($dirboca) && substr($dirboca, 0, strlen('old.' . $t . '.')) == 'old.' . $t . '.') { @chmod($dirboca, 0600); - if(@copy($dirboca, substr($dirboca, strlen('old.' . $t . '.' .))) === true) $ok=1; + if(@copy($dirboca, substr($dirboca, strlen('old.' . $t . '.'))) === true) $ok=1; @chmod($dirboca, 0000); } } -- cgit v1.2.3 From 40fe45eefa2ed6c20f0c647fd33d27ea4d321ff8 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 11:41:07 +0100 Subject: bf --- src/globals.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index 7d8586d..e3603a7 100755 --- a/src/globals.php +++ b/src/globals.php @@ -49,7 +49,7 @@ function dirrec($dir, $func, $dirPermissions, $filePermissions, $avoid=array()) continue; $cont = false; for($i = 0; $i < count($avoid); $i++) - if(substr($file, 0, strlen($avoid[$i])) = $avoid[$i]) { + if(substr($file, 0, strlen($avoid[$i])) == $avoid[$i]) { $cont = true; break; } -- cgit v1.2.3 From 356bcace52668ede23a87fa8318bce6ef4bb9a04 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 11:48:37 +0100 Subject: bf --- src/globals.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index e3603a7..9a223e4 100755 --- a/src/globals.php +++ b/src/globals.php @@ -81,8 +81,8 @@ function fixbocadir($dir,$full=false) { foreach($d as $a) cleardir($a,true,true,false); dirrec($dir, chown, $un, $un); dirrec($dir, chgrp, $ug, $ug); - dirrec($dir, chmod, 0755, 0644, array('private', 'old.')); - dirrec($dir . $ds . 'private', chmod, 0750, 0640, array('old.')); + dirrec($dir, chmod, 0755, 0644, array('private', '.oldboca')); + dirrec($dir . $ds . 'private', chmod, 0750, 0640, array('.oldboca')); if(@file_put_contents($dir . $ds . 'private' . $ds . '.htaccess', "Deny from all\n") === false) return false; return true; } else { @@ -103,11 +103,11 @@ function updatebocafile($dirboca, $dirz, $t) { @cleardir($dirz); } else { if(is_file($dirboca)) { - copy($dirboca, 'old.' . $t . '.' . $dirboca); + copy($dirboca, $dirboca . '.' . $t . '.oldboca'); } else { - file_put_contents('old.' . $t . '.' . $dirboca, ""); + file_put_contents($dirboca . '.' . $t . '.oldboca', ""); } - @chmod('old.' . $t . '.' . $dirboca, 0000); + @chmod($dirboca . '.' . $t . '.oldboca', 0000); if(rename($dirz, $dirboca) === true) $ok=1; } return $ok; @@ -124,9 +124,9 @@ function revertupdatebocafile($dirboca, $t) { } @closedir($d); } else { - if(is_file($dirboca) && substr($dirboca, 0, strlen('old.' . $t . '.')) == 'old.' . $t . '.') { + if(is_file($dirboca) && substr($dirboca, strlen($dirboca) - strlen('.' . $t . '.oldboca')) == '.' . $t . '.oldboca') { @chmod($dirboca, 0600); - if(@copy($dirboca, substr($dirboca, strlen('old.' . $t . '.'))) === true) $ok=1; + if(@copy($dirboca, substr($dirboca, 0, strlen($dirboca) - strlen('.' . $t . '.oldboca'))) === true) $ok=1; @chmod($dirboca, 0000); } } -- cgit v1.2.3 From fa2d31099c5c5cb13bf88aefa7b9a0110f6b503c Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 11:55:31 +0100 Subject: bf --- src/globals.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index 9a223e4..0af5662 100755 --- a/src/globals.php +++ b/src/globals.php @@ -49,7 +49,7 @@ function dirrec($dir, $func, $dirPermissions, $filePermissions, $avoid=array()) continue; $cont = false; for($i = 0; $i < count($avoid); $i++) - if(substr($file, 0, strlen($avoid[$i])) == $avoid[$i]) { + if(substr($file, strlen($file)-strlen($avoid[$i])) == $avoid[$i]) { $cont = true; break; } -- cgit v1.2.3 From 618cb71ee7d196afe6fbf5ba82308e8afea24a20 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 15:10:55 +0100 Subject: bug fixes --- src/globals.php | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index 0af5662..952533e 100755 --- a/src/globals.php +++ b/src/globals.php @@ -40,29 +40,31 @@ function filedownload($oid,$fname,$msg='') { if($msg != '') $str .= "&msg=" . rawurlencode($msg); return $str; } -function dirrec($dir, $func, $dirPermissions, $filePermissions, $avoid=array()) { +function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=array()) { $ds = DIRECTORY_SEPARATOR; if($ds=="") $ds = "/"; - $dp = opendir($dir); - while($file = readdir($dp)) { - if (($file == ".") || ($file == "..")) - continue; - $cont = false; - for($i = 0; $i < count($avoid); $i++) - if(substr($file, strlen($file)-strlen($avoid[$i])) == $avoid[$i]) { - $cont = true; - break; - } - if($cont) continue; - $fullPath = $dir . $ds . $file; - if(is_dir($fullPath)) { - $func($fullPath, $dirPermissions); - dirrec($fullPath, $func, $dirPermissions, $filePermissions, $avoid); - } else { - $func($fullPath, $filePermissions); + chown($dir, $user); + chgrp($dir, $group); + if(is_dir($dir)) { + chmod($dir, $dirPermissions); + if(($dp = opendir($dir)) === false) return; + while($file = readdir($dp)) { + if (($file == ".") || ($file == "..")) + continue; + $cont = false; + for($i = 0; $i < count($avoid); $i++) + if(substr($file, strlen($file)-strlen($avoid[$i])) == $avoid[$i]) { + $cont = true; + break; + } + if($cont) continue; + $fullPath = $dir . $ds . $file; + dirrec($fullPath, $user, $group, $dirPermissions, $filePermissions, $avoid); } + closedir($dp); + } else { + chmod($dir, $filePermissions); } - closedir($dp); } function fixbocadir($dir,$full=false) { @@ -79,10 +81,8 @@ function fixbocadir($dir,$full=false) { else $d = array('problemtmp','runtmp','scoretmp'); foreach($d as $a) cleardir($a,true,true,false); - dirrec($dir, chown, $un, $un); - dirrec($dir, chgrp, $ug, $ug); - dirrec($dir, chmod, 0755, 0644, array('private', '.oldboca')); - dirrec($dir . $ds . 'private', chmod, 0750, 0640, array('.oldboca')); + dirrec($dir, $un, $ug, 0755, 0644, array('private', '.oldboca')); + dirrec($dir . $ds . 'private', $un, $ug, 0750, 0640, array('.oldboca')); if(@file_put_contents($dir . $ds . 'private' . $ds . '.htaccess', "Deny from all\n") === false) return false; return true; } else { -- cgit v1.2.3 From c49b9ac202bf823f4ff332cc0fa8e55601e8b93c Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 15:14:50 +0100 Subject: verb --- src/globals.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index 952533e..d49a3c7 100755 --- a/src/globals.php +++ b/src/globals.php @@ -43,10 +43,10 @@ function filedownload($oid,$fname,$msg='') { function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=array()) { $ds = DIRECTORY_SEPARATOR; if($ds=="") $ds = "/"; - chown($dir, $user); - chgrp($dir, $group); + if(chown($dir, $user) === false) echo "cannot chown $dir\n"; + if(chgrp($dir, $group) === false) echo "cannot chgrp $dir\n"; if(is_dir($dir)) { - chmod($dir, $dirPermissions); + if(chmod($dir, $dirPermissions) === false) echo "cannot chmod $dir\n"; if(($dp = opendir($dir)) === false) return; while($file = readdir($dp)) { if (($file == ".") || ($file == "..")) @@ -63,7 +63,7 @@ function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=a } closedir($dp); } else { - chmod($dir, $filePermissions); + if(chmod($dir, $filePermissions)=== false) echo "cannot chmod $dir\n"; } } -- cgit v1.2.3 From 6d1514ca2435ccd650baf73ed9900b9aaf88f43b Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 15:22:12 +0100 Subject: ren --- src/globals.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index d49a3c7..6c51f41 100755 --- a/src/globals.php +++ b/src/globals.php @@ -43,8 +43,11 @@ function filedownload($oid,$fname,$msg='') { function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=array()) { $ds = DIRECTORY_SEPARATOR; if($ds=="") $ds = "/"; - if(chown($dir, $user) === false) echo "cannot chown $dir\n"; - if(chgrp($dir, $group) === false) echo "cannot chgrp $dir\n"; + $t = myunique(); + rename($dir, $dir . '.tmp' . $t); + rename($dir . '.tmp' . $t, $dir); + //if(chown($dir, $user) === false) echo "cannot chown $dir\n"; + //if(chgrp($dir, $group) === false) echo "cannot chgrp $dir\n"; if(is_dir($dir)) { if(chmod($dir, $dirPermissions) === false) echo "cannot chmod $dir\n"; if(($dp = opendir($dir)) === false) return; -- cgit v1.2.3 From 21a525f1261bff14f65305c1b5e595a707d9f8c1 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 15:25:41 +0100 Subject: chown issues --- src/globals.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index 6c51f41..e23e5ab 100755 --- a/src/globals.php +++ b/src/globals.php @@ -43,12 +43,9 @@ function filedownload($oid,$fname,$msg='') { function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=array()) { $ds = DIRECTORY_SEPARATOR; if($ds=="") $ds = "/"; - $t = myunique(); - rename($dir, $dir . '.tmp' . $t); - rename($dir . '.tmp' . $t, $dir); - //if(chown($dir, $user) === false) echo "cannot chown $dir\n"; - //if(chgrp($dir, $group) === false) echo "cannot chgrp $dir\n"; if(is_dir($dir)) { + if(chown($dir, $user) === false) echo "cannot chown $dir\n"; + if(chgrp($dir, $group) === false) echo "cannot chgrp $dir\n"; if(chmod($dir, $dirPermissions) === false) echo "cannot chmod $dir\n"; if(($dp = opendir($dir)) === false) return; while($file = readdir($dp)) { @@ -66,6 +63,9 @@ function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=a } closedir($dp); } else { + $t = myunique(); + copy($dir, $dir . '.tmp' . $t); + rename($dir . '.tmp' . $t, $dir); if(chmod($dir, $filePermissions)=== false) echo "cannot chmod $dir\n"; } } -- cgit v1.2.3 From 227fd174b2b9f85f665c226b7e436c0a30c60c31 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 15:30:21 +0100 Subject: chown issues --- src/globals.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index e23e5ab..b958328 100755 --- a/src/globals.php +++ b/src/globals.php @@ -44,8 +44,11 @@ function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=a $ds = DIRECTORY_SEPARATOR; if($ds=="") $ds = "/"; if(is_dir($dir)) { - if(chown($dir, $user) === false) echo "cannot chown $dir\n"; - if(chgrp($dir, $group) === false) echo "cannot chgrp $dir\n"; + $u = posix_getpwuid(fileowner($dir)); + $un = $u['name']; + $ug = $u['gid']; + if($un != $user) echo "user of $dir must be fixed!!\n"; + if($ug != $group) echo "group of $dir must be fixed!!\n"; if(chmod($dir, $dirPermissions) === false) echo "cannot chmod $dir\n"; if(($dp = opendir($dir)) === false) return; while($file = readdir($dp)) { @@ -63,10 +66,12 @@ function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=a } closedir($dp); } else { - $t = myunique(); - copy($dir, $dir . '.tmp' . $t); - rename($dir . '.tmp' . $t, $dir); - if(chmod($dir, $filePermissions)=== false) echo "cannot chmod $dir\n"; + if(!is_link($dir)) { + $t = myunique(); + copy($dir, $dir . '.tmp' . $t); + rename($dir . '.tmp' . $t, $dir); + if(chmod($dir, $filePermissions)=== false) echo "cannot chmod $dir\n"; + } } } -- cgit v1.2.3 From a98c69de0d7a357ea73c07ca14acacc53ec0a1d6 Mon Sep 17 00:00:00 2001 From: Cassio de Campos Date: Tue, 24 Oct 2017 15:39:37 +0100 Subject: verbose --- src/globals.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/globals.php') diff --git a/src/globals.php b/src/globals.php index b958328..b4f754e 100755 --- a/src/globals.php +++ b/src/globals.php @@ -49,8 +49,8 @@ function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=a $ug = $u['gid']; if($un != $user) echo "user of $dir must be fixed!!\n"; if($ug != $group) echo "group of $dir must be fixed!!\n"; - if(chmod($dir, $dirPermissions) === false) echo "cannot chmod $dir\n"; - if(($dp = opendir($dir)) === false) return; + if(@chmod($dir, $dirPermissions) === false) echo "cannot chmod $dir\n"; + if(($dp = @opendir($dir)) === false) return; while($file = readdir($dp)) { if (($file == ".") || ($file == "..")) continue; @@ -68,9 +68,9 @@ function dirrec($dir, $user, $group, $dirPermissions, $filePermissions, $avoid=a } else { if(!is_link($dir)) { $t = myunique(); - copy($dir, $dir . '.tmp' . $t); - rename($dir . '.tmp' . $t, $dir); - if(chmod($dir, $filePermissions)=== false) echo "cannot chmod $dir\n"; + @copy($dir, $dir . '.tmp' . $t); + @rename($dir . '.tmp' . $t, $dir); + if(@chmod($dir, $filePermissions)=== false) echo "cannot chmod $dir\n"; } } } -- cgit v1.2.3