mirror of
https://github.com/php/php-src.git
synced 2024-09-30 14:26:12 +00:00
fba290c061
Newer versions of libcurl prevent file:// location response headers by default, which means that the open_basedir check is unnecessary — the fact CURLOPT_REDIR_PROTOCOLS can't set CURLPROTO_FILE with open_basedir enabled means that there's no possibility of breaching the open_basedir restriction, and this allows HTTP redirects to be followed automatically. Implements FR #65646 (re-enable CURLOPT_FOLLOWLOCATION with open_basedir or safe_mode).
19 lines
587 B
PHP
19 lines
587 B
PHP
--TEST--
|
|
Bug #65646 (re-enable CURLOPT_FOLLOWLOCATION with open_basedir or safe_mode): open_basedir enabled; curl < 7.19.4
|
|
--INI--
|
|
open_basedir=.
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded('curl')) exit("skip curl extension not loaded");
|
|
if (version_compare(curl_version()['version'], '7.19.4', '>=')) exit("skip curl version is too new");
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
$ch = curl_init();
|
|
var_dump(curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true));
|
|
curl_close($ch);
|
|
?>
|
|
--EXPECTF--
|
|
Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir is set in %s on line %d
|
|
bool(false)
|