!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/local/webmail2/include/timezones/   drwxr-xr-x
Free 318.36 GB of 458.09 GB (69.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     check.php (5.75 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * SquirrelMail time zone library - time zone validation script.
 *
 * @copyright &copy; 2005-2006 The SquirrelMail Project Team
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @version $Id: check.php,v 1.4 2006/01/23 18:41:25 tokul Exp $
 * @package squirrelmail
 * @subpackage timezones
 */

/** @ignore */
define('SM_PATH','../../');

/** Send http header */
header('Content-Type: text/plain');

/** Information about script */
echo "--------------------------------------------\n"
    
." SquirrelMail time zone library test script\n"
    
."--------------------------------------------\n";

/** load SM config */
unset($time_zone_type);
if (
file_exists(SM_PATH.'config/config.php')) {
    include(
SM_PATH.'config/config.php');
} else {
    echo 
"SquirrelMail configuration file is missing.\n";
    exit();
}

/**
 * Script does not test, if standard time zone libraries are missing.
 * If they are missing or corrupted - php can fail, scream and show 
 * finger or other parts of interpreter.
 */

/** load original reference */
include(SM_PATH.'include/timezones/standard_orig.php');

/** move timezones to different array */
$aTimeZonesOrig $aTimeZones;
unset(
$aTimeZones);

if (! isset(
$time_zone_type) || $time_zone_type == || $time_zone_type == 1) {
    
/** load new time zone library */
    
include(SM_PATH.'include/timezones/standard.php');
} elseif (
$time_zone_type == || $time_zone_type == 3) {
    
/** load custom time zone library */
    
$aTimeZones=array();
    if (
file_exists(SM_PATH 'config/timezones.php')) {
        include(
SM_PATH.'config/timezones.php');
    } else {
        echo 
"ERROR: config/timezones.php is missing.\n";
        exit();
    }
} else {
    echo 
"ERROR: invalid value in time_zone_type configuration.\n";
    exit();
}

if (! isset(
$aTimeZones) || ! is_array($aTimeZones) || empty($aTimeZones)) {
    echo 
"ERROR: timezones array is missing or empty.\n";
    exit();
}

$error false;

/** test backward compatibility */
echo "Testing backward compatibility:\n"
    
."  Failed time zones:\n";
foreach (
$aTimeZonesOrig as $TzKey => $TzData) {
    if (! isset(
$aTimeZones[$TzKey])) {
        echo 
'    '.$TzKey."\n";
        
$error true;
    }
}
if (! 
$error) {
    echo 
"    none. Looking good.\n";
} else {
    
// error is not fatal, but test should fail only with limited custom time zone sets
}

echo 
"\n";

/** test forward compatibility */
$error false;
echo 
"Testing forward compatibility:\n"
    
."  New time zones:\n";
foreach (
$aTimeZones as $TzKey => $TzData) {
    if (! isset(
$aTimeZonesOrig[$TzKey])) {
        echo 
'    '.$TzKey."\n";
        
$error true;
    }
}
if (! 
$error) {
    echo 
"    no new time zones.\n";
} else {
    
// error is not fatal. test should show new time zones, that are not 
    // present in timezones.cfg
}

echo 
"\n";

/** test links */
$error false;
echo 
"Testing time zone links:\n"
    
."  Failed time zone links:\n";
foreach (
$aTimeZones as $TzKey => $TzData) {
    if (isset(
$TzData['LINK']) && ! isset($aTimeZones[$TzData['LINK']]['TZ'])) {
        echo 
'    '.$TzKey.' = '.$TzData['LINK']."\n";
        
$error true;
    }
}
if (! 
$error) {
    echo 
"    none. Looking good.\n";
} else {
    
// error is fatal. 'LINK' should always reffer to existing 'TZ' entries
}

echo 
"\n";

/** Test TZ subkeys */
$error false;
echo 
"Testing time zone TZ subkeys:\n"
    
."  Failed time zone TZ subkeys:\n";
foreach (
$aTimeZones as $TzKey => $TzData) {
    if (! isset(
$TzData['LINK']) && ! isset($TzData['TZ'])) {
        echo 
'    '.$TzKey."\n";
        
$error true;
    }
}
if (! 
$error) {
    echo 
"    none. Looking good.\n";
} else {
    
// LINK or TZ are required for strict time zones. Interface won't break, but
    // any error means inconsistency in time zone array.
}

echo 
"\n";

/** Test NAME subkeys */
$error false;
echo 
"Testing time zone NAME subkeys:\n"
    
."  Time zones without NAME subkeys:\n";
foreach (
$aTimeZones as $TzKey => $TzData) {
    if (isset(
$TzData['TZ']) && ! isset($TzData['NAME'])) {
        echo 
'    '.$TzKey."\n";
        
$error true;
    }
}
if (! 
$error) {
    echo 
"    none.\n";
} else {
    
// error is not fatal. It would be nice if all geographic locations
    // use some human readable name
}

echo 
"\n";

/** Test NAME subkeys */
$error false;
echo 
"  Time zones with empty NAME subkeys:\n";
foreach (
$aTimeZones as $TzKey => $TzData) {
    if (isset(
$TzData['NAME']) && empty($TzData['NAME'])) {
        echo 
'    '.$TzKey."\n";
        
$error true;
    }
}
if (! 
$error) {
    echo 
"    none. Looking good\n";
} else {
    
// error is fatal. NAME should not be empty string.
}

echo 
"\n";

/** Test TZ subkeys with UCT/UTC/GMT offsets */
$error false;
echo 
"Testing TZ subkeys with UCT/UTC/GMT offsets:\n"
    
."  Time zones UCT/UTC/GMT offsets:\n";
foreach (
$aTimeZones as $TzKey => $TzData) {
    if (isset(
$TzData['TZ']) && preg_match("/^(UCT)|(UTC)|(GMT).+/i",$TzData['TZ'])) {
        echo 
'    '.$TzKey.' = '.$TzData['TZ']."\n";
        
$error true;
    }
}
if (! 
$error) {
    echo 
"    none.\n";
} else {
    
// I think error is fatal for UCT with offsets. date('T',time()) is corrupted.
}

echo 
"\n";

/** Test TZ subkeys with custom TZ values and no offsets */
$error false;
echo 
"Testing TZ subkeys with custom TZ values and no offsets:\n"
    
."  Time zones with custom TZ values and no offsets:\n";
foreach (
$aTimeZones as $TzKey => $TzData) {
    if (isset(
$TzData['TZ']) && 
        ! 
preg_match("/^((UCT)|(UTC)|(GMT).+)|(GMT)$/i",$TzData['TZ']) &&
        
preg_match("/^[a-z]+$/i",$TzData['TZ'])) {
        echo 
'    '.$TzKey.' = '.$TzData['TZ']."\n";
        
$error true;
    }
}
if (! 
$error) {
    echo 
"    none.\n";
} else {
    
// I think error is fatal. Time zone formating requires time zone name and offset from GMT.
}

echo 
"\n";

echo 
"Done!\n";
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0252 ]--