summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Beaver <cellog@php.net>2008-01-22 20:24:52 +0000
committerGreg Beaver <cellog@php.net>2008-01-22 20:24:52 +0000
commit47a60c4f16995fbba533dc71054278fd2a724a85 (patch)
treebcd900caa1d4c820845d3bbd2ba8ac1b220472c8
parent34afc9ae6e6a42200d828816c87420bb224764f0 (diff)
downloadphp-git-47a60c4f16995fbba533dc71054278fd2a724a85.tar.gz
fix 2 tests, add phar.readonly checks to rmdir/mkdir
-rw-r--r--ext/phar/dirstream.c10
-rw-r--r--ext/phar/tests/phar_convert_tar3.phpt4
-rw-r--r--ext/phar/tests/tar/phar_convert_phar3.phpt4
3 files changed, 14 insertions, 4 deletions
diff --git a/ext/phar/dirstream.c b/ext/phar/dirstream.c
index 1ff835aa3b..0d43af991c 100644
--- a/ext/phar/dirstream.c
+++ b/ext/phar/dirstream.c
@@ -406,6 +406,11 @@ int phar_wrapper_mkdir(php_stream_wrapper *wrapper, char *url_from, int mode, in
php_url *resource = NULL;
uint host_len;
+ if (PHAR_G(readonly)) {
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: cannot create directory \"%s\", write operations disabled", url_from);
+ return FAILURE;
+ }
+
if ((resource = phar_open_url(wrapper, url_from, "w", options TSRMLS_CC)) == NULL) {
return FAILURE;
}
@@ -506,6 +511,11 @@ int phar_wrapper_rmdir(php_stream_wrapper *wrapper, char *url, int options, php_
php_url *resource = NULL;
uint host_len;
+ if (PHAR_G(readonly)) {
+ php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: cannot rmdir directory \"%s\", write operations disabled", url);
+ return FAILURE;
+ }
+
if ((resource = phar_open_url(wrapper, url, "w", options TSRMLS_CC)) == NULL) {
return FAILURE;
}
diff --git a/ext/phar/tests/phar_convert_tar3.phpt b/ext/phar/tests/phar_convert_tar3.phpt
index 5dbd5e8033..1623cec0f8 100644
--- a/ext/phar/tests/phar_convert_tar3.phpt
+++ b/ext/phar/tests/phar_convert_tar3.phpt
@@ -25,7 +25,7 @@ include 'phar_test.inc';
$phar = new Phar($fname);
$phar->convertToTar(Phar::BZ2);
var_dump($phar->isTar());
-var_dump($phar->isCompressed() === 0);
+var_dump($phar->isCompressed());
copy($fname, $fname2);
$phar = new Phar($fname2);
@@ -41,7 +41,7 @@ __HALT_COMPILER();
?>
--EXPECT--
bool(true)
-bool(true)
+bool(false)
bool(true)
bool(true)
===DONE===
diff --git a/ext/phar/tests/tar/phar_convert_phar3.phpt b/ext/phar/tests/tar/phar_convert_phar3.phpt
index c3966c8ba5..23d3a3a81f 100644
--- a/ext/phar/tests/tar/phar_convert_phar3.phpt
+++ b/ext/phar/tests/tar/phar_convert_phar3.phpt
@@ -20,7 +20,7 @@ $phar['a'] = 'hi there';
$phar = new Phar($fname);
$phar->convertToPhar(Phar::BZ2);
var_dump($phar->isPhar());
-var_dump($phar->isCompressed() === 0);
+var_dump($phar->isCompressed());
copy($fname, $fname2);
$phar = new Phar($fname2);
@@ -37,7 +37,7 @@ __HALT_COMPILER();
--EXPECT--
bool(true)
bool(true)
-bool(true)
+bool(false)
bool(true)
bool(true)
===DONE===