From e0dc711c2b2dc4e2ec397d7f53910f11e1ca4ade Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Mon, 02 Sep 2013 04:14:56 -0400
Subject: [PATCH] - Changed previous commit to check for read permissions only on download action
---
install/lib/install.lib.php | 48 ++++++++++++++++++++++++++++++------------------
1 files changed, 30 insertions(+), 18 deletions(-)
diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index 8d2ae48..9c61759 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -160,7 +160,7 @@
$distid = 'debian60';
$distbaseid = 'debian';
swriteln("Operating System: Debian 6.0 (Squeeze/Sid) or compatible\n");
- } elseif(strstr(trim(file_get_contents('/etc/debian_version')),'6.0') || trim(file_get_contents('/etc/debian_version')) == 'wheezy/sid') {
+ } elseif(strstr(trim(file_get_contents('/etc/debian_version')),'7.0') || strstr(trim(file_get_contents('/etc/debian_version')),'7.1') || trim(file_get_contents('/etc/debian_version')) == 'wheezy/sid') {
$distname = 'Debian';
$distver = 'Wheezy/Sid';
$distid = 'debian60';
@@ -343,6 +343,12 @@
return $ret_val;
}
return false;
+}
+
+function rfsel($file, $file2) {
+ clearstatcache();
+ if(is_file($file)) return rf($file);
+ else return rf($file2);
}
function rf($file){
@@ -757,10 +763,11 @@
function find_hash_file($hash, $dir, $basedir = '') {
$res = opendir($dir);
if(!$res) return false;
-
+
+ if(substr($basedir, -1) === '/') $basedir = substr($basedir, 0, strlen($basedir) - 1);
if(substr($dir, -1) === '/') $dir = substr($dir, 0, strlen($dir) - 1);
if($basedir === '') $basedir = $dir;
-
+
while($cur = readdir($res)) {
if($cur == '.' || $cur == '..') continue;
$entry = $dir.'/'.$cur;
@@ -768,7 +775,7 @@
$result = find_hash_file($hash, $entry, $basedir);
if($result !== false) return $result;
} elseif(md5_file($entry) === $hash) {
- $entry = substr($entry, strlen($basedir));
+ $entry = substr($entry, strlen($basedir) + 1);
if(substr($entry, 0, 7) === '/posix/') $entry = substr($entry, 7);
return $entry;
}
@@ -782,23 +789,28 @@
(c) 2012 Marius Cramer, pixcept KG, m.cramer@pixcept.de
*/
function get_system_timezone() {
- if(is_link('/etc/localtime')) {
- $timezone = readlink('/etc/localtime');
- $timezone = str_replace('/usr/share/zoneinfo/', '', $timezone);
- if(substr($timezone, 0, 6) === 'posix/') $timezone = substr($timezone, 6);
- } else {
- $hash = md5_file('/etc/localtime');
- $timezone = find_hash_file($hash, '/usr/share/zoneinfo');
- }
+ $timezone = false;
+ if(file_exists('/etc/timezone') && is_readable('/etc/timezone')) {
+ $timezone = trim(file_get_contents('/etc/timezone'));
+ if(file_exists('/usr/share/zoneinfo/' . $timezone) == false) $timezone = false;
+ }
+
+ if(!$timezone && is_link('/etc/localtime')) {
+ $timezone = readlink('/etc/localtime');
+ $timezone = str_replace('/usr/share/zoneinfo/', '', $timezone);
+ if(substr($timezone, 0, 6) === 'posix/') $timezone = substr($timezone, 6);
+ } elseif(!$timezone) {
+ $hash = md5_file('/etc/localtime');
+ $timezone = find_hash_file($hash, '/usr/share/zoneinfo');
+ }
- if(!$timezone) {
- exec('date +%Z', $tzinfo);
- $timezone = $tzinfo[0];
- }
+ if(!$timezone) {
+ exec('date +%Z', $tzinfo);
+ $timezone = $tzinfo[0];
+ }
- return $timezone;
+ return $timezone;
}
-
?>
--
Gitblit v1.9.1