diff options
| author | xXx-caillou-xXx | 2018-08-27 13:56:44 +0200 |
|---|---|---|
| committer | jvoisin | 2018-08-27 11:56:44 +0000 |
| commit | 096e7faa6a5e21e5416a7c8c484e27acd4636a66 (patch) | |
| tree | 3dd11a05c4406280238459be917b8f47d22400f7 /src/tests | |
| parent | 6abdd9abca50c92390b94fbebb3e7065d5d532da (diff) | |
Add whitelist support for php's wrappers
Diffstat (limited to 'src/tests')
| -rw-r--r-- | src/tests/config/config_stream_wrapper.ini | 1 | ||||
| -rw-r--r-- | src/tests/config/config_stream_wrapper_register.ini | 1 | ||||
| -rw-r--r-- | src/tests/stream_wrapper.phpt | 31 | ||||
| -rw-r--r-- | src/tests/stream_wrapper_register.phpt | 25 | ||||
| -rw-r--r-- | src/tests/stream_wrapper_restore.phpt | 17 |
5 files changed, 75 insertions, 0 deletions
diff --git a/src/tests/config/config_stream_wrapper.ini b/src/tests/config/config_stream_wrapper.ini new file mode 100644 index 0000000..0cd7f77 --- /dev/null +++ b/src/tests/config/config_stream_wrapper.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.wrappers_whitelist.list("https,FTP,does_not_exist"); | |||
diff --git a/src/tests/config/config_stream_wrapper_register.ini b/src/tests/config/config_stream_wrapper_register.ini new file mode 100644 index 0000000..ee273a1 --- /dev/null +++ b/src/tests/config/config_stream_wrapper_register.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.wrappers_whitelist.list("php,lelel"); | |||
diff --git a/src/tests/stream_wrapper.phpt b/src/tests/stream_wrapper.phpt new file mode 100644 index 0000000..b4e49a0 --- /dev/null +++ b/src/tests/stream_wrapper.phpt | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | --TEST-- | ||
| 2 | Stream wrapper | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_stream_wrapper.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | file_get_contents('http://qweqwezxc'); | ||
| 10 | file_get_contents('https://qweqwezxc'); | ||
| 11 | file_get_contents('ftp://qweqwezxc'); | ||
| 12 | file_get_contents('lelel://qweqwezxc'); | ||
| 13 | ?> | ||
| 14 | --EXPECTF-- | ||
| 15 | Warning: Unknown: Unable to find the wrapper "php" - did you forget to enable it when you configured PHP? in Unknown on line 0 | ||
| 16 | |||
| 17 | Warning: Unknown: Unable to find the wrapper "php" - did you forget to enable it when you configured PHP? in Unknown on line 0 | ||
| 18 | |||
| 19 | Warning: Unknown: Unable to find the wrapper "php" - did you forget to enable it when you configured PHP? in Unknown on line 0 | ||
| 20 | |||
| 21 | Warning: file_get_contents(): Unable to find the wrapper "http" - did you forget to enable it when you configured PHP? in %a/tests/stream_wrapper.php on line %d | ||
| 22 | |||
| 23 | Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in %a/tests/stream_wrapper.php on line %d | ||
| 24 | |||
| 25 | Warning: file_get_contents(https://qweqwezxc): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in %a/tests/stream_wrapper.php on line %d | ||
| 26 | |||
| 27 | Warning: file_get_contents(ftp://qweqwezxc): failed to open stream: operation failed in %a/tests/stream_wrapper.php on line %d | ||
| 28 | |||
| 29 | Warning: file_get_contents(): Unable to find the wrapper "lelel" - did you forget to enable it when you configured PHP? in %a/tests/stream_wrapper.php on line %d | ||
| 30 | |||
| 31 | Warning: file_get_contents(lelel://qweqwezxc): failed to open stream: No such file or directory in %a/tests/stream_wrapper.php on line %d | ||
diff --git a/src/tests/stream_wrapper_register.phpt b/src/tests/stream_wrapper_register.phpt new file mode 100644 index 0000000..31e53ea --- /dev/null +++ b/src/tests/stream_wrapper_register.phpt | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | --TEST-- | ||
| 2 | Stream wrapper | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_stream_wrapper_register.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | class qwe { | ||
| 10 | function stream_open($fname) { | ||
| 11 | return $fname; | ||
| 12 | } | ||
| 13 | } | ||
| 14 | |||
| 15 | stream_wrapper_register("lelel", "qwe"); | ||
| 16 | stream_wrapper_register("lolol", "qwe"); | ||
| 17 | fopen("lelel://asdasd", "r"); | ||
| 18 | fopen("lolol://asdasd", "r"); | ||
| 19 | ?> | ||
| 20 | --EXPECTF-- | ||
| 21 | Warning: fopen(): Unable to find the wrapper "lolol" - did you forget to enable it when you configured PHP? in %a/tests/stream_wrapper_register.php on line %d | ||
| 22 | |||
| 23 | Warning: fopen(): file:// wrapper is disabled in the server configuration in %a/tests/stream_wrapper_register.php on line %d | ||
| 24 | |||
| 25 | Warning: fopen(lolol://asdasd): failed to open stream: no suitable wrapper could be found in %a/tests/stream_wrapper_register.php on line %d | ||
diff --git a/src/tests/stream_wrapper_restore.phpt b/src/tests/stream_wrapper_restore.phpt new file mode 100644 index 0000000..c1bce3b --- /dev/null +++ b/src/tests/stream_wrapper_restore.phpt | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | --TEST-- | ||
| 2 | Stream wrapper | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_stream_wrapper_register.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | stream_wrapper_restore("file"); | ||
| 10 | fopen("file://asdasd", "r"); | ||
| 11 | ?> | ||
| 12 | --EXPECTF-- | ||
| 13 | Notice: stream_wrapper_restore(): file:// was never changed, nothing to restore in %a/tests/stream_wrapper_restore.php on line %d | ||
| 14 | |||
| 15 | Warning: fopen(): Unable to find the wrapper "file" - did you forget to enable it when you configured PHP? in %a/tests/stream_wrapper_restore.php on line %d | ||
| 16 | |||
| 17 | Warning: fopen(file://asdasd): failed to open stream: No such file or directory in %a/tests/stream_wrapper_restore.php on line %d | ||
