summaryrefslogtreecommitdiff
path: root/ext/standard/tests/streams
diff options
context:
space:
mode:
authorSara Golemon <pollita@php.net>2017-01-09 16:08:31 -0800
committerSara Golemon <pollita@php.net>2017-01-09 16:08:31 -0800
commit4fb70c7577a1df8615091d04e72a32fbf61c9b71 (patch)
treeb83e8f5f9f788d5403a0b3f0f2871731a6152d9b /ext/standard/tests/streams
parent18904aa3e2fa73a43c5b1b552134cf38a0302f7c (diff)
parent005ba2001ddc0e84ae62e00aa4956899f85c50f8 (diff)
downloadphp-git-4fb70c7577a1df8615091d04e72a32fbf61c9b71.tar.gz
Merge branch 'PHP-7.1'
* PHP-7.1: Fix open_basedir check for glob:// opendir wrapper
Diffstat (limited to 'ext/standard/tests/streams')
-rw-r--r--ext/standard/tests/streams/glob-wrapper.phpt35
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/standard/tests/streams/glob-wrapper.phpt b/ext/standard/tests/streams/glob-wrapper.phpt
new file mode 100644
index 0000000000..fc47d83a02
--- /dev/null
+++ b/ext/standard/tests/streams/glob-wrapper.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Glob wrapper bypasses open_basedir
+--INI--
+open_basedir=/does_not_exist
+--SKIPIF--
+<?php
+if (!in_array("glob", stream_get_wrappers())) echo "skip";
+--FILE--
+<?php
+
+foreach ( [ __DIR__, "glob://".__DIR__ ] as $spec) {
+ echo "** Opening $spec\n";
+ $dir = opendir($spec);
+ if (!$dir) {
+ echo "Failed to open $spec\n";
+ continue;
+ }
+ if (false === readdir($dir)) {
+ echo "No files in $spec\n";
+ continue;
+ }
+}
+--EXPECTF--
+** Opening %s
+
+Warning: opendir(): open_basedir restriction in effect. File(/%s) is not within the allowed path(s): (/does_not_exist) in %s/glob-wrapper.php on line 5
+
+Warning: opendir(/%s): failed to open dir: Operation not permitted in %s/glob-wrapper.php on line 5
+Failed to open /%s
+** Opening glob://%s
+
+Warning: opendir(): open_basedir restriction in effect. File(/%s) is not within the allowed path(s): (/does_not_exist) in %s/glob-wrapper.php on line 5
+
+Warning: opendir(glob://%s): failed to open dir: operation failed in %s/glob-wrapper.php on line 5
+Failed to open glob://%s