!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)

E:\copia nuevo\php\pear\PHP\CodeSniffer\   drwxrwxrwx
Free 8.01 GB of 239.26 GB (3.35%)
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:     CLI.php (26.24 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * A class to process command line phpcs scripts.
 *
 * PHP version 5
 *
 * @category  PHP
 * @package   PHP_CodeSniffer
 * @author    Greg Sherwood <gsherwood@squiz.net>
 * @copyright 2006-2011 Squiz Pty Ltd (ABN 77 084 670 600)
 * @license   http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence
 * @link      http://pear.php.net/package/PHP_CodeSniffer
 */

if (is_file(dirname(__FILE__).'/../CodeSniffer.php') === true) {
    include_once 
dirname(__FILE__).'/../CodeSniffer.php';
} else {
    include_once 
'PHP/CodeSniffer.php';
}

/**
 * A class to process command line phpcs scripts.
 *
 * @category  PHP
 * @package   PHP_CodeSniffer
 * @author    Greg Sherwood <gsherwood@squiz.net>
 * @copyright 2006-2011 Squiz Pty Ltd (ABN 77 084 670 600)
 * @license   http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence
 * @version   Release: 1.3.3
 * @link      http://pear.php.net/package/PHP_CodeSniffer
 */
class PHP_CodeSniffer_CLI
{

    
/**
     * An array of all values specified on the command line.
     *
     * @var array
     */
    
protected $values = array();

    
/**
     * The minimum severity level errors must have to be displayed.
     *
     * @var bool
     */
    
public $errorSeverity 0;

    
/**
     * The minimum severity level warnings must have to be displayed.
     *
     * @var bool
     */
    
public $warningSeverity 0;


    
/**
     * Exits if the minimum requirements of PHP_CodSniffer are not met.
     *
     * @return array
     */
    
public function checkRequirements()
    {
        
// Check the PHP version.
        
if (version_compare(PHP_VERSION'5.1.2') === -1) {
            echo 
'ERROR: PHP_CodeSniffer requires PHP version 5.1.2 or greater.'.PHP_EOL;
            exit(
2);
        }

        if (
extension_loaded('tokenizer') === false) {
            echo 
'ERROR: PHP_CodeSniffer requires the tokenizer extension to be enabled.'.PHP_EOL;
            exit(
2);
        }

    }
//end checkRequirements()


    /**
     * Get a list of default values for all possible command line arguments.
     *
     * @return array
     */
    
public function getDefaults()
    {
        
// The default values for config settings.
        
$defaults['files']       = array();
        
$defaults['standard']    = null;
        
$defaults['verbosity']   = 0;
        
$defaults['interactive'] = false;
        
$defaults['local']       = false;
        
$defaults['showSources'] = false;
        
$defaults['extensions']  = array();
        
$defaults['sniffs']      = array();
        
$defaults['ignored']     = array();
        
$defaults['reportFile']  = null;
        
$defaults['generator']   = '';
        
$defaults['reports']     = array();

        
$reportFormat PHP_CodeSniffer::getConfigData('report_format');
        if (
$reportFormat !== null) {
            
$defaults['reports'][$reportFormat] = null;
        }

        
$defaults['warningSeverity'] = null;
        
$showWarnings PHP_CodeSniffer::getConfigData('show_warnings');
        if (
$showWarnings !== null) {
            
$showWarnings = (bool) $showWarnings;
            if (
$showWarnings === false) {
                
$defaults['warningSeverity'] = 0;
            }
        }

        
$tabWidth PHP_CodeSniffer::getConfigData('tab_width');
        if (
$tabWidth === null) {
            
$defaults['tabWidth'] = 0;
        } else {
            
$defaults['tabWidth'] = (int) $tabWidth;
        }

        
$encoding PHP_CodeSniffer::getConfigData('encoding');
        if (
$encoding === null) {
            
$defaults['encoding'] = 'iso-8859-1';
        } else {
            
$defaults['encoding'] = strtolower($encoding);
        }

        
$severity PHP_CodeSniffer::getConfigData('severity');
        if (
$severity === null) {
            
$defaults['errorSeverity']   = null;
            
$defaults['warningSeverity'] = null;
        } else {
            
$defaults['errorSeverity']   = (int) $severity;
            
$defaults['warningSeverity'] = (int) $severity;
        }

        
$severity PHP_CodeSniffer::getConfigData('error_severity');
        if (
$severity === null) {
            
$defaults['errorSeverity'] = null;
        } else {
            
$defaults['errorSeverity'] = (int) $severity;
        }

        
$severity PHP_CodeSniffer::getConfigData('warning_severity');
        if (
$severity === null) {
            
$defaults['warningSeverity'] = null;
        } else {
            
$defaults['warningSeverity'] = (int) $severity;
        }

        
$reportWidth PHP_CodeSniffer::getConfigData('report_width');
        if (
$reportWidth === null) {
            
$defaults['reportWidth'] = 80;
        } else {
            
$defaults['reportWidth'] = (int) $reportWidth;
        }

        
$showProgress PHP_CodeSniffer::getConfigData('show_progress');
        if (
$showProgress === null) {
            
$defaults['showProgress'] = false;
        } else {
            
$defaults['showProgress'] = (bool) $showProgress;
        }

        return 
$defaults;

    }
//end getDefaults()


    /**
     * Process the command line arguments and returns the values.
     *
     * @return array
     */
    
public function getCommandLineValues()
    {
        if (empty(
$this->values) === false) {
            return 
$this->values;
        }

        
$values $this->getDefaults();

        for (
$i 1$i $_SERVER['argc']; $i++) {
            
$arg $_SERVER['argv'][$i];
            if (
$arg === '') {
                continue;
            }

            if (
$arg{0} === '-') {
                if (
$arg === '-' || $arg === '--') {
                    
// Empty argument, ignore it.
                    
continue;
                }

                if (
$arg{1} === '-') {
                    
$values
                        
$this->processLongArgument(substr($arg2), $i$values);
                } else {
                    
$switches str_split($arg);
                    foreach (
$switches as $switch) {
                        if (
$switch === '-') {
                            continue;
                        }

                        
$values $this->processShortArgument($switch$i$values);
                    }
                }
            } else {
                
$values $this->processUnknownArgument($arg$i$values);
            }
//end if
        
}//end for

        
$this->values $values;
        return 
$values;

    }
//end getCommandLineValues()


    /**
     * Processes a short (-e) command line argument.
     *
     * @param string $arg    The command line argument.
     * @param int    $pos    The position of the argument on the command line.
     * @param array  $values An array of values determined from CLI args.
     *
     * @return array The updated CLI values.
     * @see getCommandLineValues()
     */
    
public function processShortArgument($arg$pos$values)
    {
        switch (
$arg) {
        case 
'h':
        case 
'?':
            
$this->printUsage();
            exit(
0);
            break;
        case 
'i' :
            
$this->printInstalledStandards();
            exit(
0);
            break;
        case 
'v' :
            
$values['verbosity']++;
            break;
        case 
'l' :
            
$values['local'] = true;
            break;
        case 
's' :
            
$values['showSources'] = true;
            break;
        case 
'a' :
            
$values['interactive'] = true;
            break;
        case 
'p' :
            
$values['showProgress'] = true;
            break;
        case 
'd' :
            
$ini explode('='$_SERVER['argv'][($pos 1)]);
            
$_SERVER['argv'][($pos 1)] = '';
            if (isset(
$ini[1]) === true) {
                
ini_set($ini[0], $ini[1]);
            } else {
                
ini_set($ini[0], true);
            }

            break;
        case 
'n' :
            
$values['warningSeverity'] = 0;
            break;
        case 
'w' :
            
$values['warningSeverity'] = null;
            break;
        default:
            
$values $this->processUnknownArgument('-'.$arg$pos$values);
        }
//end switch

        
return $values;

    }
//end processShortArgument()


    /**
     * Processes a long (--example) command line argument.
     *
     * @param string $arg    The command line argument.
     * @param int    $pos    The position of the argument on the command line.
     * @param array  $values An array of values determined from CLI args.
     *
     * @return array The updated CLI values.
     * @see getCommandLineValues()
     */
    
public function processLongArgument($arg$pos$values)
    {
        switch (
$arg) {
        case 
'help':
            
$this->printUsage();
            exit(
0);
            break;
        case 
'version':
            echo 
'PHP_CodeSniffer version 1.3.3 (stable) ';
            echo 
'by Squiz Pty Ltd. (http://www.squiz.net)'.PHP_EOL;
            exit(
0);
            break;
        case 
'config-set':
            
$key   $_SERVER['argv'][($pos 1)];
            
$value $_SERVER['argv'][($pos 2)];
            
PHP_CodeSniffer::setConfigData($key$value);
            exit(
0);
            break;
        case 
'config-delete':
            
$key $_SERVER['argv'][($pos 1)];
            
PHP_CodeSniffer::setConfigData($keynull);
            exit(
0);
            break;
        case 
'config-show':
            
$data PHP_CodeSniffer::getAllConfigData();
            
print_r($data);
            exit(
0);
            break;
        default:
            if (
substr($arg07) === 'sniffs=') {
                
$values['sniffs'] = array();

                
$sniffs substr($arg7);
                
$sniffs explode(','$sniffs);

                
// Convert the sniffs to class names.
                
foreach ($sniffs as $sniff) {
                    
$parts explode('.'$sniff);
                    
$values['sniffs'][] = $parts[0].'_Sniffs_'.$parts[1].'_'.$parts[2].'Sniff';
                }
            } else if (
substr($arg012) === 'report-file=') {
                
$values['reportFile'] = realpath(substr($arg12));

                
// It may not exist and return false instead.
                
if ($values['reportFile'] === false) {
                    
$values['reportFile'] = substr($arg12);
                }

                if (
is_dir($values['reportFile']) === true) {
                    echo 
'ERROR: The specified report file path "'.$values['reportFile'].'" is a directory.'.PHP_EOL.PHP_EOL;
                    
$this->printUsage();
                    exit(
2);
                }

                
$dir dirname($values['reportFile']);
                if (
is_dir($dir) === false) {
                    echo 
'ERROR: The specified report file path "'.$values['reportFile'].'" points to a non-existent directory.'.PHP_EOL.PHP_EOL;
                    
$this->printUsage();
                    exit(
2);
                }
            } else if (
substr($arg013) === 'report-width=') {
                
$values['reportWidth'] = (int) substr($arg13);
            } else if (
substr($arg07) === 'report='
                
|| substr($arg07) === 'report-'
            
) {
                if (
$arg[6] === '-') {
                    
// This is a report with file output.
                    
$split strpos($arg'=');
                    if (
$split === false) {
                        
$report substr($arg7);
                        
$output null;
                    } else {
                        
                        
$report substr($arg7, ($split 7));
                        
$output substr($arg, ($split 1));
                        if (
$output === false) {
                            
$output null;
                        }
                    }
                } else {
                    
// This is a single report.
                    
$report substr($arg7);
                    
$output null;
                }

                
$validReports     = array(
                                     
'full',
                                     
'xml',
                                     
'checkstyle',
                                     
'csv',
                                     
'emacs',
                                     
'source',
                                     
'summary',
                                     
'svnblame',
                                     
'gitblame',
                                     
'hgblame',
                                    );

                if (
in_array($report$validReports) === false) {
                    echo 
'ERROR: Report type "'.$report.'" not known.'.PHP_EOL;
                    exit(
2);
                }

                
$values['reports'][$report] = $output;
            } else if (
substr($arg09) === 'standard=') {
                
$values['standard'] = substr($arg9);
            } else if (
substr($arg011) === 'extensions=') {
                
$values['extensions'] = explode(','substr($arg11));
            } else if (
substr($arg09) === 'severity=') {
                
$values['errorSeverity']   = (int) substr($arg9);
                
$values['warningSeverity'] = $values['errorSeverity'];
            } else if (
substr($arg015) === 'error-severity=') {
                
$values['errorSeverity'] = (int) substr($arg15);
            } else if (
substr($arg017) === 'warning-severity=') {
                
$values['warningSeverity'] = (int) substr($arg17);
            } else if (
substr($arg07) === 'ignore=') {
                
// Split the ignore string on commas, unless the comma is escaped
                // using 1 or 3 slashes (\, or \\\,).
                
$values['ignored'] = preg_split(
                    
'/(?<=(?<!\\\\)\\\\\\\\),|(?<!\\\\),/',
                    
substr($arg7)
                );
            } else if (
substr($arg010) === 'generator=') {
                
$values['generator'] = substr($arg10);
            } else if (
substr($arg09) === 'encoding=') {
                
$values['encoding'] = strtolower(substr($arg9));
            } else if (
substr($arg010) === 'tab-width=') {
                
$values['tabWidth'] = (int) substr($arg10);
            } else {
                
$values $this->processUnknownArgument('--'.$arg$pos$values);
            }
//end if

            
break;
        }
//end switch

        
return $values;

    }
//end processLongArgument()


    /**
     * Processes an unknown command line argument.
     *
     * Assumes all unknown arguments are files and folders to check.
     *
     * @param string $arg    The command line argument.
     * @param int    $pos    The position of the argument on the command line.
     * @param array  $values An array of values determined from CLI args.
     *
     * @return array The updated CLI values.
     * @see getCommandLineValues()
     */
    
public function processUnknownArgument($arg$pos$values)
    {
        
// We don't know about any additional switches; just files.
        
if ($arg{0} === '-') {
            echo 
'ERROR: option "'.$arg.'" not known.'.PHP_EOL.PHP_EOL;
            
$this->printUsage();
            exit(
2);
        }

        
$file realpath($arg);
        if (
file_exists($file) === false) {
            echo 
'ERROR: The file "'.$arg.'" does not exist.'.PHP_EOL.PHP_EOL;
            
$this->printUsage();
            exit(
2);
        } else {
            
$values['files'][] = $file;
        }

        return 
$values;

    }
//end processUnknownArgument()


    /**
     * Runs PHP_CodeSniffer over files and directories.
     *
     * @param array $values An array of values determined from CLI args.
     *
     * @return int The number of error and warning messages shown.
     * @see getCommandLineValues()
     */
    
public function process($values=array())
    {
        if (empty(
$values) === true) {
            
$values $this->getCommandLineValues();
        }

        if (
$values['generator'] !== '') {
            
$phpcs = new PHP_CodeSniffer($values['verbosity']);
            
$phpcs->generateDocs(
                
$values['standard'],
                
$values['files'],
                
$values['generator']
            );
            exit(
0);
        }

        
$fileContents '';
        if (empty(
$values['files']) === true) {
            
// Check if they passing in the file contents.
            
$handle       fopen('php://stdin''r');
            
$fileContents stream_get_contents($handle);
            
fclose($handle);

            if (
$fileContents === '') {
                
// No files and no content passed in.
                
echo 'ERROR: You must supply at least one file or directory to process.'.PHP_EOL.PHP_EOL;
                
$this->printUsage();
                exit(
2);
            }
        }

        
$values['standard'] = $this->validateStandard($values['standard']);
        if (
PHP_CodeSniffer::isInstalledStandard($values['standard']) === false) {
            
// They didn't select a valid coding standard, so help them
            // out by letting them know which standards are installed.
            
echo 'ERROR: the "'.$values['standard'].'" coding standard is not installed. ';
            
$this->printInstalledStandards();
            exit(
2);
        }

        
$phpcs = new PHP_CodeSniffer(
            
$values['verbosity'],
            
$values['tabWidth'],
            
$values['encoding'],
            
$values['interactive']
        );

        
// Set file extensions if they were specified. Otherwise,
        // let PHP_CodeSniffer decide on the defaults.
        
if (empty($values['extensions']) === false) {
            
$phpcs->setAllowedFileExtensions($values['extensions']);
        }

        
// Set ignore patterns if they were specified.
        
if (empty($values['ignored']) === false) {
            
$phpcs->setIgnorePatterns($values['ignored']);
        }

        
// Set some convenience member vars.
        
if ($values['errorSeverity'] === null) {
            
$this->errorSeverity PHPCS_DEFAULT_ERROR_SEV;
        } else {
            
$this->errorSeverity $values['errorSeverity'];
        }

        if (
$values['warningSeverity'] === null) {
            
$this->warningSeverity PHPCS_DEFAULT_WARN_SEV;
        } else {
            
$this->warningSeverity $values['warningSeverity'];
        }

        
$phpcs->setCli($this);

        
$phpcs->process(
            
$values['files'],
            
$values['standard'],
            
$values['sniffs'],
            
$values['local']
        );

        if (
$fileContents !== '') {
            
$phpcs->processFile('STDIN'$fileContents);
        }

        return 
$this->printErrorReport(
            
$phpcs,
            
$values['reports'],
            
$values['showSources'],
            
$values['reportFile'],
            
$values['reportWidth']
        );

    }
//end process()


    /**
     * Prints the error report for the run.
     *
     * Note that this function may actually print multiple reports
     * as the user may have specified a number of output formats.
     *
     * @param PHP_CodeSniffer $phpcs       The PHP_CodeSniffer object containing
     *                                     the errors.
     * @param array           $reports     A list of reports to print.
     * @param bool            $showSources TRUE if report should show error sources
     *                                     (not used by all reports).
     * @param string          $reportFile  A default file to log report output to.
     * @param int             $reportWidth How wide the screen reports should be.
     *
     * @return int The number of error and warning messages shown.
     */
    
public function printErrorReport(
        
PHP_CodeSniffer $phpcs,
        
$reports,
        
$showSources,
        
$reportFile,
        
$reportWidth
    
) {
        
$reporting       = new PHP_CodeSniffer_Reporting();
        
$filesViolations $phpcs->getFilesErrors();

        if (empty(
$reports) === true) {
            
$reports['full'] = $reportFile;
        }

        
$errors   0;
        
$toScreen false;

        foreach (
$reports as $report => $output) {
            if (
$output === null) {
                
$output $reportFile;
            }

            if (
$reportFile === null) {
                
$toScreen true;
            }

            
// We don't add errors here because the number of
            // errors reported by each report type will always be the
            // same, so we really just need 1 number.
            
$errors $reporting->printReport(
                
$report,
                
$filesViolations,
                
$showSources,
                
$output,
                
$reportWidth
            
);
        }

        
// Only print PHP_Timer output if no reports were
        // printed to the screen so we don't put additional output
        // in something like an XML report. If we are printing to screen,
        // the report types would have already worked out who should
        // print the timer info.
        
if ($toScreen === false
            
&& PHP_CODESNIFFER_INTERACTIVE === false
            
&& class_exists('PHP_Timer'false) === true
        
) {
            echo 
PHP_Timer::resourceUsage().PHP_EOL.PHP_EOL;
        }

        
// They should all return the same value, so it
        // doesn't matter which return value we end up using.
        
return $errors;

    }
//end printErrorReport()


    /**
     * Convert the passed standard into a valid standard.
     *
     * Checks things like default values and case.
     *
     * @param string $standard The standard to validate.
     *
     * @return string
     */
    
public function validateStandard($standard)
    {
        if (
$standard === null) {
            
// They did not supply a standard to use.
            // Try to get the default from the config system.
            
$standard PHP_CodeSniffer::getConfigData('default_standard');
            if (
$standard === null) {
                
$standard 'PEAR';
            }
        }

        
// Check if the standard name is valid. If not, check that the case
        // was not entered incorrectly.
        
if (PHP_CodeSniffer::isInstalledStandard($standard) === false) {
            
$installedStandards PHP_CodeSniffer::getInstalledStandards();
            foreach (
$installedStandards as $validStandard) {
                if (
strtolower($standard) === strtolower($validStandard)) {
                    
$standard $validStandard;
                    break;
                }
            }
        }

        return 
$standard;

    }
//end validateStandard()


    /**
     * Prints out the usage information for this script.
     *
     * @return void
     */
    
public function printUsage()
    {
        echo 
'Usage: phpcs [-nwlsapvi] [-d key[=value]]'.PHP_EOL;
        echo 
'    [--report=<report>] [--report-file=<reportfile>] [--report-<report>=<reportfile>] ...'.PHP_EOL;
        echo 
'    [--report-width=<reportWidth>] [--generator=<generator>] [--tab-width=<tabWidth>]'.PHP_EOL;
        echo 
'    [--severity=<severity>] [--error-severity=<severity>] [--warning-severity=<severity>]'.PHP_EOL;
        echo 
'    [--config-set key value] [--config-delete key] [--config-show]'.PHP_EOL;
        echo 
'    [--standard=<standard>] [--sniffs=<sniffs>] [--encoding=<encoding>]'.PHP_EOL;
        echo 
'    [--extensions=<extensions>] [--ignore=<patterns>] <file> ...'.PHP_EOL;
        echo 
'        -n            Do not print warnings (shortcut for --warning-severity=0)'.PHP_EOL;
        echo 
'        -w            Print both warnings and errors (on by default)'.PHP_EOL;
        echo 
'        -l            Local directory only, no recursion'.PHP_EOL;
        echo 
'        -s            Show sniff codes in all reports'.PHP_EOL;
        echo 
'        -a            Run interactively'.PHP_EOL;
        echo 
'        -p            Show progress of the run'.PHP_EOL;
        echo 
'        -v[v][v]      Print verbose output'.PHP_EOL;
        echo 
'        -i            Show a list of installed coding standards'.PHP_EOL;
        echo 
'        -d            Set the [key] php.ini value to [value] or [true] if value is omitted'.PHP_EOL;
        echo 
'        --help        Print this help message'.PHP_EOL;
        echo 
'        --version     Print version information'.PHP_EOL;
        echo 
'        <file>        One or more files and/or directories to check'.PHP_EOL;
        echo 
'        <extensions>  A comma separated list of file extensions to check'.PHP_EOL;
        echo 
'                      (only valid if checking a directory)'.PHP_EOL;
        echo 
'        <patterns>    A comma separated list of patterns to ignore files and directories'.PHP_EOL;
        echo 
'        <encoding>    The encoding of the files being checked (default is iso-8859-1)'.PHP_EOL;
        echo 
'        <sniffs>      A comma separated list of sniff codes to limit the check to'.PHP_EOL;
        echo 
'                      (all sniffs must be part of the specified standard)'.PHP_EOL;
        echo 
'        <severity>    The minimum severity required to display an error or warning'.PHP_EOL;
        echo 
'        <standard>    The name or path of the coding standard to use'.PHP_EOL;
        echo 
'        <tabWidth>    The number of spaces each tab represents'.PHP_EOL;
        echo 
'        <generator>   The name of a doc generator to use'.PHP_EOL;
        echo 
'                      (forces doc generation instead of checking)'.PHP_EOL;
        echo 
'        <report>      Print either the "full", "xml", "checkstyle", "csv", "emacs"'.PHP_EOL;
        echo 
'                      "source", "summary", "svnblame", "gitblame" or "hgblame" report'.PHP_EOL;
        echo 
'                      (the "full" report is printed by default)'.PHP_EOL;
        echo 
'        <reportfile>  Write the report to the specified file path'.PHP_EOL;
        echo 
'        <reportWidth> How many columns wide screen reports should be printed'.PHP_EOL;

    }
//end printUsage()


    /**
     * Prints out a list of installed coding standards.
     *
     * @return void
     */
    
public function printInstalledStandards()
    {
        
$installedStandards PHP_CodeSniffer::getInstalledStandards();
        
$numStandards       count($installedStandards);

        if (
$numStandards === 0) {
            echo 
'No coding standards are installed.'.PHP_EOL;
        } else {
            
$lastStandard array_pop($installedStandards);
            if (
$numStandards === 1) {
                echo 
"The only coding standard installed is $lastStandard".PHP_EOL;
            } else {
                
$standardList  implode(', '$installedStandards);
                
$standardList .= ' and '.$lastStandard;
                echo 
'The installed coding standards are '.$standardList.PHP_EOL;
            }
        }

    }
//end printInstalledStandards()


}//end class

?>

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