mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Fixes to phar stub (#10706)
* Fixes to phar stub
There were a couple of issues with the phar stub. It seems that in the
past people did not realise they had to change shortarc.php and run
makestub.php to generate the stubfile and instead they modified stub.h
manually. This meant that there were a couple of mistakes in the stub
which are fixed in this patch. In particular:
* The title tag was not closed
* The length of the stub was wrong in stub.h
* This PR syncs previous changes to stub.h back to shortarc.php
and vice versa.
* Adds a note such that hopefully no mistakes against updating the stubs
are made in the future (hopefully).
* The makestub.php script was actually broken because the expected
signature of the stub got changed in b874f1a73d
* Verify that the phar stub is up-to-date in CI
* Update stub again after master changes
* size_t changes
* Update test after stub changes (canonical casts)
---------
Co-authored-by: Joe Watkins <krakjoe@php.net>
This commit is contained in:
@@ -12,5 +12,6 @@ runs:
|
||||
Zend/zend_vm_gen.php
|
||||
ext/tokenizer/tokenizer_data_gen.php
|
||||
build/gen_stub.php -f --generate-optimizer-info --verify
|
||||
ext/phar/makestub.php
|
||||
# Use the -a flag for a bug in git 2.46.0, which doesn't consider changed -diff files.
|
||||
git add . -N && git diff -a --exit-code
|
||||
|
||||
9
ext/phar/makestub.php
Normal file → Executable file
9
ext/phar/makestub.php
Normal file → Executable file
@@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
$s = str_replace("\r", '', file_get_contents(dirname(__FILE__) . '/shortarc.php'));
|
||||
|
||||
@@ -48,8 +49,10 @@ $stub = '/*
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
static inline void phar_get_stub(const char *index_php, const char *web, size_t *len, char **stub, const int name_len, const int web_len)
|
||||
static inline zend_string *phar_get_stub(const char *index_php, const char *web, size_t name_len, size_t web_len)
|
||||
{
|
||||
/* Do NOT modify this file directly!
|
||||
* Instead modify shortarc.php to change PHP code or makestub.php to change C code and then use makestub.php to generate this file. */
|
||||
';
|
||||
$s1split = str_split($s1, 2046);
|
||||
$s3split = str_split($s3, 2046);
|
||||
@@ -88,9 +91,9 @@ foreach ($s3split as $i => $chunk) {
|
||||
$stub .= "\tstatic const char newstub3_" . $i . '[] = "' . $chunk . '";
|
||||
';
|
||||
}
|
||||
$stub .= "\n\tstatic const int newstub_len = " . $slen . ";
|
||||
$stub .= "\n\tstatic const size_t newstub_len = " . $slen . ";
|
||||
|
||||
\t*len = spprintf(stub, name_len + web_len + newstub_len, \"%s%s" . str_repeat('%s', $s1count) . '%s%s%d'
|
||||
\treturn strpprintf(name_len + web_len + newstub_len, \"%s%s" . str_repeat('%s', $s1count) . '%s%s%zu'
|
||||
. str_repeat('%s', $s3count) . '", newstub0, web';
|
||||
foreach ($s1split as $i => $unused) {
|
||||
$stub .= ', newstub1_' . $i;
|
||||
|
||||
@@ -74,7 +74,7 @@ if (@(isset($_SERVER['REQUEST_URI']) && isset($_SERVER['REQUEST_METHOD']) && ($_
|
||||
$a = realpath(Extract_Phar::$temp . DIRECTORY_SEPARATOR . $pt);
|
||||
if (!$a || strlen(dirname($a)) < strlen(Extract_Phar::$temp)) {
|
||||
header('HTTP/1.0 404 Not Found');
|
||||
echo "<html>\n <head>\n <title>File Not Found<title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
echo "<html>\n <head>\n <title>File Not Found</title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
exit;
|
||||
}
|
||||
$b = pathinfo($a);
|
||||
|
||||
@@ -16,16 +16,18 @@
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
static inline zend_string* phar_get_stub(const char *index_php, const char *web, const int name_len, const int web_len)
|
||||
static inline zend_string *phar_get_stub(const char *index_php, const char *web, size_t name_len, size_t web_len)
|
||||
{
|
||||
/* Do NOT modify this file directly!
|
||||
* Instead modify shortarc.php to change PHP code or makestub.php to change C code and then use makestub.php to generate this file. */
|
||||
static const char newstub0[] = "<?php\n\n$web = '";
|
||||
static const char newstub1_0[] = "';\n\nif (in_array('phar', stream_get_wrappers()) && class_exists('Phar', 0)) {\nPhar::interceptFileFuncs();\nset_include_path('phar://' . __FILE__ . PATH_SEPARATOR . get_include_path());\nPhar::webPhar(null, $web);\ninclude 'phar://' . __FILE__ . '/' . Extract_Phar::START;\nreturn;\n}\n\nif (@(isset($_SERVER['REQUEST_URI']) && isset($_SERVER['REQUEST_METHOD']) && ($_SERVER['REQUEST_METHOD'] == 'GET' || $_SERVER['REQUEST_METHOD'] == 'POST'))) {\nExtract_Phar::go(true);\n$mimes = array(\n'phps' => 2,\n'c' => 'text/plain',\n'cc' => 'text/plain',\n'cpp' => 'text/plain',\n'c++' => 'text/plain',\n'dtd' => 'text/plain',\n'h' => 'text/plain',\n'log' => 'text/plain',\n'rng' => 'text/plain',\n'txt' => 'text/plain',\n'xsd' => 'text/plain',\n'php' => 1,\n'inc' => 1,\n'avi' => 'video/avi',\n'bmp' => 'image/bmp',\n'css' => 'text/css',\n'gif' => 'image/gif',\n'htm' => 'text/html',\n'html' => 'text/html',\n'htmls' => 'text/html',\n'ico' => 'image/x-ico',\n'jpe' => 'image/jpeg',\n'jpg' => 'image/jpeg',\n'jpeg' => 'image/jpeg',\n'js' => 'application/x-javascript',\n'midi' => 'audio/midi',\n'mid' => 'audio/midi',\n'mod' => 'audio/mod',\n'mov' => 'movie/quicktime',\n'mp3' => 'audio/mp3',\n'mpg' => 'video/mpeg',\n'mpeg' => 'video/mpeg',\n'pdf' => 'application/pdf',\n'png' => 'image/png',\n'swf' => 'application/shockwave-flash',\n'tif' => 'image/tiff',\n'tiff' => 'image/tiff',\n'wav' => 'audio/wav',\n'xbm' => 'image/xbm',\n'xml' => 'text/xml',\n);\n\nheader(\"Cache-Control: no-cache, must-revalidate\");\nheader(\"Pragma: no-cache\");\n\n$basename = basename(__FILE__);\nif (!strpos($_SERVER['REQUEST_URI'], $basename)) {\nchdir(Extract_Phar::$temp);\ninclude $web;\nreturn;\n}\n$pt = substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], $basename) + strlen($basename));\nif (!$pt || $pt == '/') {\n$pt = $web;\nheader('HTTP/1.1 301 Moved Permanently');\nheader('Location: ' . $_SERVER['REQUEST_URI'] . '/' . $pt);\nexit;\n}\n$a = realpath(Extract_Phar::$temp . DIRECTORY_SEPARATOR . $pt);\nif (!$a || strlen(dirname($a)) < strlen(";
|
||||
static const char newstub1_1[] = "Extract_Phar::$temp)) {\nheader('HTTP/1.0 404 Not Found');\necho \"<html>\\n <head>\\n <title>File Not Found<title>\\n </head>\\n <body>\\n <h1>404 - File Not Found</h1>\\n </body>\\n</html>\";\nexit;\n}\n$b = pathinfo($a);\nif (!isset($b['extension'])) {\nheader('Content-Type: text/plain');\nheader('Content-Length: ' . filesize($a));\nreadfile($a);\nexit;\n}\nif (isset($mimes[$b['extension']])) {\nif ($mimes[$b['extension']] === 1) {\ninclude $a;\nexit;\n}\nif ($mimes[$b['extension']] === 2) {\nhighlight_file($a);\nexit;\n}\nheader('Content-Type: ' .$mimes[$b['extension']]);\nheader('Content-Length: ' . filesize($a));\nreadfile($a);\nexit;\n}\n}\n\nclass Extract_Phar\n{\nstatic $temp;\nstatic $origdir;\nconst GZ = 0x1000;\nconst BZ2 = 0x2000;\nconst MASK = 0x3000;\nconst START = '";
|
||||
static const char newstub1_1[] = "Extract_Phar::$temp)) {\nheader('HTTP/1.0 404 Not Found');\necho \"<html>\\n <head>\\n <title>File Not Found</title>\\n </head>\\n <body>\\n <h1>404 - File Not Found</h1>\\n </body>\\n</html>\";\nexit;\n}\n$b = pathinfo($a);\nif (!isset($b['extension'])) {\nheader('Content-Type: text/plain');\nheader('Content-Length: ' . filesize($a));\nreadfile($a);\nexit;\n}\nif (isset($mimes[$b['extension']])) {\nif ($mimes[$b['extension']] === 1) {\ninclude $a;\nexit;\n}\nif ($mimes[$b['extension']] === 2) {\nhighlight_file($a);\nexit;\n}\nheader('Content-Type: ' .$mimes[$b['extension']]);\nheader('Content-Length: ' . filesize($a));\nreadfile($a);\nexit;\n}\n}\n\nclass Extract_Phar\n{\nstatic $temp;\nstatic $origdir;\nconst GZ = 0x1000;\nconst BZ2 = 0x2000;\nconst MASK = 0x3000;\nconst START = '";
|
||||
static const char newstub2[] = "';\nconst LEN = ";
|
||||
static const char newstub3_0[] = ";\n\nstatic function go($return = false)\n{\n$fp = fopen(__FILE__, 'rb');\nfseek($fp, self::LEN);\n$L = unpack('V', $a = fread($fp, 4));\n$m = '';\n\ndo {\n$read = 8192;\nif ($L[1] - strlen($m) < 8192) {\n$read = $L[1] - strlen($m);\n}\n$last = fread($fp, $read);\n$m .= $last;\n} while (strlen($last) && strlen($m) < $L[1]);\n\nif (strlen($m) < $L[1]) {\ndie('ERROR: manifest length read was \"' .\nstrlen($m) .'\" should be \"' .\n$L[1] . '\"');\n}\n\n$info = self::_unpack($m);\n$f = $info['c'];\n\nif ($f & self::GZ) {\nif (!function_exists('gzinflate')) {\ndie('Error: zlib extension is not enabled -' .\n' gzinflate() function needed for zlib-compressed .phars');\n}\n}\n\nif ($f & self::BZ2) {\nif (!function_exists('bzdecompress')) {\ndie('Error: bzip2 extension is not enabled -' .\n' bzdecompress() function needed for bz2-compressed .phars');\n}\n}\n\n$temp = self::tmpdir();\n\nif (!$temp || !is_writable($temp)) {\n$sessionpath = session_save_path();\nif (strpos ($sessionpath, \";\") !== false)\n$sessionpath = substr ($sessionpath, strpos ($sessionpath, \";\")+1);\nif (!file_exists($sessionpath) || !is_dir($sessionpath)) {\ndie('Could not locate temporary directory to extract phar');\n}\n$temp = $sessionpath;\n}\n\n$temp .= '/pharextract/'.basename(__FILE__, '.phar');\nself::$temp = $temp;\nself::$origdir = getcwd();\n@mkdir($temp, 0777, true);\n$temp = realpath($temp);\n\nif (!file_exists($temp . DIRECTORY_SEPARATOR . md5_file(__FILE__))) {\nself::_removeTmpFiles($temp, getcwd());\n@mkdir($temp, 0777, true);\n@file_put_contents($temp . '/' . md5_file(__FILE__), '');\n\nforeach ($info['m'] as $path => $file) {\n$a = !file_exists(dirname($temp . '/' . $path));\n@mkdir(dirname($temp . '/' . $path), 0777, true);\nclearstatcache();\n\nif ($path[strlen($path) - 1] == '/') {\n@mkdir($temp . '/' . $path, 0777);\n} else {\nfile_put_contents($temp . '/' . $path, self::extractFile($path, $file, $fp));\n@chmod($temp . '/' . $path, 0666);\n}\n}\n}\n\nchdir($temp);\n\nif (!$return) {\ninclude self::START;\n}\n}\n\nstatic fun";
|
||||
static const char newstub3_1[] = "ction tmpdir()\n{\nif (strpos(PHP_OS, 'WIN') !== false) {\nif ($var = getenv('TMP') ? getenv('TMP') : getenv('TEMP')) {\nreturn $var;\n}\nif (is_dir('/temp') || mkdir('/temp')) {\nreturn realpath('/temp');\n}\nreturn false;\n}\nif ($var = getenv('TMPDIR')) {\nreturn $var;\n}\nreturn realpath('/tmp');\n}\n\nstatic function _unpack($m)\n{\n$info = unpack('V', substr($m, 0, 4));\n $l = unpack('V', substr($m, 10, 4));\n$m = substr($m, 14 + $l[1]);\n$s = unpack('V', substr($m, 0, 4));\n$o = 0;\n$start = 4 + $s[1];\n$ret['c'] = 0;\n\nfor ($i = 0; $i < $info[1]; $i++) {\n $len = unpack('V', substr($m, $start, 4));\n$start += 4;\n $savepath = substr($m, $start, $len[1]);\n$start += $len[1];\n $ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));\n$ret['m'][$savepath][3] = sprintf('%u', $ret['m'][$savepath][3]\n& 0xffffffff);\n$ret['m'][$savepath][7] = $o;\n$o += $ret['m'][$savepath][2];\n$start += 24 + $ret['m'][$savepath][5];\n$ret['c'] |= $ret['m'][$savepath][4] & self::MASK;\n}\nreturn $ret;\n}\n\nstatic function extractFile($path, $entry, $fp)\n{\n$data = '';\n$c = $entry[2];\n\nwhile ($c) {\nif ($c < 8192) {\n$data .= @fread($fp, $c);\n$c = 0;\n} else {\n$c -= 8192;\n$data .= @fread($fp, 8192);\n}\n}\n\nif ($entry[4] & self::GZ) {\n$data = gzinflate($data);\n} elseif ($entry[4] & self::BZ2) {\n$data = bzdecompress($data);\n}\n\nif (strlen($data) != $entry[0]) {\ndie(\"Invalid internal .phar file (size error \" . strlen($data) . \" != \" .\n$stat[7] . \")\");\n}\n\nif ($entry[3] != sprintf(\"%u\", crc32($data) & 0xffffffff)) {\ndie(\"Invalid internal .phar file (checksum error)\");\n}\n\nreturn $data;\n}\n\nstatic function _removeTmpFiles($temp, $origdir)\n{\nchdir($temp);\n\nforeach (glob('*') as $f) {\nif (file_exists($f)) {\nis_dir($f) ? @rmdir($f) : @unlink($f);\nif (file_exists($f) && is_dir($f)) {\nself::_removeTmpFiles($f, getcwd());\n}\n}\n}\n\n@rmdir($temp);\nclearstatcache();\nchdir($origdir);\n}\n}\n\nExtract_Phar::go();\n__HALT_COMPILER(); ?>";
|
||||
static const char newstub3_0[] = ";\n\nstatic function go($return = false)\n{\n$fp = fopen(__FILE__, 'rb');\nfseek($fp, self::LEN);\n$L = unpack('V', $a = (string)fread($fp, 4));\n$m = '';\n\ndo {\n$read = 8192;\nif ($L[1] - strlen($m) < 8192) {\n$read = $L[1] - strlen($m);\n}\n$last = (string)fread($fp, $read);\n$m .= $last;\n} while (strlen($last) && strlen($m) < $L[1]);\n\nif (strlen($m) < $L[1]) {\ndie('ERROR: manifest length read was \"' .\nstrlen($m) .'\" should be \"' .\n$L[1] . '\"');\n}\n\n$info = self::_unpack($m);\n$f = $info['c'];\n\nif ($f & self::GZ) {\nif (!function_exists('gzinflate')) {\ndie('Error: zlib extension is not enabled -' .\n' gzinflate() function needed for zlib-compressed .phars');\n}\n}\n\nif ($f & self::BZ2) {\nif (!function_exists('bzdecompress')) {\ndie('Error: bzip2 extension is not enabled -' .\n' bzdecompress() function needed for bz2-compressed .phars');\n}\n}\n\n$temp = self::tmpdir();\n\nif (!$temp || !is_writable($temp)) {\n$sessionpath = session_save_path();\nif (strpos ($sessionpath, \";\") !== false)\n$sessionpath = substr ($sessionpath, strpos ($sessionpath, \";\")+1);\nif (!file_exists($sessionpath) || !is_dir($sessionpath)) {\ndie('Could not locate temporary directory to extract phar');\n}\n$temp = $sessionpath;\n}\n\n$temp .= '/pharextract/'.basename(__FILE__, '.phar');\nself::$temp = $temp;\nself::$origdir = getcwd();\n@mkdir($temp, 0777, true);\n$temp = realpath($temp);\n\nif (!file_exists($temp . DIRECTORY_SEPARATOR . md5_file(__FILE__))) {\nself::_removeTmpFiles($temp, getcwd());\n@mkdir($temp, 0777, true);\n@file_put_contents($temp . '/' . md5_file(__FILE__), '');\n\nforeach ($info['m'] as $path => $file) {\n$a = !file_exists(dirname($temp . '/' . $path));\n@mkdir(dirname($temp . '/' . $path), 0777, true);\nclearstatcache();\n\nif ($path[strlen($path) - 1] == '/') {\n@mkdir($temp . '/' . $path, 0777);\n} else {\nfile_put_contents($temp . '/' . $path, self::extractFile($path, $file, $fp));\n@chmod($temp . '/' . $path, 0666);\n}\n}\n}\n\nchdir($temp);\n\nif (!$return) {\ninclude self::START;\n}\n";
|
||||
static const char newstub3_1[] = "}\n\nstatic function tmpdir()\n{\nif (strpos(PHP_OS, 'WIN') !== false) {\nif ($var = getenv('TMP') ? getenv('TMP') : getenv('TEMP')) {\nreturn $var;\n}\nif (is_dir('/temp') || mkdir('/temp')) {\nreturn realpath('/temp');\n}\nreturn false;\n}\nif ($var = getenv('TMPDIR')) {\nreturn $var;\n}\nreturn realpath('/tmp');\n}\n\nstatic function _unpack($m)\n{\n$info = unpack('V', substr($m, 0, 4));\n\n$l = unpack('V', substr($m, 10, 4));\n$m = substr($m, 14 + $l[1]);\n$s = unpack('V', substr($m, 0, 4));\n$o = 0;\n$start = 4 + $s[1];\n$ret['c'] = 0;\n\nfor ($i = 0; $i < $info[1]; $i++) {\n\n$len = unpack('V', substr($m, $start, 4));\n$start += 4;\n\n$savepath = substr($m, $start, $len[1]);\n$start += $len[1];\n\n\n\n$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));\n$ret['m'][$savepath][3] = sprintf('%u', $ret['m'][$savepath][3]\n& 0xffffffff);\n$ret['m'][$savepath][7] = $o;\n$o += $ret['m'][$savepath][2];\n$start += 24 + $ret['m'][$savepath][5];\n$ret['c'] |= $ret['m'][$savepath][4] & self::MASK;\n}\nreturn $ret;\n}\n\nstatic function extractFile($path, $entry, $fp)\n{\n$data = '';\n$c = $entry[2];\n\nwhile ($c) {\nif ($c < 8192) {\n$data .= @fread($fp, $c);\n$c = 0;\n} else {\n$c -= 8192;\n$data .= @fread($fp, 8192);\n}\n}\n\nif ($entry[4] & self::GZ) {\n$data = gzinflate($data);\n} elseif ($entry[4] & self::BZ2) {\n$data = bzdecompress($data);\n}\n\nif (strlen($data) != $entry[0]) {\ndie(\"Invalid internal .phar file (size error \" . strlen($data) . \" != \" .\n$entry[0] . \")\");\n}\n\nif ($entry[3] != sprintf(\"%u\", crc32($data) & 0xffffffff)) {\ndie(\"Invalid internal .phar file (checksum error)\");\n}\n\nreturn $data;\n}\n\nstatic function _removeTmpFiles($temp, $origdir)\n{\nchdir($temp);\n\nforeach (glob('*') as $f) {\nif (file_exists($f)) {\nis_dir($f) ? @rmdir($f) : @unlink($f);\nif (file_exists($f) && is_dir($f)) {\nself::_removeTmpFiles($f, getcwd());\n}\n}\n}\n\n@rmdir($temp);\nclearstatcache();\nchdir($origdir);\n}\n}\n\nExtract_Phar::go();\n__HALT_COMPILER(); ?>";
|
||||
|
||||
static const int newstub_len = 6623;
|
||||
static const size_t newstub_len = 6641;
|
||||
|
||||
return strpprintf(name_len + web_len + newstub_len, "%s%s%s%s%s%s%d%s%s", newstub0, web, newstub1_0, newstub1_1, index_php, newstub2, name_len + web_len + newstub_len, newstub3_0, newstub3_1);
|
||||
return strpprintf(name_len + web_len + newstub_len, "%s%s%s%s%s%s%zu%s%s", newstub0, web, newstub1_0, newstub1_1, index_php, newstub2, name_len + web_len + newstub_len, newstub3_0, newstub3_1);
|
||||
}
|
||||
|
||||
@@ -18,5 +18,5 @@ echo strlen($p2->getStub()),"\n";
|
||||
echo "ok\n";
|
||||
__HALT_COMPILER(); ?>
|
||||
"
|
||||
6643
|
||||
6661
|
||||
ok
|
||||
|
||||
@@ -27,7 +27,7 @@ unlink(__DIR__ . '/phar_commitwrite.phar');
|
||||
__HALT_COMPILER();
|
||||
?>
|
||||
--EXPECTF--
|
||||
int(6641)
|
||||
int(6659)
|
||||
string(%d) "<?php
|
||||
spl_autoload_register(function($class) {
|
||||
include 'phar://' . str_replace('_', '/', $class);
|
||||
|
||||
@@ -120,7 +120,7 @@ NULL
|
||||
bool(true)
|
||||
bool(false)
|
||||
bool(false)
|
||||
int(6641)
|
||||
int(6659)
|
||||
NULL
|
||||
================= convertToZip() =====================
|
||||
bool(false)
|
||||
|
||||
@@ -30,7 +30,7 @@ __HALT_COMPILER();
|
||||
unlink(__DIR__ . '/phar_create_in_cwd.phar');
|
||||
?>
|
||||
--EXPECTF--
|
||||
int(6641)
|
||||
int(6659)
|
||||
string(%d) "<?php
|
||||
spl_autoload_register(function($class) {
|
||||
include 'phar://' . str_replace('_', '/', $class);
|
||||
|
||||
@@ -33,7 +33,7 @@ echo $e->getMessage() . "\n";
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
string(6641) "<?php
|
||||
string(6659) "<?php
|
||||
|
||||
$web = 'index.php';
|
||||
|
||||
@@ -109,7 +109,7 @@ exit;
|
||||
$a = realpath(Extract_Phar::$temp . DIRECTORY_SEPARATOR . $pt);
|
||||
if (!$a || strlen(dirname($a)) < strlen(Extract_Phar::$temp)) {
|
||||
header('HTTP/1.0 404 Not Found');
|
||||
echo "<html>\n <head>\n <title>File Not Found<title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
echo "<html>\n <head>\n <title>File Not Found</title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
exit;
|
||||
}
|
||||
$b = pathinfo($a);
|
||||
@@ -143,13 +143,13 @@ const GZ = 0x1000;
|
||||
const BZ2 = 0x2000;
|
||||
const MASK = 0x3000;
|
||||
const START = 'index.php';
|
||||
const LEN = 6643;
|
||||
const LEN = 6661;
|
||||
|
||||
static function go($return = false)
|
||||
{
|
||||
$fp = fopen(__FILE__, 'rb');
|
||||
fseek($fp, self::LEN);
|
||||
$L = unpack('V', $a = fread($fp, 4));
|
||||
$L = unpack('V', $a = (string)fread($fp, 4));
|
||||
$m = '';
|
||||
|
||||
do {
|
||||
@@ -157,7 +157,7 @@ $read = 8192;
|
||||
if ($L[1] - strlen($m) < 8192) {
|
||||
$read = $L[1] - strlen($m);
|
||||
}
|
||||
$last = fread($fp, $read);
|
||||
$last = (string)fread($fp, $read);
|
||||
$m .= $last;
|
||||
} while (strlen($last) && strlen($m) < $L[1]);
|
||||
|
||||
@@ -248,7 +248,8 @@ return realpath('/tmp');
|
||||
static function _unpack($m)
|
||||
{
|
||||
$info = unpack('V', substr($m, 0, 4));
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
$m = substr($m, 14 + $l[1]);
|
||||
$s = unpack('V', substr($m, 0, 4));
|
||||
$o = 0;
|
||||
@@ -256,11 +257,16 @@ $start = 4 + $s[1];
|
||||
$ret['c'] = 0;
|
||||
|
||||
for ($i = 0; $i < $info[1]; $i++) {
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
$start += 4;
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
$start += $len[1];
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
|
||||
|
||||
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
$ret['m'][$savepath][3] = sprintf('%u', $ret['m'][$savepath][3]
|
||||
& 0xffffffff);
|
||||
$ret['m'][$savepath][7] = $o;
|
||||
@@ -294,7 +300,7 @@ $data = bzdecompress($data);
|
||||
|
||||
if (strlen($data) != $entry[0]) {
|
||||
die("Invalid internal .phar file (size error " . strlen($data) . " != " .
|
||||
$stat[7] . ")");
|
||||
$entry[0] . ")");
|
||||
}
|
||||
|
||||
if ($entry[3] != sprintf("%u", crc32($data) & 0xffffffff)) {
|
||||
@@ -327,7 +333,7 @@ Extract_Phar::go();
|
||||
__HALT_COMPILER(); ?>"
|
||||
============================================================================
|
||||
============================================================================
|
||||
string(6652) "<?php
|
||||
string(6670) "<?php
|
||||
|
||||
$web = 'index.php';
|
||||
|
||||
@@ -403,7 +409,7 @@ exit;
|
||||
$a = realpath(Extract_Phar::$temp . DIRECTORY_SEPARATOR . $pt);
|
||||
if (!$a || strlen(dirname($a)) < strlen(Extract_Phar::$temp)) {
|
||||
header('HTTP/1.0 404 Not Found');
|
||||
echo "<html>\n <head>\n <title>File Not Found<title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
echo "<html>\n <head>\n <title>File Not Found</title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
exit;
|
||||
}
|
||||
$b = pathinfo($a);
|
||||
@@ -437,13 +443,13 @@ const GZ = 0x1000;
|
||||
const BZ2 = 0x2000;
|
||||
const MASK = 0x3000;
|
||||
const START = 'my/custom/thingy.php';
|
||||
const LEN = 6654;
|
||||
const LEN = 6672;
|
||||
|
||||
static function go($return = false)
|
||||
{
|
||||
$fp = fopen(__FILE__, 'rb');
|
||||
fseek($fp, self::LEN);
|
||||
$L = unpack('V', $a = fread($fp, 4));
|
||||
$L = unpack('V', $a = (string)fread($fp, 4));
|
||||
$m = '';
|
||||
|
||||
do {
|
||||
@@ -451,7 +457,7 @@ $read = 8192;
|
||||
if ($L[1] - strlen($m) < 8192) {
|
||||
$read = $L[1] - strlen($m);
|
||||
}
|
||||
$last = fread($fp, $read);
|
||||
$last = (string)fread($fp, $read);
|
||||
$m .= $last;
|
||||
} while (strlen($last) && strlen($m) < $L[1]);
|
||||
|
||||
@@ -542,7 +548,8 @@ return realpath('/tmp');
|
||||
static function _unpack($m)
|
||||
{
|
||||
$info = unpack('V', substr($m, 0, 4));
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
$m = substr($m, 14 + $l[1]);
|
||||
$s = unpack('V', substr($m, 0, 4));
|
||||
$o = 0;
|
||||
@@ -550,11 +557,16 @@ $start = 4 + $s[1];
|
||||
$ret['c'] = 0;
|
||||
|
||||
for ($i = 0; $i < $info[1]; $i++) {
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
$start += 4;
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
$start += $len[1];
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
|
||||
|
||||
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
$ret['m'][$savepath][3] = sprintf('%u', $ret['m'][$savepath][3]
|
||||
& 0xffffffff);
|
||||
$ret['m'][$savepath][7] = $o;
|
||||
@@ -588,7 +600,7 @@ $data = bzdecompress($data);
|
||||
|
||||
if (strlen($data) != $entry[0]) {
|
||||
die("Invalid internal .phar file (size error " . strlen($data) . " != " .
|
||||
$stat[7] . ")");
|
||||
$entry[0] . ")");
|
||||
}
|
||||
|
||||
if ($entry[3] != sprintf("%u", crc32($data) & 0xffffffff)) {
|
||||
@@ -621,7 +633,7 @@ Extract_Phar::go();
|
||||
__HALT_COMPILER(); ?>"
|
||||
============================================================================
|
||||
============================================================================
|
||||
int(7032)
|
||||
int(7050)
|
||||
============================================================================
|
||||
============================================================================
|
||||
Illegal filename passed in for stub creation, was 401 characters long, and only 400 or less is allowed
|
||||
@@ -629,7 +641,7 @@ Illegal filename passed in for stub creation, was 401 characters long, and only
|
||||
============================================================================
|
||||
============================================================================
|
||||
============================================================================
|
||||
string(6654) "<?php
|
||||
string(6672) "<?php
|
||||
|
||||
$web = 'the/web.php';
|
||||
|
||||
@@ -705,7 +717,7 @@ exit;
|
||||
$a = realpath(Extract_Phar::$temp . DIRECTORY_SEPARATOR . $pt);
|
||||
if (!$a || strlen(dirname($a)) < strlen(Extract_Phar::$temp)) {
|
||||
header('HTTP/1.0 404 Not Found');
|
||||
echo "<html>\n <head>\n <title>File Not Found<title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
echo "<html>\n <head>\n <title>File Not Found</title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
exit;
|
||||
}
|
||||
$b = pathinfo($a);
|
||||
@@ -739,13 +751,13 @@ const GZ = 0x1000;
|
||||
const BZ2 = 0x2000;
|
||||
const MASK = 0x3000;
|
||||
const START = 'my/custom/thingy.php';
|
||||
const LEN = 6656;
|
||||
const LEN = 6674;
|
||||
|
||||
static function go($return = false)
|
||||
{
|
||||
$fp = fopen(__FILE__, 'rb');
|
||||
fseek($fp, self::LEN);
|
||||
$L = unpack('V', $a = fread($fp, 4));
|
||||
$L = unpack('V', $a = (string)fread($fp, 4));
|
||||
$m = '';
|
||||
|
||||
do {
|
||||
@@ -753,7 +765,7 @@ $read = 8192;
|
||||
if ($L[1] - strlen($m) < 8192) {
|
||||
$read = $L[1] - strlen($m);
|
||||
}
|
||||
$last = fread($fp, $read);
|
||||
$last = (string)fread($fp, $read);
|
||||
$m .= $last;
|
||||
} while (strlen($last) && strlen($m) < $L[1]);
|
||||
|
||||
@@ -844,7 +856,8 @@ return realpath('/tmp');
|
||||
static function _unpack($m)
|
||||
{
|
||||
$info = unpack('V', substr($m, 0, 4));
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
$m = substr($m, 14 + $l[1]);
|
||||
$s = unpack('V', substr($m, 0, 4));
|
||||
$o = 0;
|
||||
@@ -852,11 +865,16 @@ $start = 4 + $s[1];
|
||||
$ret['c'] = 0;
|
||||
|
||||
for ($i = 0; $i < $info[1]; $i++) {
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
$start += 4;
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
$start += $len[1];
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
|
||||
|
||||
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
$ret['m'][$savepath][3] = sprintf('%u', $ret['m'][$savepath][3]
|
||||
& 0xffffffff);
|
||||
$ret['m'][$savepath][7] = $o;
|
||||
@@ -890,7 +908,7 @@ $data = bzdecompress($data);
|
||||
|
||||
if (strlen($data) != $entry[0]) {
|
||||
die("Invalid internal .phar file (size error " . strlen($data) . " != " .
|
||||
$stat[7] . ")");
|
||||
$entry[0] . ")");
|
||||
}
|
||||
|
||||
if ($entry[3] != sprintf("%u", crc32($data) & 0xffffffff)) {
|
||||
@@ -923,5 +941,5 @@ Extract_Phar::go();
|
||||
__HALT_COMPILER(); ?>"
|
||||
============================================================================
|
||||
============================================================================
|
||||
int(7032)
|
||||
int(7050)
|
||||
Illegal web filename passed in for stub creation, was 401 characters long, and only 400 or less is allowed
|
||||
|
||||
@@ -68,8 +68,8 @@ var_dump($phar->getAlias());
|
||||
Entry .phar/stub.php does not exist
|
||||
Entry .phar/alias.txt does not exist
|
||||
Cannot set stub ".phar/stub.php" directly in phar "%sphar_offset_check.phar.php", use setStub
|
||||
int(6643)
|
||||
int(6643)
|
||||
int(6661)
|
||||
int(6661)
|
||||
Cannot set alias ".phar/alias.txt" directly in phar "%sphar_offset_check.phar.php", use setAlias
|
||||
string(5) "susan"
|
||||
string(5) "susan"
|
||||
|
||||
@@ -53,7 +53,7 @@ try {
|
||||
unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar');
|
||||
?>
|
||||
--EXPECT--
|
||||
string(6643) "<?php
|
||||
string(6661) "<?php
|
||||
|
||||
$web = 'index.php';
|
||||
|
||||
@@ -129,7 +129,7 @@ exit;
|
||||
$a = realpath(Extract_Phar::$temp . DIRECTORY_SEPARATOR . $pt);
|
||||
if (!$a || strlen(dirname($a)) < strlen(Extract_Phar::$temp)) {
|
||||
header('HTTP/1.0 404 Not Found');
|
||||
echo "<html>\n <head>\n <title>File Not Found<title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
echo "<html>\n <head>\n <title>File Not Found</title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
exit;
|
||||
}
|
||||
$b = pathinfo($a);
|
||||
@@ -163,13 +163,13 @@ const GZ = 0x1000;
|
||||
const BZ2 = 0x2000;
|
||||
const MASK = 0x3000;
|
||||
const START = 'index.php';
|
||||
const LEN = 6643;
|
||||
const LEN = 6661;
|
||||
|
||||
static function go($return = false)
|
||||
{
|
||||
$fp = fopen(__FILE__, 'rb');
|
||||
fseek($fp, self::LEN);
|
||||
$L = unpack('V', $a = fread($fp, 4));
|
||||
$L = unpack('V', $a = (string)fread($fp, 4));
|
||||
$m = '';
|
||||
|
||||
do {
|
||||
@@ -177,7 +177,7 @@ $read = 8192;
|
||||
if ($L[1] - strlen($m) < 8192) {
|
||||
$read = $L[1] - strlen($m);
|
||||
}
|
||||
$last = fread($fp, $read);
|
||||
$last = (string)fread($fp, $read);
|
||||
$m .= $last;
|
||||
} while (strlen($last) && strlen($m) < $L[1]);
|
||||
|
||||
@@ -268,7 +268,8 @@ return realpath('/tmp');
|
||||
static function _unpack($m)
|
||||
{
|
||||
$info = unpack('V', substr($m, 0, 4));
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
$m = substr($m, 14 + $l[1]);
|
||||
$s = unpack('V', substr($m, 0, 4));
|
||||
$o = 0;
|
||||
@@ -276,11 +277,16 @@ $start = 4 + $s[1];
|
||||
$ret['c'] = 0;
|
||||
|
||||
for ($i = 0; $i < $info[1]; $i++) {
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
$start += 4;
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
$start += $len[1];
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
|
||||
|
||||
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
$ret['m'][$savepath][3] = sprintf('%u', $ret['m'][$savepath][3]
|
||||
& 0xffffffff);
|
||||
$ret['m'][$savepath][7] = $o;
|
||||
@@ -314,7 +320,7 @@ $data = bzdecompress($data);
|
||||
|
||||
if (strlen($data) != $entry[0]) {
|
||||
die("Invalid internal .phar file (size error " . strlen($data) . " != " .
|
||||
$stat[7] . ")");
|
||||
$entry[0] . ")");
|
||||
}
|
||||
|
||||
if ($entry[3] != sprintf("%u", crc32($data) & 0xffffffff)) {
|
||||
@@ -348,7 +354,7 @@ __HALT_COMPILER(); ?>
|
||||
"
|
||||
============================================================================
|
||||
============================================================================
|
||||
string(6654) "<?php
|
||||
string(6672) "<?php
|
||||
|
||||
$web = 'index.php';
|
||||
|
||||
@@ -424,7 +430,7 @@ exit;
|
||||
$a = realpath(Extract_Phar::$temp . DIRECTORY_SEPARATOR . $pt);
|
||||
if (!$a || strlen(dirname($a)) < strlen(Extract_Phar::$temp)) {
|
||||
header('HTTP/1.0 404 Not Found');
|
||||
echo "<html>\n <head>\n <title>File Not Found<title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
echo "<html>\n <head>\n <title>File Not Found</title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
exit;
|
||||
}
|
||||
$b = pathinfo($a);
|
||||
@@ -458,13 +464,13 @@ const GZ = 0x1000;
|
||||
const BZ2 = 0x2000;
|
||||
const MASK = 0x3000;
|
||||
const START = 'my/custom/thingy.php';
|
||||
const LEN = 6654;
|
||||
const LEN = 6672;
|
||||
|
||||
static function go($return = false)
|
||||
{
|
||||
$fp = fopen(__FILE__, 'rb');
|
||||
fseek($fp, self::LEN);
|
||||
$L = unpack('V', $a = fread($fp, 4));
|
||||
$L = unpack('V', $a = (string)fread($fp, 4));
|
||||
$m = '';
|
||||
|
||||
do {
|
||||
@@ -472,7 +478,7 @@ $read = 8192;
|
||||
if ($L[1] - strlen($m) < 8192) {
|
||||
$read = $L[1] - strlen($m);
|
||||
}
|
||||
$last = fread($fp, $read);
|
||||
$last = (string)fread($fp, $read);
|
||||
$m .= $last;
|
||||
} while (strlen($last) && strlen($m) < $L[1]);
|
||||
|
||||
@@ -563,7 +569,8 @@ return realpath('/tmp');
|
||||
static function _unpack($m)
|
||||
{
|
||||
$info = unpack('V', substr($m, 0, 4));
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
$m = substr($m, 14 + $l[1]);
|
||||
$s = unpack('V', substr($m, 0, 4));
|
||||
$o = 0;
|
||||
@@ -571,11 +578,16 @@ $start = 4 + $s[1];
|
||||
$ret['c'] = 0;
|
||||
|
||||
for ($i = 0; $i < $info[1]; $i++) {
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
$start += 4;
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
$start += $len[1];
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
|
||||
|
||||
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
$ret['m'][$savepath][3] = sprintf('%u', $ret['m'][$savepath][3]
|
||||
& 0xffffffff);
|
||||
$ret['m'][$savepath][7] = $o;
|
||||
@@ -609,7 +621,7 @@ $data = bzdecompress($data);
|
||||
|
||||
if (strlen($data) != $entry[0]) {
|
||||
die("Invalid internal .phar file (size error " . strlen($data) . " != " .
|
||||
$stat[7] . ")");
|
||||
$entry[0] . ")");
|
||||
}
|
||||
|
||||
if ($entry[3] != sprintf("%u", crc32($data) & 0xffffffff)) {
|
||||
@@ -643,7 +655,7 @@ __HALT_COMPILER(); ?>
|
||||
"
|
||||
============================================================================
|
||||
============================================================================
|
||||
string(6656) "<?php
|
||||
string(6674) "<?php
|
||||
|
||||
$web = 'the/web.php';
|
||||
|
||||
@@ -719,7 +731,7 @@ exit;
|
||||
$a = realpath(Extract_Phar::$temp . DIRECTORY_SEPARATOR . $pt);
|
||||
if (!$a || strlen(dirname($a)) < strlen(Extract_Phar::$temp)) {
|
||||
header('HTTP/1.0 404 Not Found');
|
||||
echo "<html>\n <head>\n <title>File Not Found<title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
echo "<html>\n <head>\n <title>File Not Found</title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>";
|
||||
exit;
|
||||
}
|
||||
$b = pathinfo($a);
|
||||
@@ -753,13 +765,13 @@ const GZ = 0x1000;
|
||||
const BZ2 = 0x2000;
|
||||
const MASK = 0x3000;
|
||||
const START = 'my/custom/thingy.php';
|
||||
const LEN = 6656;
|
||||
const LEN = 6674;
|
||||
|
||||
static function go($return = false)
|
||||
{
|
||||
$fp = fopen(__FILE__, 'rb');
|
||||
fseek($fp, self::LEN);
|
||||
$L = unpack('V', $a = fread($fp, 4));
|
||||
$L = unpack('V', $a = (string)fread($fp, 4));
|
||||
$m = '';
|
||||
|
||||
do {
|
||||
@@ -767,7 +779,7 @@ $read = 8192;
|
||||
if ($L[1] - strlen($m) < 8192) {
|
||||
$read = $L[1] - strlen($m);
|
||||
}
|
||||
$last = fread($fp, $read);
|
||||
$last = (string)fread($fp, $read);
|
||||
$m .= $last;
|
||||
} while (strlen($last) && strlen($m) < $L[1]);
|
||||
|
||||
@@ -858,7 +870,8 @@ return realpath('/tmp');
|
||||
static function _unpack($m)
|
||||
{
|
||||
$info = unpack('V', substr($m, 0, 4));
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
|
||||
$l = unpack('V', substr($m, 10, 4));
|
||||
$m = substr($m, 14 + $l[1]);
|
||||
$s = unpack('V', substr($m, 0, 4));
|
||||
$o = 0;
|
||||
@@ -866,11 +879,16 @@ $start = 4 + $s[1];
|
||||
$ret['c'] = 0;
|
||||
|
||||
for ($i = 0; $i < $info[1]; $i++) {
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
|
||||
$len = unpack('V', substr($m, $start, 4));
|
||||
$start += 4;
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
|
||||
$savepath = substr($m, $start, $len[1]);
|
||||
$start += $len[1];
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
|
||||
|
||||
|
||||
$ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24)));
|
||||
$ret['m'][$savepath][3] = sprintf('%u', $ret['m'][$savepath][3]
|
||||
& 0xffffffff);
|
||||
$ret['m'][$savepath][7] = $o;
|
||||
@@ -904,7 +922,7 @@ $data = bzdecompress($data);
|
||||
|
||||
if (strlen($data) != $entry[0]) {
|
||||
die("Invalid internal .phar file (size error " . strlen($data) . " != " .
|
||||
$stat[7] . ")");
|
||||
$entry[0] . ")");
|
||||
}
|
||||
|
||||
if ($entry[3] != sprintf("%u", crc32($data) & 0xffffffff)) {
|
||||
@@ -938,5 +956,5 @@ __HALT_COMPILER(); ?>
|
||||
"
|
||||
============================================================================
|
||||
============================================================================
|
||||
int(7034)
|
||||
int(7052)
|
||||
Illegal filename passed in for stub creation, was 401 characters long, and only 400 or less is allowed
|
||||
|
||||
@@ -45,11 +45,11 @@ __HALT_COMPILER();
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
int(6641)
|
||||
int(6659)
|
||||
bool(true)
|
||||
string(60) "<?php // tar-based phar archive stub file
|
||||
__HALT_COMPILER();"
|
||||
bool(true)
|
||||
int(6641)
|
||||
int(6659)
|
||||
bool(true)
|
||||
int(6641)
|
||||
int(6659)
|
||||
|
||||
@@ -47,13 +47,13 @@ __HALT_COMPILER();
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
int(6641)
|
||||
int(6659)
|
||||
bool(true)
|
||||
string(60) "<?php // tar-based phar archive stub file
|
||||
__HALT_COMPILER();"
|
||||
bool(true)
|
||||
int(4096)
|
||||
int(6641)
|
||||
int(6659)
|
||||
bool(true)
|
||||
bool(true)
|
||||
int(6641)
|
||||
int(6659)
|
||||
|
||||
@@ -46,13 +46,13 @@ unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar');
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
int(6641)
|
||||
int(6659)
|
||||
bool(true)
|
||||
string(60) "<?php // tar-based phar archive stub file
|
||||
__HALT_COMPILER();"
|
||||
bool(true)
|
||||
int(8192)
|
||||
int(6641)
|
||||
int(6659)
|
||||
bool(true)
|
||||
bool(true)
|
||||
int(6641)
|
||||
int(6659)
|
||||
|
||||
@@ -51,7 +51,7 @@ unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar');
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
int(6641)
|
||||
int(6659)
|
||||
string(2) "hi"
|
||||
bool(true)
|
||||
string(60) "<?php // tar-based phar archive stub file
|
||||
@@ -59,9 +59,9 @@ __HALT_COMPILER();"
|
||||
string(2) "hi"
|
||||
bool(true)
|
||||
int(4096)
|
||||
int(6641)
|
||||
int(6659)
|
||||
string(2) "hi"
|
||||
bool(true)
|
||||
bool(true)
|
||||
int(6641)
|
||||
int(6659)
|
||||
string(2) "hi"
|
||||
|
||||
@@ -45,11 +45,11 @@ __HALT_COMPILER();
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
int(6641)
|
||||
int(6659)
|
||||
bool(true)
|
||||
string(60) "<?php // zip-based phar archive stub file
|
||||
__HALT_COMPILER();"
|
||||
bool(true)
|
||||
int(6641)
|
||||
int(6659)
|
||||
bool(true)
|
||||
int(6641)
|
||||
int(6659)
|
||||
|
||||
Reference in New Issue
Block a user