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

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\dmz\php\pear\   drwxrwxrwx
Free 4.11 GB of 39.52 GB (10.4%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     DBA.php (9.94 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | Copyright (c) 2002-2003 Brent Cook                                        |
// +----------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or        |
// | modify it under the terms of the GNU Lesser General Public           |
// | License as published by the Free Software Foundation; either         |
// | version 2.1 of the License, or (at your option) any later version.   |
// |                                                                      |
// | This library is distributed in the hope that it will be useful,      |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of       |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    |
// | Lesser General Public License for more details.                      |
// |                                                                      |
// | You should have received a copy of the GNU Lesser General Public     |
// | License along with this library; if not, write to the Free Software  |
// | Foundation, Inc., 59 Temple Place, Suite 330,Boston,MA 02111-1307 USA|
// +----------------------------------------------------------------------+
// | Authors: Brent Cook <busterb@mail.utexas.edu>                        |
// |          Olaf Conradi <conrado@drake.bt.co.uk>                       |
// +----------------------------------------------------------------------+
//
// $Id: DBA.php,v 1.36 2004/05/04 04:42:31 busterb Exp $
//

require_once('PEAR.php');

/**
 * If you add an error code here, make sure you also add a textual
 * version of it in DBA::errorMessage().
 */
                                                // userinfo contains:
define('DBA_ERROR',                    -1);
define('DBA_ERROR_UNSUP_DRIVER',       -2);     // drivername
define('DBA_ERROR_UNSUP_PERSISTENCE',  -3);
define('DBA_ERROR_NO_DRIVER',          -4);     // drivername
define('DBA_ERROR_NO_DBNAME',          -5);
define('DBA_ERROR_NOSUCHDB',           -6);     // dbname
define('DBA_ERROR_INVALID_MODE',       -7);     // filemode
define('DBA_ERROR_CANNOT_CREATE',      -8);     // dbname
define('DBA_ERROR_CANNOT_OPEN',        -9);
define('DBA_ERROR_CANNOT_DROP',       -10);
define('DBA_ERROR_NOT_READABLE',      -11);
define('DBA_ERROR_NOT_WRITEABLE',     -12);
define('DBA_ERROR_NOT_OPEN',          -13);
define('DBA_ERROR_NOT_FOUND',         -14);
define('DBA_ERROR_ALREADY_EXISTS',    -15);     // key

/**
 * DBA is a set of classes for handling and extending Berkeley DB style
 * databases. It works around some of the quirks in the built-in dba
 * functions in PHP (e.g. gdbm does not support dba_replace), has a file-based
 * dbm engine for installations where dba support is not included in PHP.
 *
 * @author  Brent Cook <busterb@mail.utexas.edu>
 * @version 1.0
 * @access  public
 * @package DBA
 */
class DBA extends PEAR
{
    
/**
     * Default constructor
     */
    
function DBA()
    {
        
// call the base constructor
        
$this->PEAR();
    }

    
/**
     * Creates a new DBA object
     *
     * @static
     * @param   string $driver type of storage object to return
     * @return  object DBA storage object, returned by reference
     */
    
function &create($driver 'file')
    {
        if (!
function_exists('dba_open') || ($driver=='file')) {
            require_once 
'DBA/Driver/File.php';
            return new 
DBA_Driver_File();
        } elseif (
in_array($driverDBA::getDriverList())) {
            require_once 
'DBA/Driver/Builtin.php';
            return new 
DBA_Driver_Builtin($driver);
        } else {
            return 
DBA::raiseError(DBA_ERROR_UNSUP_DRIVERNULLNULL,
                
'driver: '.$driver);
        }
    }

    
/**
     * Deletes a DBA database from the filesystem
     *
     * @static
     * @param   string $driver type of storage object to return
     * @return  object DBA storage object, returned by reference
     */
    
function db_drop($name$driver 'file')
    {
        if (!
function_exists('dba_open') || ($driver=='file')) {
            require_once 
'DBA/Driver/File.php';
            return 
DBA_Driver_File::db_drop($name);
        } elseif (
in_array($driverDBA::getDriverList())) {
            require_once 
'DBA/Driver/Builtin.php';
            return 
DBA_Driver_Builtin::db_drop($name);
        } else {
            return 
DBA::raiseError(DBA_ERROR_UNSUP_DRIVERNULLNULL,
                
'driver: '.$driver);
        }
    }
    
    
/**
     * Returns whether a result code from a DBA method is an error
     *
     * @param   int       $value  result code
     * @return  boolean   whether $value is a DBA_Error
     * @access public
     */
    
function isError($value)
    {
        return (
is_object($value) &&
            (
is_a($value'dba_error') || is_subclass_of($value'dba_error')));
    }
    
    
/**
     * Return a textual error message for a DBA error code
     *
     * @param   int     $value error code
     * @return  string  error message, or false if the error code was
     *                  not recognized
     * @access public
     */
    
function errorMessage($value)
    {
        static 
$errorMessages;
        if (!isset(
$errorMessages)) {
            
$errorMessages = array(
                
DBA_ERROR                   => 'unknown error',
                
DBA_ERROR_UNSUP_DRIVER      => 'unsupported database driver',
                
DBA_ERROR_UNSUP_PERSISTENCE => 'persistent connections not supported',
                
DBA_ERROR_NO_DRIVER         => 'no driver loaded',
                
DBA_ERROR_NO_DBNAME         => 'no databasename given',
                
DBA_ERROR_NOSUCHDB          => 'database not found',
                
DBA_ERROR_INVALID_MODE      => 'invalid file mode',
                
DBA_ERROR_CANNOT_CREATE     => 'can not create database',
                
DBA_ERROR_CANNOT_OPEN       => 'can not open database',
                
DBA_ERROR_CANNOT_DROP       => 'can not drop database',
                
DBA_ERROR_NOT_READABLE      => 'database not readable',
                
DBA_ERROR_NOT_WRITEABLE     => 'database not writeable',
                
DBA_ERROR_NOT_OPEN          => 'database not open',
                
DBA_ERROR_NOT_FOUND         => 'key not found',
                
DBA_ERROR_ALREADY_EXISTS    => 'key already exists',
            );
        }

        if (
DBA::isError($value)) {
            
$value $value->getCode();
        }

        return isset(
$errorMessages[$value]) ?
            
$errorMessages[$value] : $errorMessages[DBA_ERROR];
    }

    
/**
     * This method is used to communicate an error and invoke error
     * callbacks etc.  Basically a wrapper for PEAR::raiseError
     * without the message string.
     *
     * @param mixed $code integer error code, or a PEAR error object (all
     *      other parameters are ignored if this parameter is an object
     * @param int $mode error mode, see PEAR_Error docs
     * @param mixed $options If error mode is PEAR_ERROR_TRIGGER, this is the
     *      error level (E_USER_NOTICE etc).  If error mode is
     *      PEAR_ERROR_CALLBACK, this is the callback function, either as a
     *      function name, or as an array of an object and method name. For
     *      other error modes this parameter is ignored.
     * @param string $userinfo Extra debug information.
     * @return object a PEAR error object
     * @access public
     * @see PEAR_Error
     */
    
function &raiseError($code DBA_ERROR$mode NULL$options NULL,
        
$userinfo NULL)
    {
        
// The error is yet a DBA error object
        
if (is_object($code)) {
            return 
PEAR::raiseError($codeNULLNULLNULLNULLNULLTRUE);
        }

        return 
PEAR::raiseError(NULL$code$mode$options$userinfo,
            
'DBA_Error'TRUE);
    }
    
    
/**
     * Returns whether a database exists
     *
     * @param  string $name name of the database to find
     * @param  string @driver driver to test for
     * @return boolean true if the database exists
     */
    
function db_exists($name$driver 'file')
    {
        if (!
function_exists('dba_open') || ($driver=='file')) {
            
// the file driver stores data in two files
            
return (file_exists($name.'.dat') && file_exists($name.'.idx'));
        } elseif (
in_array($driver, array('db2''db3''db4''gdbm'))) {
            
// these drivers store data in one file
            
return file_exists($name);
        } else {
            
// do not know how other drivers store data
            
return DBA::raiseError(DBA_ERROR_NO_DRIVERNULLNULL'driver: '.$driver);
        }
    }

    
/**
     * Returns an array of the currently supported drivers
     *
     * @return array
     */
    
function getDriverList()
    {
        if (
function_exists('dba_handlers')) {
            return 
array_merge(dba_handlers(), array('file'));
        } else {
            return array(
'file');
        }
    }
}

/**
 * DBA_Error implements a class for reporting portable database error
 * messages. Based on the PEAR::MDB implementation.
 *
 * @package DBA
 * @author  Olaf Conradi <conradi@cs.utwente.nl>
 */
class DBA_Error extends PEAR_Error
{
    
    
/**
     * DBA_Error constructor.
     *
     * @param mixed   $code      DBA error code, or string with error message.
     * @param integer $mode      what "error mode" to operate in
     * @param integer $level     what error level to use for
     *                           $mode & PEAR_ERROR_TRIGGER
     * @param smixed  $debuginfo additional debug info, such as the last query
     */
    
function DBA_Error($code DBA_ERROR$mode PEAR_ERROR_RETURN,
              
$level E_USER_NOTICE$debuginfo NULL)
    {
        if (
is_int($code)) {
            
$this->PEAR_Error('DBA Error: '.DBA::errorMessage($code), $code,
                
$mode$level$debuginfo);
        } else {
            
$this->PEAR_Error('DBA Error: '.$codeDBA_ERROR$mode$level,
                
$debuginfo);
        }
    }
}

?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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