!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\XML\RPC2\   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:     Client.php (9.59 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */

// LICENSE AGREEMENT. If folded, press za here to unfold and read license {{{ 

/**
* +-----------------------------------------------------------------------------+
* | Copyright (c) 2004-2006 Sergio Goncalves Carvalho                                |
* +-----------------------------------------------------------------------------+
* | This file is part of XML_RPC2.                                              |
* |                                                                             |
* | XML_RPC2 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.                                         |
* |                                                                             |
* | XML_RPC2 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 XML_RPC2; if not, write to the Free Software                     |
* | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA                    |
* | 02111-1307 USA                                                              |
* +-----------------------------------------------------------------------------+
* | Author: Sergio Carvalho <sergio.carvalho@portugalmail.com>                  |
* +-----------------------------------------------------------------------------+
*
* @category   XML
* @package    XML_RPC2
* @author     Sergio Carvalho <sergio.carvalho@portugalmail.com>  
* @copyright  2004-2006 Sergio Carvalho
* @license    http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
* @version    CVS: $Id: Client.php 308707 2011-02-26 17:08:55Z sergiosgc $
* @link       http://pear.php.net/package/XML_RPC2
*/

// }}}

// dependencies {{{
require_once 'XML/RPC2/Exception.php';
require_once 
'XML/RPC2/Backend.php';
require_once 
'XML/RPC2/ClientHelper.php';
// }}}

/**
 * XML_RPC client class. Use this class to access remote methods.
 * 
 * To use this class, construct it providing the server URL and method prefix. 
 * Then, call remote methods on the new instance as if they were local.
 * 
 * Example:
 * <code>
 *  require_once 'XML_RPC2/Client.php';
 * 
 *  $client = XML_RPC2_Client('http://xmlrpc.example.com/1.0/', 'example.');
 *  $result = $client->hello('Sergio');
 *  print($result);
 * </code>
 * 
 * The above example will call the example.hello method on the xmlrpc.example.com
 * server, under the /1.0/ URI. 
 * 
 * @category   XML
 * @package    XML_RPC2
 * @author     Sergio Carvalho <sergio.carvalho@portugalmail.com>  
 * @copyright  2004-2006 Sergio Carvalho
 * @license    http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
 * @link       http://pear.php.net/package/XML_RPC2
 */
abstract class XML_RPC2_Client 
{
    
// {{{ properties
    
    /**
     * uri Field (holds the uri for the XML_RPC server)
     *
     * @var string
     */
    
protected $uri null;
    
    
/**
     * proxy Field (holds the proxy server data)
     *
     * @var string
     */
    
protected $proxy null;
    
    
/**
     * Holds the prefix to prepend to method names
     *
     * @var string
     */
    
protected $prefix null;
    
    
/** 
     * Holds the debug flag 
     *
     * @var boolean
     */
    
protected $debug false;
    
    
/**
     * Hold the encoding of the client request
     *
     * @var string
     */
    
protected $encoding 'utf-8';

    
/**
     * Holds the escaping method(s) of the client request
     *
     * @var string
     */
    
protected $escaping = array('non-ascii''non-print''markup');
    
    
/**
     * Holds the SSL verify flag
     *
     * @var boolean
     */
    
protected $sslverify true;
    
    
/**
     * Holds the connection timeout in milliseconds of the client request.
     *
     * @var integer
     */
    
protected $connectionTimeout null;

    
/**
     * ugly hack flag to avoid http://bugs.php.net/bug.php?id=21949
     * 
     * see XML_RPC2_Backend_Xmlrpcext_Value::createFromNative() from more infos
     */
    
protected $uglyStructHack true;

    
/** 
     * Preconfigured HTTP_Request2 provided by the user
     *
     * @var HTTP_Request2
     */
    
protected $httpRequest;
    
// }}}
    
    // {{{ constructor
    
    /**
     * Construct a new XML_RPC2_Client.
     *
     * To create a new XML_RPC2_Client, a URI must be provided (e.g. http://xmlrpc.example.com/1.0/). 
     * Optionally, some options may be set as an associative array. Accepted keys are :
     * 'prefix', 'proxy', 'debug' => see correspondant property to get more informations
     * 'encoding' => The XML encoding for the requests (optional, defaults to utf-8)
     * 'sslverify' => boolean, true iff SSL certificates are to be verified against local cert database (optional, default false)
     * 'connectionTimeout' => Timeout, in seconds, for the XML-RPC HTTP request (optional, default is no timeout)
     * 'httpRequest' => Preconfigured HTTP_Request2 instance to be used in executing the XML-RPC calls (optional)
     *
     * @param string URI for the XML-RPC server
     * @param array (optional) Associative array of options
     */
    
protected function __construct($uri$options = array())
    {
        if (!
$uriParse parse_url($uri)) {
            throw new 
XML_RPC2_InvalidUriException(sprintf('Client URI \'%s\' is not valid'$uri));
        }
        
$this->uri $uri;
        if (isset(
$options['prefix'])) {
            if (!(
XML_RPC2_ClientHelper::testMethodName($options['prefix']))) {
                throw new 
XML_RPC2_InvalidPrefixException(sprintf('Prefix \'%s\' is not valid'$options['prefix']));
            }
            
$this->prefix $options['prefix'];
        }
        if (isset(
$options['proxy'])) {
            if (!
$proxyParse parse_url($options['proxy'])) {
                throw new 
XML_RPC2_InvalidProxyException(sprintf('Proxy URI \'%s\' is not valid'$options['proxy']));
            }
            
$this->proxy $options['proxy'];
        }
        if (isset(
$options['debug'])) {
            if (!(
is_bool($options['debug']))) {
                throw new 
XML_RPC2_InvalidDebugException(sprintf('Debug \'%s\' is not valid'$options['debug']));
            }
            
$this->debug $options['debug'];
        }
        if (isset(
$options['encoding'])) {
            
// TODO : control & exception
            
$this->encoding $options['encoding'];
        }
        if (isset(
$options['escaping'])) {
            
// TODO : control & exception
            
$this->escaping $options['escaping'];
        }
        if (isset(
$options['uglyStructHack'])) {  
            
$this->uglyStructHack $options['uglyStructHack'];
        }
        if (isset(
$options['sslverify'])) {
            if (!(
is_bool($options['sslverify']))) {
                throw new 
XML_RPC2_InvalidSslverifyException(sprintf('SSL verify \'%s\' is not valid'$options['sslverify']));
            }
            
$this->sslverify $options['sslverify'];
        }
        if (isset(
$options['connectionTimeout'])) {
            if (!(
is_int($options['connectionTimeout']))) {
                throw new 
XML_RPC2_InvalidConnectionTimeoutException(sprintf('Connection timeout \'%s\' is not valid'$options['connectionTimeout']));
            }
            
$this->connectionTimeout $options['connectionTimeout'];
        }
        if (isset(
$options['httpRequest'])) {  
            
$this->httpRequest $options['httpRequest'];
        }
    }
    
    
// }}}
    // {{{ create()
    
    /**
     * Factory method to select, create and return a XML_RPC2_Client backend
     *
     * To create a new XML_RPC2_Client, a URI must be provided (e.g. http://xmlrpc.example.com/1.0/). 
     * 
     * Optionally, some options may be set.
     *
     * @param string URI for the XML-RPC server
     * @param array (optional) associative array of options (see constructor)
     */
    
public static function create($uri$options = array())
    {
        if (isset(
$this)) { // Method called non-statically forward to remote call() as RPC
            
$this->__call('create'func_get_args());
        }
        if (isset(
$options['backend'])) {
            
XML_RPC2_Backend::setBackend($options['backend']);
        }
        
$backend XML_RPC2_Backend::getClientClassname();
        return new 
$backend($uri$options);
    }
    
    
// }}}
    // {{{ __call()

    /**
     * __call Catchall. This method catches remote method calls and provides for remote forwarding.
     *
     * If the parameters are native types, this method will use XML_RPC_Value::createFromNative to 
     * convert it into an XML-RPC type. Whenever a parameter is already an instance of XML_RPC_Value
     * it will be used as provided. It follows that, in situations when XML_RPC_Value::createFromNative
     * proves inacurate -- as when encoding DateTime values -- you should present an instance of 
     * XML_RPC_Value in lieu of the native parameter.
     *
     * @param   string      Method name
     * @param   array       Parameters
     * @return  mixed       The call result, already decoded into native types
     */
    
public abstract function __call($methodName$parameters);
   
    
// }}}
}


:: 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.0468 ]--