!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/apex_tdfonline/php/3ros/simplesamlphp/lib/SimpleSAML/   drwxr-xr-x
Free 12.99 GB of 61.93 GB (20.97%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

/**
 * A class for logging
 *
 * @author Lasse Birnbaum Jensen, SDU.
 * @author Andreas Åkre Solberg, UNINETT AS. <andreas.solberg@uninett.no>
 * @package simpleSAMLphp
 * @version $ID$
 */

interface SimpleSAML_Logger_LoggingHandler {
    function 
log_internal($level,$string);
}

class 
SimpleSAML_Logger {
    private static 
$loggingHandler null;
    private static 
$logLevel null;
    
    private static 
$captureLog FALSE;
    private static 
$capturedLog = array();

    
/**
     * Array with log messages from before we
     * initialized the logging handler.
     *
     * @var array
     */
    
private static $earlyLog = array();


    
/**
     * This constant defines the string we set the trackid to while we are fetching the
     * trackid from the session class. This is used to prevent infinite recursion.
     */
    
private static $TRACKID_FETCHING '_NOTRACKIDYET_';

    
/**
     * This variable holds the trackid we have retrieved from the session class.
     * It can also hold NULL, in which case we haven't fetched the trackid yet, or
     * TRACKID_FETCHING, which means that we are fetching the trackid now.
     */
    
private static $trackid null;

/*
     *        LOG_ERR                No statistics, only errors
     *        LOG_WARNING            No statistics, only warnings/errors
     *        LOG_NOTICE            Statistics and errors 
     *        LOG_INFO            Verbose logs
     *        LOG_DEBUG            Full debug logs - not reccomended for production

*/
    
const EMERG 0;
    const 
ALERT 1;
    const 
CRIT 2;
    const 
ERR 3;
    const 
WARNING 4;
    const 
NOTICE 5;
    const 
INFO 6;
    const 
DEBUG 7;

    static function 
emergency($string) {
        
self::log_internal(self::EMERG,$string);
    }

    static function 
critical($string) {
        
self::log_internal(self::CRIT,$string);
    }

    static function 
alert($string) {
        
self::log_internal(self::ALERT,$string);
    }

    static function 
error($string) {
        
self::log_internal(self::ERR,$string);
    }

    static function 
warning($string) {
        
self::log_internal(self::WARNING,$string);
    }

    
/**
     * We reserve the notice level for statistics, so do not use
     * this level for other kind of log messages.
     */
    
static function notice($string) {
        
self::log_internal(self::NOTICE,$string);
    }

    
/**
     * Info messages is abit less verbose than debug messages. This is useful
     * for tracing a session. 
     */
    
static function info($string) {
        
self::log_internal(self::INFO,$string);
    }
    
    
/**
     * Debug messages is very verbose, and will contain more inforation than 
     * what is neccessary for a production system.
     */
    
static function debug($string) {
        
self::log_internal(self::DEBUG,$string);
    }

    
/**
     * Statisitics
     */
    
static function stats($string) {
        
self::log_internal(self::NOTICE,$string,true);
    }
    
    
    
    public static function 
createLoggingHandler() {

        
/* Set to FALSE to indicate that it is being initialized. */
        
self::$loggingHandler FALSE;

        
/* Get the configuration. */
        
$config SimpleSAML_Configuration::getInstance();
        
assert($config instanceof SimpleSAML_Configuration);

        
/* Get the metadata handler option from the configuration. */
        
$handler $config->getString('logging.handler''syslog');

        
/*
         * setting minimum log_level
         */
        
self::$logLevel $config->getInteger('logging.level',self::INFO);

        
$handler strtolower($handler);

        if(
$handler === 'syslog') {
            
$sh = new SimpleSAML_Logger_LoggingHandlerSyslog();

        } elseif (
$handler === 'file')  {
            
$sh = new SimpleSAML_Logger_LoggingHandlerFile();
        } elseif (
$handler === 'errorlog')  {
            
$sh = new SimpleSAML_Logger_LoggingHandlerErrorLog();
        } else {
            throw new 
Exception('Invalid value for the [logging.handler] configuration option. Unknown handler: ' $handler);
        }
        
/* Set the session handler. */
        
self::$loggingHandler $sh;
    }
    
    public static function 
setCaptureLog($val TRUE) {
        
self::$captureLog $val;
    }
    
    public static function 
getCapturedLog() {
        return 
self::$capturedLog;
    }    
    
    static function 
log_internal($level,$string,$statsLog false) {
        if (
self::$loggingHandler === NULL) {
            
/* Initialize logging. */
            
self::createLoggingHandler();

            if (!empty(
self::$earlyLog)) {
                
error_log('----------------------------------------------------------------------');
                
/* Output messages which were logged before we initialized to the proper log. */
                
foreach (self::$earlyLog as $msg) {
                    
self::log_internal($msg['level'], $msg['string'], $msg['statsLog']);
                }
            }

        } elseif (
self::$loggingHandler === FALSE) {
            
/* Some error occurred while initializing logging. */
            
if (empty(self::$earlyLog)) {
                
/* This is the first message. */
                
error_log('--- Log message(s) while initializing logging ------------------------');
            }
            
error_log($string);

            
self::$earlyLog[] = array('level' => $level'string' => $string'statsLog' => $statsLog);
            return;
        }

        
        if (
self::$captureLog) {
            
$ts microtime(TRUE);
            
$msecs = (int)(($ts - (int)$ts) * 1000);
            
$ts GMdate('H:i:s'$ts) . sprintf('.%03d'$msecs) . 'Z';
            
self::$capturedLog[] = $ts ' ' $string;
        }
        
        if (
self::$logLevel >= $level || $statsLog) {
            if (
is_array($string)) $string implode(",",$string);
            
$string '['.self::getTrackId().'] '.$string;
            if (
$statsLog$string 'STAT '.$string;  
            
self::$loggingHandler->log_internal($level,$string);
        }
    }
    

    
/**
     * Retrieve the trackid we should use for logging.
     *
     * It is used to avoid infinite recursion between the logger class and the session class.
     *
     * @return The trackid we should use for logging, or 'NA' if we detect recursion.
     */
    
private static function getTrackId() {

        if(
self::$trackid === self::$TRACKID_FETCHING) {
            
/* Recursion detected. */
            
return 'NA';
        }

        if(
self::$trackid === NULL) {
            
/* No trackid yet, fetch it from the session class. */

            /* Mark it as currently being fetched. */
            
self::$trackid self::$TRACKID_FETCHING;

            
/* Get the current session. This could cause recursion back to the logger class. */
            
$session SimpleSAML_Session::getInstance();

            
/* Update the trackid. */
            
self::$trackid $session->getTrackID();
        }

        
assert('is_string(self::$trackid)');
        return 
self::$trackid;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.5388 ]--