ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:30.9 GB of 70.42 GB (43.88%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ http/ mail.1/ plugins/ debug_logger/ - drwxr-xr-x

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

/**
 * Debug Logger
 *
 * Enhanced logging for debugging purposes.  It is not recommened
 * to be enabled on production systems without testing because of
 * the somewhat increased memory, cpu and disk i/o overhead.
 *
 * Debug Logger listens for existing console("message") calls and
 * introduces start and end tags as well as free form tagging
 * which can redirect messages to files.  The resulting log files
 * provide timing and tag quantity results.
 *
 * Enable the plugin in config/main.inc.php and add your desired
 * log types and files.
 *
 * @version 1.0
 * @author Ziba Scott
 * @website http://roundcube.net
 * 
 * Example:
 *
 * config/main.inc.php:
 *
 *   // $rcmail_config['debug_logger'][type of logging] = name of file in log_dir
 *   // The 'master' log includes timing information
 *   $rcmail_config['debug_logger']['master'] = 'master';
 *   // If you want sql messages to also go into a separate file 
 *   $rcmail_config['debug_logger']['sql'] = 'sql';
 *
 * index.php (just after $RCMAIL->plugins->init()):
 *
 *   console("my test","start");
 *   console("my message");
 *   console("my sql calls","start");
 *   console("cp -r * /dev/null","shell exec");
 *   console("select * from example","sql");
 *   console("select * from example","sql");
 *   console("select * from example","sql");
 *   console("end");
 *   console("end");
 *
 *
 * logs/master (after reloading the main page):
 *
 *   [17-Feb-2009 16:51:37 -0500] start: Task: mail. 
 *   [17-Feb-2009 16:51:37 -0500]   start: my test
 *   [17-Feb-2009 16:51:37 -0500]     my message
 *   [17-Feb-2009 16:51:37 -0500]     shell exec: cp -r * /dev/null
 *   [17-Feb-2009 16:51:37 -0500]     start: my sql calls
 *   [17-Feb-2009 16:51:37 -0500]       sql: select * from example
 *   [17-Feb-2009 16:51:37 -0500]       sql: select * from example
 *   [17-Feb-2009 16:51:37 -0500]       sql: select * from example
 *   [17-Feb-2009 16:51:37 -0500]     end: my sql calls - 0.0018 seconds shell exec: 1, sql: 3, 
 *   [17-Feb-2009 16:51:37 -0500]   end: my test - 0.0055 seconds shell exec: 1, sql: 3, 
 *   [17-Feb-2009 16:51:38 -0500] end: Task: mail.  - 0.8854 seconds shell exec: 1, sql: 3, 
 * 
 * logs/sql (after reloading the main page):
 *
 *   [17-Feb-2009 16:51:37 -0500]       sql: select * from example
 *   [17-Feb-2009 16:51:37 -0500]       sql: select * from example
 *   [17-Feb-2009 16:51:37 -0500]       sql: select * from example
 */
class debug_logger extends rcube_plugin
{
    function 
init()
    {
        require_once(
dirname(__FILE__).'/runlog/runlog.php');
        
$this->runlog = new runlog(); 

        if(!
rcmail::get_instance()->config->get('log_dir')){
            
rcmail::get_instance()->config->set('log_dir',INSTALL_PATH.'logs');
        }

        
$log_config rcmail::get_instance()->config->get('debug_logger',array());

        foreach(
$log_config as $type=>$file){
            
$this->runlog->set_file(rcmail::get_instance()->config->get('log_dir').'/'.$file$type);
        }

        
$start_string "";
        
$action rcmail::get_instance()->action;
        
$task rcmail::get_instance()->task;
        if(
$action){
               
$start_string .= "Action: ".$action.". "
        }
        if(
$task){
               
$start_string .= "Task: ".$task.". "
        }
        
$this->runlog->start($start_string);

        
$this->add_hook('console', array($this'console'));
        
$this->add_hook('authenticate', array($this'authenticate'));
    }

    function 
authenticate($args){
        
$this->runlog->note('Authenticating '.$args['user'].'@'.$args['host']);
        return 
$args;
    }

    function 
console($args){
        
$note $args[0];
        
$type $args[1];


        if(!isset(
$args[1])){
            
// This could be extended to detect types based on the 
            // file which called console.  For now only rcube_imap.inc is supported
            
$bt debug_backtrace();
            
$file  $bt[3]['file'];
            switch(
basename($file)){
                case 
'rcube_imap.php':
                    
$type 'imap';
                    break;
                default:
                    
$type FALSE
                    break; 
            }
        }
        switch(
$note){
            case 
'end':
                
$type 'end';
                break;
        }


        switch(
$type){
            case 
'start':
                
$this->runlog->start($note);
                break;
            case 
'end':
                
$this->runlog->end();
                break;
            default:
                
$this->runlog->note($note$type);
                break;
        }
        return 
$args;
    }

    function 
__destruct(){
                
$this->runlog->end();
    }
}
?>
Command:
Quick Commands:
Upload:
[OK] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [OK]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.3884 seconds