!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:\Intranet\C\xampp\php\PEAR\Net\NNTP\   drwxrwxrwx
Free 4.09 GB of 39.52 GB (10.36%)
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 (17.15 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
// +-----------------------------------------------------------------------+
// |                                                                       |
// | Copyright © 2003 Heino H. Gehlsen. All Rights Reserved.               |
// |                  http://www.heino.gehlsen.dk/software/license         |
// |                                                                       |
// +-----------------------------------------------------------------------+
// |                                                                       |
// | This work (including software, documents, or other related items) is  |
// | being provided by the copyright holders under the following license.  |
// | By obtaining, using and/or copying this work, you (the licensee)      |
// | agree that you have read, understood, and will comply with the        |
// | following terms and conditions:                                       |
// |                                                                       |
// | Permission to use, copy, modify, and distribute this software and     |
// | its documentation, with or without modification, for any purpose and  |
// | without fee or royalty is hereby granted, provided that you include   |
// | the following on ALL copies of the software and documentation or      |
// | portions thereof, including modifications, that you make:             |
// |                                                                       |
// | 1. The full text of this NOTICE in a location viewable to users of    |
// |    the redistributed or derivative work.                              |
// |                                                                       |
// | 2. Any pre-existing intellectual property disclaimers, notices, or    |
// |    terms and conditions. If none exist, a short notice of the         |
// |    following form (hypertext is preferred, text is permitted) should  |
// |    be used within the body of any redistributed or derivative code:   |
// |    "Copyright © 2003 Heino H. Gehlsen. All Rights Reserved.           |
// |     http://www.heino.gehlsen.dk/software/license"                     |
// |                                                                       |
// | 3. Notice of any changes or modifications to the files, including     |
// |    the date changes were made. (We recommend you provide URIs to      |
// |    the location from which the code is derived.)                      |
// |                                                                       |
// | THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT    |
// | HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,    |
// | INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR        |
// | FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE    |
// | OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS,           |
// | COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.                               |
// |                                                                       |
// | COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,        |
// | SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE        |
// | SOFTWARE OR DOCUMENTATION.                                            |
// |                                                                       |
// | The name and trademarks of copyright holders may NOT be used in       |
// | advertising or publicity pertaining to the software without specific, |
// | written prior permission. Title to copyright in this software and any |
// | associated documentation will at all times remain with copyright      |
// | holders.                                                              |
// |                                                                       |
// +-----------------------------------------------------------------------+
// |                                                                       |
// | This license is based on the "W3C® SOFTWARE NOTICE AND LICENSE".      |
// | No changes have been made to the "W3C® SOFTWARE NOTICE AND LICENSE",  |
// | except for the references to the copyright holder, which has either   |
// | been changes or removed.                                              |
// |                                                                       |
// +-----------------------------------------------------------------------+
// $Id: Client.php,v 1.2.2.2 2005/01/14 20:03:22 heino Exp $

require_once 'Net/NNTP/Protocol/Client.php';


// {{{ constants

/* NNTP Authentication modes */
define('NET_NNTP_CLIENT_AUTH_ORIGINAL''original');
define('NET_NNTP_CLIENT_AUTH_SIMPLE',   'simple');
define('NET_NNTP_CLIENT_AUTH_GENERIC',  'generic');

// }}}
// {{{ Net_NNTP_Client

/**
 * Implementation of the client side of NNTP (Network News Transfer Protocol)
 *
 * The Net_NNTP_Client class is a frontend class to the Net_NNTP_Protocol_Client class.
 *
 * @category   Net
 * @package    Net_NNTP
 * @author     Heino H. Gehlsen <heino@gehlsen.dk>
 * @version    $Id: Client.php,v 1.2.2.2 2005/01/14 20:03:22 heino Exp $
 * @access     public
 * @see        Net_NNTP_Protocol_Client
 * @since      Class available since Release 0.11.0
 */
class Net_NNTP_Client extends Net_NNTP_Protocol_Client
{
    
// {{{ properties

    /**
     * Used for storing information about the currently selected group
     *
     * @var array
     * @access private
     * @since 0.3
     */
    
var $_currentGroup null;

    
// }}}
    // {{{ constructor

    /**
     * Constructor
     *
     * @access public
     */
    
function Net_NNTP_Client()
    {
        
parent::Net_NNTP_Protocol_Client();
    }

    
// }}}
    // {{{ connect()

    /**
     * Connect to the NNTP-server.
     *
     * @param optional string $host The adress of the NNTP-server to connect to.
     * @param optional int $port The port to connect to.
     *
     * @return mixed (bool) true on success or (object) pear_error on failure
     * @access public
     * @see Net_NNTP_Client::quit()
     * @see Net_NNTP_Client::authenticate()
     * @see Net_NNTP_Client::connectAuthenticated()
     */
    
function connect($host NET_NNTP_PROTOCOL_CLIENT_DEFAULT_HOST,
                     
$port NET_NNTP_PROTOCOL_CLIENT_DEFAULT_PORT)
    {
        return 
parent::connect($host$port);
    }

    
// }}}
    // {{{ quit()

    /**
     * Close connection to the newsserver
     *
     * @access public
     * @see Net_NNTP_Client::connect()
     */
    
function quit()
    {
        return 
$this->cmdQuit();
    }

    
// }}}
    // {{{ authenticate()

    /**
     * Authenticate
     * 
     * Auth process (not yet standarized but used any way)
     * http://www.mibsoftware.com/userkt/nntpext/index.html
     *
     * @param string $user The username
     * @param optional string $pass The password
     * @param optional string $mode The authentication mode (original, simple, generic).
     *
     * @return mixed (bool) true on success or (object) pear_error on failure
     * @access public
     * @see Net_NNTP_Client::connect()
     * @see Net_NNTP_Client::connectAuthenticated()
     */
    
function authenticate($user$pass$mode NET_NNTP_CLIENT_AUTH_ORIGINAL)
    {
        
// Username is a must...
        
if ($user == null) {
            return 
PEAR::throwError('No username supplied'null);
        }

        
// Use selected authentication method
        
switch ($mode) {
            case 
NET_NNTP_CLIENT_AUTH_ORIGINAL:
                return 
$this->cmdAuthinfo($user$pass);
                break;
            case 
NET_NNTP_CLIENT_AUTH_SIMPLE:
                return 
$this->cmdAuthinfoSimple($user$pass);
                break;
            case 
NET_NNTP_CLIENT_AUTH_GENERIC:
                return 
$this->cmdAuthinfoGeneric($user$pass);
                break;
            default:
                return 
PEAR::throwError("The auth mode: '$mode' is unknown"null);
        }
    }

    
// }}}
    // {{{ isConnected()

    /**
     * Test whether a connection is currently open.
     *
     * @return bool true or false
     * @access public
     * @see Net_NNTP_Client::connect()
     * @see Net_NNTP_Client::quit()
     */
    
function isConnected()
    {
        return 
parent::isConnected();
    }

    
// }}}
    // {{{ selectGroup()

    /**
     * Selects a newsgroup
     *
     * @param string $newsgroup Newsgroup name
     *
     * @return mixed (array) Info about the newsgroup on success or (object) pear_error on failure
     * @access public
     * @see Net_NNTP_Client::group()
     * @see Net_NNTP_Client::first()
     * @see Net_NNTP_Client::last()
     * @see Net_NNTP_Client::count()
     * @see Net_NNTP_Client::getGroups()
     */
    
function selectGroup($newsgroup)
    {
        
$response_arr $this->cmdGroup($newsgroup);
        if (
PEAR::isError($response_arr)) {
            return 
$response_arr;
        }

        
// Store group info in the object
        
$this->_currentGroup $response_arr;

        return 
$response_arr;
    }

    
// }}}
    // {{{ getGroups()

    /**
     * Fetches a list of all avaible newsgroups
     *
     * @return mixed (array) nested array with informations about existing newsgroups on success or (object) pear_error on failure
     * @access public
     * @see Net_NNTP_Client::selectGroup()
     * @see Net_NNTP_Client::getDescriptions()
     */
    
function getGroups()
    {
        
// Get groups
        
$groups $this->cmdList();
        if (
PEAR::isError($groups)) {
            return 
$groups;
        }

        return 
$groups;
    }

    
// }}}
    // {{{ getDescriptions()

    /**
     * Fetches a list of all avaible newsgroup descriptions.
     *
     * @return mixed (array) nested array with description of existing newsgroups on success or (object) pear_error on failure
     * @access public
     * @see Net_NNTP_Client::getGroups()
     */
    
function getDescriptions()
    {
        
// Get group descriptions
        
$descriptions $this->cmdListNewsgroups();
        if (
PEAR::isError($descriptions)) {
            return 
$descriptions;
        }
    
        return 
$descriptions;
    }

    
// }}}
    // {{{ getOverview()

    /**
     * Fetch message header fields from message number $first to $last
     *
     * The format of the returned array is:
     * $messages[message_id][header_name]
     *
     * @param integer $first first article to fetch
     * @param integer $last  last article to fetch
     *
     * @return mixed (array) nested array of message and their headers on success or (object) pear_error on failure
     * @access public
     * @see Net_NNTP_Client::getOverviewFormat()
     * @see Net_NNTP_Client::getReferencesOverview()
     */
    
function getOverview($first$last)
    {
        
$overview $this->cmdXOver($first.'-'.$last);
        if (
PEAR::isError($overview)) {
            return 
$overview;
        }
    
        return 
$overview;
    }

    
// }}}
    // {{{ getOverviewFmt()

    /**
     * Returns a list of avaible headers which are send from NNTP-server to the client for every news message
     *
     * @return mixed (array) header names on success or (object) pear_error on failure
     * @access public
     * @see Net_NNTP_Client::getOverview()
     */
    
function getOverviewFormat()
    {
        return 
$this->cmdListOverviewFmt();
    }

    
// }}}
    // {{{ post()

    /**
     * Post an article to a number of newsgroups.
     *
     * (Among the aditional headers you might think of adding could be:
     * "NNTP-Posting-Host: <ip-of-author>", which should contain the IP-address
     * of the author of the post, so the message can be traced back to him.
     * Or "Organization: <org>" which contain the name of the organization
     * the post originates from)
     *
     * @param string $newsgroups The newsgroup to post to.
     * @param string $subject The subject of the post.
     * @param string $body The body of the post itself.
     * @param string $from Name + email-adress of sender.
     * @param optional string $aditional Aditional headers to send.
     *
     * @return mixed (string) server response on success or (object) pear_error on failure
     * @access public
     */
    
function post($newsgroups$subject$body$from$aditional null)
    {
        return 
$this->cmdPost($newsgroups$subject$body$from$aditional);
    }

    
// }}}
    // {{{ getArticleRaw()

    /**
     * Get a article (raw data)
     *
     * @param mixed $article Either the message-id or the message-number on the server of the article to fetch.
     * @param optional bool  $implode When true the result array is imploded to a string, defaults to false.
     *
     * @return mixed (array/string) The article on success or (object) pear_error on failure
     * @access public
     * @see Net_NNTP_Client::getArticle()
     * @see Net_NNTP_Client::getHeaderRaw()
     * @see Net_NNTP_Client::getBodyRaw()
     */
    
function getArticleRaw($article$implode false)
    {
        
$data $this->cmdArticle($article);
        if (
PEAR::isError($data)) {
            return 
$data;
        }

        if (
$implode == true) {
            
$data implode("\r\n"$data);
        }

        return 
$data;
    }

    
// }}}
    // {{{ getHeaderRaw()

    /**
     * Get the header of an article (raw data)
     *
     * @param mixed $article Either the (string) message-id or the (int) message-number on the server of the article to fetch.
     * @param optional bool $implode When true the result array is imploded to a string, defaults to false.
     *
     * @return mixed (array/string) header fields on success or (object) pear_error on failure
     * @access public
     * @see Net_NNTP_Client::getHeader()
     * @see Net_NNTP_Client::getArticleRaw()
     * @see Net_NNTP_Client::getBodyRaw()
     */
    
function getHeaderRaw($article$implode false)
    {
        
$data $this->cmdHead($article);
        if (
PEAR::isError($data)) {
            return 
$data;
        }

        if (
$implode == true) {
            
$data implode("\r\n"$data);
        }

        return 
$data;
    }

    
// }}}
    // {{{ getBodyRaw()

    /**
     * Get the body of an article (raw data)
     *
     * @param mixed $article Either the message-id or the message-number on the server of the article to fetch.
     * @param optional bool $implode When true the result array is imploded to a string, defaults to false.
     *
     * @return mixed (array/string) body on success or (object) pear_error on failure
     * @access public
     * @see Net_NNTP_Client::getBody()
     * @see Net_NNTP_Client::getHeaderRaw()
     * @see Net_NNTP_Client::getArticleRaw()
     */
    
function getBodyRaw($article$implode false)
    {
        
$data $this->cmdBody($article);
        if (
PEAR::isError($data)) {
            return 
$data;
        }
    
        if (
$implode == true) {
            
$data implode("\r\n"$data);
        }
    
        return 
$data;
    }

    
// }}}
    // {{{ getDate()

    /**
     * Get the NNTP-server's internal date
     *
     * Get the date from the newsserver format of returned date:
     *
     * @param optional int $format
     *  - 0: $date - timestamp
     *  - 1: $date['y'] - year
     *       $date['m'] - month
     *       $date['d'] - day
     *
     * @return mixed (mixed) date on success or (object) pear_error on failure
     * @access public
     * @since 0.3
     */
    
function getDate($format 1)
    {
        
$date $this->cmdDate();
        if (
PEAR::isError($date)) {
            return 
$date;
        }

        switch (
$format) {
            case 
1:
                return array(
'y' => substr($date04), 'm' => substr($date42), 'd' => substr($date62));
                break;

            case 
0:
            default:
                return 
$date;
                break;
        }
    }

    
// }}}
    // {{{ count()

    /**
     * Number of articles in currently selected group
     *
     * @return integer number of article in group
     * @access public
     * @since 0.3
     * @see Net_NNTP_Client::group()
     * @see Net_NNTP_Client::first()
     * @see Net_NNTP_Client::last()
     * @see Net_NNTP_Client::selectGroup()
     */
    
function count()
    {
        return 
$this->_currentGroup['count'];
    }

    
// }}}
    // {{{ last()

    /**
     * Maximum article number in currently selected group
     *
     * @return integer number of last article
     * @access public
     * @since 0.3
     * @see Net_NNTP_Client::first()
     * @see Net_NNTP_Client::group()
     * @see Net_NNTP_Client::count()
     * @see Net_NNTP_Client::selectGroup()
     */
    
function last()
    {
        return 
$this->_currentGroup['last'];
    }

    
// }}}
    // {{{ first()

    /**
     * Minimum article number in currently selected group
     *
     * @return integer number of first article
     * @access public
     * @since 0.3
     * @see Net_NNTP_Client::last()
     * @see Net_NNTP_Client::group()
     * @see Net_NNTP_Client::count()
     * @see Net_NNTP_Client::selectGroup()
     */
    
function first()
    {
        return 
$this->_currentGroup['first'];
    }

    
// }}}
    // {{{ group()

    /**
     * Currently selected group
     *
     * @return string group name
     * @access public
     * @since 0.3
     * @see Net_NNTP_Client::first()
     * @see Net_NNTP_Client::last()
     * @see Net_NNTP_Client::count()
     * @see Net_NNTP_Client::selectGroup()
     */
    
function group()
    {
        return 
$this->_currentGroup['group'];
    }

    
// }}}

}

// }}}

?>

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