From: Greg Beaver Date: Wed, 7 May 2008 05:38:31 +0000 (+0000) Subject: [DOC] X-Git-Tag: RELEASE_2_0_0b1~73 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=549bf83bd132c5e9bf120194f4e6fab9cbd8c30c;p=php [DOC] remove phar.extract_list remove Phar::getExtractList() --- diff --git a/ext/phar/dirstream.c b/ext/phar/dirstream.c index e7d2b7e1aa..11088ead5b 100644 --- a/ext/phar/dirstream.c +++ b/ext/phar/dirstream.c @@ -289,7 +289,7 @@ php_stream *phar_wrapper_open_dir(php_stream_wrapper *wrapper, char *path, char { php_url *resource = NULL; php_stream *ret; - char *internal_file, *key, *error, *plain_map; + char *internal_file, *key, *error; uint keylen; ulong unused; phar_archive_data *phar; @@ -321,16 +321,6 @@ php_stream *phar_wrapper_open_dir(php_stream_wrapper *wrapper, char *path, char host_len = strlen(resource->host); phar_request_initialize(TSRMLS_C); - if (zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), resource->host, host_len+1, (void **)&plain_map) == SUCCESS) { - spprintf(&internal_file, 0, "%s%s", plain_map, resource->path); - ret = php_stream_opendir(internal_file, options, context); - if (!ret) { - php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: file \"%s\" extracted from \"%s\" could not be opened", internal_file, resource->host); - } - php_url_free(resource); - efree(internal_file); - return ret; - } internal_file = resource->path + 1; /* strip leading "/" */ if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, &error TSRMLS_CC)) { @@ -405,7 +395,6 @@ int phar_wrapper_mkdir(php_stream_wrapper *wrapper, char *url_from, int mode, in phar_archive_data *phar = NULL; char *error, *arch, *entry2; int arch_len, entry_len; - char *plain_map; php_url *resource = NULL; uint host_len; @@ -443,11 +432,6 @@ int phar_wrapper_mkdir(php_stream_wrapper *wrapper, char *url_from, int mode, in host_len = strlen(resource->host); phar_request_initialize(TSRMLS_C); - if (zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), resource->host, host_len+1, (void **)&plain_map) == SUCCESS) { - php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: directory \"%s\" cannot be created in phar \"%s\", phar is extracted in plain map", resource->path+1, resource->host); - php_url_free(resource); - return FAILURE; - } if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, &error TSRMLS_CC)) { php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: cannot create directory \"%s\" in phar \"%s\", error retrieving phar information: %s", resource->path+1, resource->host, error); @@ -530,7 +514,6 @@ int phar_wrapper_rmdir(php_stream_wrapper *wrapper, char *url, int options, php_ phar_archive_data *phar = NULL; char *error, *arch, *entry2; int arch_len, entry_len; - char *plain_map; php_url *resource = NULL; uint host_len; @@ -568,11 +551,6 @@ int phar_wrapper_rmdir(php_stream_wrapper *wrapper, char *url, int options, php_ host_len = strlen(resource->host); phar_request_initialize(TSRMLS_C); - if (zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), resource->host, host_len+1, (void **)&plain_map) == SUCCESS) { - php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: directory \"%s\" cannot be removed in phar \"%s\", phar is extracted in plain map", resource->path+1, resource->host); - php_url_free(resource); - return FAILURE; - } if (FAILURE == phar_get_archive(&phar, resource->host, host_len, NULL, 0, &error TSRMLS_CC)) { php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: cannot remove directory \"%s\" in phar \"%s\", error retrieving phar information: %s", resource->path+1, resource->host, error); diff --git a/ext/phar/phar.c b/ext/phar/phar.c index 75c86853af..d31bb71e6e 100644 --- a/ext/phar/phar.c +++ b/ext/phar/phar.c @@ -94,103 +94,9 @@ ZEND_INI_MH(phar_ini_modify_handler) /* {{{ */ } /* }}}*/ -static void phar_split_extract_list(TSRMLS_D) -{ - char *tmp = estrdup(PHAR_GLOBALS->extract_list); - char *key; - char *lasts; - char *q; - int keylen; - - zend_hash_clean(&(PHAR_GLOBALS->phar_plain_map)); - - for (key = php_strtok_r(tmp, ",", &lasts); - key; - key = php_strtok_r(NULL, ",", &lasts)) - { - char *val = strchr(key, '='); - - if (val) { - *val++ = '\0'; - for (q = key; *q; q++) { - *q = tolower(*q); - } - keylen = q - key + 1; - zend_hash_add(&(PHAR_GLOBALS->phar_plain_map), key, keylen, val, strlen(val)+1, NULL); - } - } - efree(tmp); -} -/* }}} */ - -ZEND_INI_MH(phar_ini_extract_list) /* {{{ */ -{ - PHAR_G(extract_list) = new_value; - - if (stage == ZEND_INI_STAGE_RUNTIME) { - phar_request_initialize(TSRMLS_C); - phar_split_extract_list(TSRMLS_C); - } - - return SUCCESS; -} -/* }}} */ - -ZEND_INI_DISP(phar_ini_extract_list_disp) /*void name(zend_ini_entry *ini_entry, int type) {{{ */ -{ - char *value; - - if (type==ZEND_INI_DISPLAY_ORIG && ini_entry->modified) { - value = ini_entry->orig_value; - } else if (ini_entry->value) { - value = ini_entry->value; - } else { - value = NULL; - } - - if (value) { - char *tmp = strdup(value); - char *key; - char *lasts; - char *q; - int started = 0; - - if (!sapi_module.phpinfo_as_text) { - php_printf(""); - } - free(tmp); - } -} -/* }}} */ - PHP_INI_BEGIN() STD_PHP_INI_BOOLEAN( "phar.readonly", "1", PHP_INI_ALL, phar_ini_modify_handler, readonly, zend_phar_globals, phar_globals) STD_PHP_INI_BOOLEAN( "phar.require_hash", "1", PHP_INI_ALL, phar_ini_modify_handler, require_hash, zend_phar_globals, phar_globals) - STD_PHP_INI_ENTRY_EX("phar.extract_list", "", PHP_INI_ALL, phar_ini_extract_list, extract_list, zend_phar_globals, phar_globals, phar_ini_extract_list_disp) PHP_INI_END() /** @@ -1592,50 +1498,7 @@ int phar_detect_phar_fname_ext(const char *filename, int check_length, const cha return FAILURE; } phar_request_initialize(TSRMLS_C); - /* first check for extract_list */ - if (zend_hash_num_elements(&(PHAR_GLOBALS->phar_plain_map))) { - for (zend_hash_internal_pointer_reset(&(PHAR_GLOBALS->phar_plain_map)); - zend_hash_has_more_elements(&(PHAR_GLOBALS->phar_plain_map)) == SUCCESS; - zend_hash_move_forward(&(PHAR_GLOBALS->phar_plain_map))) { - char *key; - uint keylen; - ulong intkey; - - if (HASH_KEY_IS_STRING != zend_hash_get_current_key_ex(&(PHAR_GLOBALS->phar_plain_map), &key, &keylen, &intkey, 0, NULL)) { - continue; - } - - if (keylen <= (uint) filename_len && !memcmp(key, filename, keylen - 1)) { - /* found plain map, so we grab the extension, if any */ - if (is_complete && keylen != (uint)filename_len + 1) { - continue; - } - if (for_create == 1) { - return FAILURE; - } - if (!executable == 1) { - return FAILURE; - } - pos = strrchr(key, '/'); - if (pos) { - pos = filename + (pos - key); - slash = strchr(pos, '.'); - if (slash) { - *ext_str = slash; - *ext_len = keylen - (slash - filename); - return SUCCESS; - } - *ext_str = pos; - *ext_len = -1; - return FAILURE; - } - *ext_str = filename + keylen - 1; - *ext_len = -1; - return FAILURE; - } - } - } - /* next check for alias in first segment */ + /* first check for alias in first segment */ pos = strchr(filename, '/'); if (pos) { if (zend_hash_exists(&(PHAR_GLOBALS->phar_alias_map), (char *) filename, pos - filename)) { @@ -3016,9 +2879,7 @@ void phar_request_initialize(TSRMLS_D) /* {{{ */ PHAR_GLOBALS->request_done = 0; zend_hash_init(&(PHAR_GLOBALS->phar_fname_map), sizeof(phar_archive_data*), zend_get_hash_value, destroy_phar_data, 0); zend_hash_init(&(PHAR_GLOBALS->phar_alias_map), sizeof(phar_archive_data*), zend_get_hash_value, NULL, 0); - zend_hash_init(&(PHAR_GLOBALS->phar_plain_map), sizeof(const char *), zend_get_hash_value, NULL, 0); zend_hash_init(&(PHAR_GLOBALS->phar_SERVER_mung_list), sizeof(const char *), zend_get_hash_value, NULL, 0); - phar_split_extract_list(TSRMLS_C); PHAR_G(cwd) = NULL; PHAR_G(cwd_len) = 0; PHAR_G(cwd_init) = 0; @@ -3037,8 +2898,6 @@ PHP_RSHUTDOWN_FUNCTION(phar) /* {{{ */ PHAR_GLOBALS->phar_alias_map.arBuckets = NULL; zend_hash_destroy(&(PHAR_GLOBALS->phar_fname_map)); PHAR_GLOBALS->phar_fname_map.arBuckets = NULL; - zend_hash_destroy(&(PHAR_GLOBALS->phar_plain_map)); - PHAR_GLOBALS->phar_plain_map.arBuckets = NULL; zend_hash_destroy(&(PHAR_GLOBALS->phar_SERVER_mung_list)); PHAR_GLOBALS->phar_SERVER_mung_list.arBuckets = NULL; PHAR_GLOBALS->request_init = 0; diff --git a/ext/phar/phar_internal.h b/ext/phar/phar_internal.h index f8b62fb8c9..d6a7eaa7ea 100755 --- a/ext/phar/phar_internal.h +++ b/ext/phar/phar_internal.h @@ -135,9 +135,7 @@ ZEND_BEGIN_MODULE_GLOBALS(phar) HashTable phar_fname_map; HashTable phar_alias_map; - HashTable phar_plain_map; HashTable phar_SERVER_mung_list; - char* extract_list; int readonly; zend_bool readonly_orig; zend_bool require_hash_orig; diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index cd7e9a2187..22982c5ca1 100755 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -30,28 +30,6 @@ static zend_class_entry *phar_ce_PharException; static zend_class_entry *phar_ce_entry; #endif -static int phar_get_extract_list(void *pDest, int num_args, va_list args, zend_hash_key *hash_key) /* {{{ */ -{ - zval *return_value = va_arg(args, zval*); - - add_assoc_string_ex(return_value, *(char**)&hash_key->arKey, hash_key->nKeyLength, (char*)pDest, 1); - - return ZEND_HASH_APPLY_KEEP; -} -/* }}} */ - -/* {{{ proto array Phar::getExtractList() - * Return array of extract list - */ -PHP_METHOD(Phar, getExtractList) -{ - array_init(return_value); - - phar_request_initialize(TSRMLS_C); - zend_hash_apply_with_arguments(&PHAR_G(phar_plain_map), phar_get_extract_list, 1, return_value); -} -/* }}} */ - static int phar_file_type(HashTable *mimes, char *file, char **mime_type TSRMLS_DC) /* {{{ */ { char *ext; @@ -528,7 +506,7 @@ PHP_METHOD(Phar, webPhar) HashTable mimetypes; phar_mime_type mime; zval *mimeoverride = NULL, *rewrite = NULL; - char *alias = NULL, *error, *plain_map, *index_php = NULL, *f404 = NULL, *ru = NULL; + char *alias = NULL, *error, *index_php = NULL, *f404 = NULL, *ru = NULL; int alias_len = 0, ret, f404_len = 0, free_pathinfo = 0, ru_len = 0; char *fname, *basename, *path_info, *mime_type, *entry, *pt; int fname_len, entry_len, code, index_php_len = 0, not_cgi; @@ -541,15 +519,6 @@ PHP_METHOD(Phar, webPhar) phar_request_initialize(TSRMLS_C); fname = zend_get_executed_filename(TSRMLS_C); fname_len = strlen(fname); - if (zend_hash_num_elements(&(PHAR_GLOBALS->phar_plain_map))) { - if((alias && - zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), alias, alias_len+1, (void **)&plain_map) == SUCCESS) - || (zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), fname, fname_len+1, (void **)&plain_map) == SUCCESS) - ) { - zend_throw_exception_ex(phar_ce_PharException, 0 TSRMLS_CC, "Cannot use Phar::webPhar() from an extracted phar archive, simply use the extracted files directly"); - return; - } - } if (phar_open_compiled_file(alias, alias_len, &error TSRMLS_CC) != SUCCESS) { if (error) { zend_throw_exception_ex(phar_ce_PharException, 0 TSRMLS_CC, error); @@ -983,24 +952,14 @@ PHP_METHOD(Phar, createDefaultStub) * Reads the currently executed file (a phar) and registers its manifest */ PHP_METHOD(Phar, mapPhar) { - char *fname, *alias = NULL, *error, *plain_map; - int fname_len, alias_len = 0; + char *alias = NULL, *error; + int alias_len = 0; long dataoffset = 0; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s!l", &alias, &alias_len, &dataoffset) == FAILURE) { return; } phar_request_initialize(TSRMLS_C); - if (zend_hash_num_elements(&(PHAR_GLOBALS->phar_plain_map))) { - fname = zend_get_executed_filename(TSRMLS_C); - fname_len = strlen(fname); - if((alias && - zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), alias, alias_len+1, (void **)&plain_map) == SUCCESS) - || (zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), fname, fname_len+1, (void **)&plain_map) == SUCCESS) - ) { - RETURN_STRING(plain_map, 1); - } - } RETVAL_BOOL(phar_open_compiled_file(alias, alias_len, &error TSRMLS_CC) == SUCCESS); if (error) { @@ -1013,7 +972,7 @@ PHP_METHOD(Phar, mapPhar) * Loads any phar archive with an alias */ PHP_METHOD(Phar, loadPhar) { - char *fname, *alias = NULL, *error, *plain_map; + char *fname, *alias = NULL, *error; int fname_len, alias_len = 0; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s!", &fname, &fname_len, &alias, &alias_len) == FAILURE) { @@ -1021,14 +980,6 @@ PHP_METHOD(Phar, loadPhar) } phar_request_initialize(TSRMLS_C); - if (zend_hash_num_elements(&(PHAR_GLOBALS->phar_plain_map))) { - if((alias && - zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), alias, alias_len+1, (void **)&plain_map) == SUCCESS) - || (zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), fname, fname_len+1, (void **)&plain_map) == SUCCESS) - ) { - RETURN_STRING(plain_map, 1); - } - } RETVAL_BOOL(phar_open_filename(fname, fname_len, alias, alias_len, REPORT_ERRORS, NULL, &error TSRMLS_CC) == SUCCESS); if (error) { @@ -4533,7 +4484,6 @@ zend_function_entry php_archive_methods[] = { PHP_ME(Phar, canCompress, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL) PHP_ME(Phar, canWrite, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL) PHP_ME(Phar, createDefaultStub, arginfo_phar_createDS, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL) - PHP_ME(Phar, getExtractList, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL) PHP_ME(Phar, getSupportedCompression,NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL) PHP_ME(Phar, getSupportedSignatures,NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL) PHP_ME(Phar, interceptFileFuncs, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL) diff --git a/ext/phar/stream.c b/ext/phar/stream.c index ac879d3cd8..3d9f14e4d4 100644 --- a/ext/phar/stream.c +++ b/ext/phar/stream.c @@ -100,9 +100,6 @@ php_url* phar_open_url(php_stream_wrapper *wrapper, char *filename, char *mode, /* fprintf(stderr, "Fragment: %s\n", resource->fragment);*/ } #endif - if (PHAR_GLOBALS->request_init && PHAR_GLOBALS->phar_plain_map.arBuckets && zend_hash_exists(&(PHAR_GLOBALS->phar_plain_map), arch, arch_len+1)) { - return resource; - } if (mode[0] == 'w' || (mode[0] == 'r' && mode[1] == '+')) { phar_archive_data **pphar = NULL; @@ -152,10 +149,9 @@ static php_stream * phar_wrapper_open_url(php_stream_wrapper *wrapper, char *pat phar_entry_data *idata; char *internal_file; char *error; - char *plain_map; HashTable *pharcontext; php_url *resource = NULL; - php_stream *fp, *fpf; + php_stream *fpf; zval **pzoption, *metadata; uint host_len; @@ -178,16 +174,6 @@ static php_stream * phar_wrapper_open_url(php_stream_wrapper *wrapper, char *pat host_len = strlen(resource->host); phar_request_initialize(TSRMLS_C); - if (zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), resource->host, host_len+1, (void **)&plain_map) == SUCCESS) { - spprintf(&internal_file, 0, "%s%s", plain_map, resource->path); - fp = php_stream_open_wrapper_ex(internal_file, mode, options, opened_path, context); - efree(internal_file); - if (!fp) { - php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: file \"%s\" extracted from \"%s\" could not be opened", resource->path+1, resource->host); - } - php_url_free(resource); - return fp; - } /* strip leading "/" */ internal_file = estrdup(resource->path + 1); @@ -515,13 +501,13 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, char *url, int flags, php_stream_statbuf *ssb, php_stream_context *context TSRMLS_DC) /* {{{ */ { php_url *resource = NULL; - char *internal_file, *key, *error, *plain_map; + char *internal_file, *key, *error; uint keylen; ulong unused; phar_archive_data *phar; phar_entry_info *entry; uint host_len; - int retval, internal_file_len; + int internal_file_len; if ((resource = phar_open_url(wrapper, url, "r", flags|PHP_STREAM_URL_STAT_QUIET TSRMLS_CC)) == NULL) { return FAILURE; @@ -540,13 +526,6 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, char *url, int flags, host_len = strlen(resource->host); phar_request_initialize(TSRMLS_C); - if (zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), resource->host, host_len+1, (void **)&plain_map) == SUCCESS) { - spprintf(&internal_file, 0, "%s%s", plain_map, resource->path); - retval = php_stream_stat_path_ex(internal_file, flags, ssb, context); - php_url_free(resource); - efree(internal_file); - return retval; - } internal_file = resource->path + 1; /* strip leading "/" */ /* find the phar in our trusty global hash indexed by alias (host of phar://blah.phar/file.whatever) */ @@ -655,7 +634,7 @@ free_resource: static int phar_wrapper_unlink(php_stream_wrapper *wrapper, char *url, int options, php_stream_context *context TSRMLS_DC) /* {{{ */ { php_url *resource; - char *internal_file, *error, *plain_map; + char *internal_file, *error; phar_entry_data *idata; phar_archive_data **pphar; uint host_len; @@ -680,11 +659,6 @@ static int phar_wrapper_unlink(php_stream_wrapper *wrapper, char *url, int optio host_len = strlen(resource->host); phar_request_initialize(TSRMLS_C); - if (zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), resource->host, host_len+1, (void **)&plain_map) == SUCCESS) { - php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "phar error: \"%s\" cannot be unlinked, phar is extracted in plain map", url); - php_url_free(resource); - return 0; - } if (FAILURE == zend_hash_find(&(PHAR_GLOBALS->phar_fname_map), resource->host, strlen(resource->host), (void **) &pphar)) { pphar = NULL; @@ -734,7 +708,7 @@ static int phar_wrapper_unlink(php_stream_wrapper *wrapper, char *url, int optio static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char *url_to, int options, php_stream_context *context TSRMLS_DC) /* {{{ */ { php_url *resource_from, *resource_to; - char *error, *plain_map; + char *error; phar_archive_data *phar, *pfrom, *pto; phar_entry_info *entry; uint host_len; @@ -812,13 +786,6 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, char *url_from, char host_len = strlen(resource_from->host); phar_request_initialize(TSRMLS_C); - if (zend_hash_find(&(PHAR_GLOBALS->phar_plain_map), resource_from->host, host_len+1, (void **)&plain_map) == SUCCESS) { - /*TODO:use php_stream_rename() once available*/ - php_url_free(resource_from); - php_url_free(resource_to); - php_error_docref(NULL TSRMLS_CC, E_WARNING, "phar error: cannot rename \"%s\" to \"%s\" from extracted phar archive", url_from, url_to); - return 0; - } if (SUCCESS != phar_get_archive(&phar, resource_from->host, strlen(resource_from->host), NULL, 0, &error TSRMLS_CC)) { php_url_free(resource_from); diff --git a/ext/phar/tests/027.phpt b/ext/phar/tests/027.phpt index 0138735a93..679fefc2cd 100755 --- a/ext/phar/tests/027.phpt +++ b/ext/phar/tests/027.phpt @@ -53,26 +53,6 @@ closedir($a); echo "opendir edge cases\n"; var_dump(opendir("phar://")); var_dump(opendir("phar://foo.phar/hi")); -echo "extract_list test\n"; -ini_set('phar.extract_list', 'test.phar=' . dirname(__FILE__) . '/ump'); -mkdir($a = dirname(__FILE__) . '/ump'); -file_put_contents($a . '/test1.txt', 'hi'); -file_put_contents($a . '/test2.txt', 'hi'); -file_put_contents($a . '/test3.txt', 'hi'); -$b = opendir('phar://test.phar/'); -$z = array(); -while (false !== ($c = readdir($b))) { - $z[] = $c; -} -sort($z); -foreach ($z as $c) { - echo "$c\n"; -} -closedir($b); -unlink($a . '/test1.txt'); -unlink($a . '/test2.txt'); -unlink($a . '/test3.txt'); -rmdir($a); ?> ===DONE=== --CLEAN-- @@ -111,10 +91,4 @@ bool(false) Warning: opendir(phar://foo.phar/hi): failed to open dir: phar error: invalid url or non-existent phar "phar://foo.phar/hi" phar url "phar://foo.phar/hi" is unknown in %s027.php on line %d bool(false) -extract_list test -. -.. -test1.txt -test2.txt -test3.txt ===DONE=== diff --git a/ext/phar/tests/dir.phpt b/ext/phar/tests/dir.phpt index a02b9d81e6..a8f9d3f889 100644 --- a/ext/phar/tests/dir.phpt +++ b/ext/phar/tests/dir.phpt @@ -49,13 +49,6 @@ ini_set('phar.readonly', 0); rmdir($pname); rmdir($pname . '/'); mkdir($pname . '/'); - -// test extract_list with rmdir/mkdir -ini_set('phar.extract_list', 'test.phar=' . dirname(__FILE__) . '/ump'); -mkdir($a = dirname(__FILE__) . '/ump'); -mkdir('phar://test.phar/test'); -rmdir('phar://test.phar/test'); -rmdir($a); ?> ===DONE=== --CLEAN-- @@ -96,8 +89,4 @@ Warning: rmdir(): phar error: cannot remove directory "" in phar "%sdir.phar.php Warning: rmdir(): phar error: cannot remove directory "" in phar "%sdir.phar.php", directory does not exist in %sdir.php on line %d Warning: mkdir(): phar error: cannot create directory "" in phar "%sdir.phar.php", phar error: invalid path "" must not be empty in %sdir.php on line %d - -Warning: mkdir(): phar error: directory "test" cannot be created in phar "test.phar", phar is extracted in plain map in %sdir.php on line %d - -Warning: rmdir(): phar error: directory "test" cannot be removed in phar "test.phar", phar is extracted in plain map in %sdir.php on line %d ===DONE=== \ No newline at end of file diff --git a/ext/phar/tests/extracted_001.phpt b/ext/phar/tests/extracted_001.phpt deleted file mode 100755 index 92dee7f076..0000000000 --- a/ext/phar/tests/extracted_001.phpt +++ /dev/null @@ -1,41 +0,0 @@ ---TEST-- -Phar: extracted ---SKIPIF-- - ---INI-- -phar.readonly=0 -phar.require_hash=0 -phar.extract_list="phar_test.phar=test" ---FILE-- - -===DONE=== ---EXPECTF-- -array(1) { - ["phar_test.phar"]=> - string(4) "test" -} -array(1) { - ["phar_test.phar"]=> - string(%d) "%s" -} -string(%d) " -" -string(%d) "%sextracted.inc" -string(%d) " -" -===DONE=== diff --git a/ext/phar/tests/fopen_edgecases.phpt b/ext/phar/tests/fopen_edgecases.phpt index 4e60c88161..209fc482a0 100644 --- a/ext/phar/tests/fopen_edgecases.phpt +++ b/ext/phar/tests/fopen_edgecases.phpt @@ -32,9 +32,6 @@ $a = fopen($pname2 . '/hi', 'w'); $a = fopen('phar://', 'r'); $a = fopen('phar://foo.phar', 'r'); -ini_set('phar.extract_list', 'test.phar=' . dirname(__FILE__) . '/ump'); -$a = fopen('phar://test.phar/oops', 'r'); - file_put_contents($pname . '/hi', 'hi'); $a = fopen($pname . '/hi', 'r'); var_dump(fseek($a, 1), ftell($a)); @@ -44,9 +41,6 @@ fclose($a); var_dump(stat('phar://')); var_dump(stat('phar://foo.phar')); var_dump(is_dir($pname)); -ini_set('phar.extract_list', 'test.phar=' . dirname(__FILE__)); -var_dump(file_exists('phar://test.phar/' . basename(__FILE__))); -var_dump(file_exists('phar://test.phar/@#$^&*%$#')); // this tests coverage of the case where the phar exists and has no files $phar = new Phar($fname3); @@ -55,7 +49,6 @@ var_dump(file_exists($pname3 . '/test')); unlink($pname2 . '/hi'); unlink('phar://'); unlink('phar://foo.phar'); -unlink('phar://test.phar/' . basename(__FILE__)); unlink($pname . '/oops'); rename('phar://', 'phar://'); @@ -66,8 +59,6 @@ rename($pname . '/hi', 'phar://foo.phar/hi'); ini_set('phar.readonly', 1); rename($pname . '/hi', $pname . '/there'); ini_set('phar.readonly', 0); - -rename('phar://test.phar/' . basename(__FILE__), 'phar://test.phar/hi'); ?> ===DONE=== @@ -86,8 +77,6 @@ Warning: fopen(phar://%sfopen_edgecases.2.phar.php/hi): failed to open stream: i Warning: fopen(phar://): failed to open stream: phar error: no directory in "phar://", must have at least phar:/// for root directory (always use full path to a new phar) in %sfopen_edgecases.php on line %d Warning: fopen(phar://foo.phar): failed to open stream: %s in %sfopen_edgecases.php on line %d - -Warning: fopen(phar://test.phar/oops): failed to open stream: phar error: file "oops" extracted from "test.phar" could not be opened in %sfopen_edgecases.php on line %d int(0) int(1) int(0) @@ -99,8 +88,6 @@ bool(false) Warning: stat(): stat failed for phar://foo.phar in %sfopen_edgecases.php on line %d bool(false) bool(true) -bool(true) -bool(false) bool(false) Warning: unlink(): internal corruption of phar "%sfopen_edgecases.2.phar.php" (truncated manifest at stub end) in %sfopen_edgecases.php on line %d @@ -115,8 +102,6 @@ Warning: unlink(): phar error: invalid url or non-existent phar "phar://foo.phar Warning: unlink(): phar error: unlink failed in %sfopen_edgecases.php on line %d -Warning: unlink(): phar error: "phar://test.phar/fopen_edgecases.php" cannot be unlinked, phar is extracted in plain map in %sfopen_edgecases.php on line %d - Warning: unlink(): unlink of "phar://%sfopen_edgecases.phar.php/oops" failed, file does not exist in %sfopen_edgecases.php on line %d Warning: rename(): phar error: cannot rename "phar://" to "phar://": invalid or non-writable url "phar://" in %sfopen_edgecases.php on line %d @@ -129,6 +114,4 @@ Warning: rename(): phar error: cannot rename "phar://%sfopen_edgecases.phar.php/ Warning: rename(): phar error: cannot rename "phar://%sfopen_edgecases.phar.php/hi" to "phar://%sfopen_edgecases.phar.php/there": invalid or non-writable url "phar://%sfopen_edgecases.phar.php/hi" in %sfopen_edgecases.php on line %d -Warning: rename(): phar error: cannot rename "phar://test.phar/fopen_edgecases.php" to "phar://test.phar/hi" from extracted phar archive in %sfopen_edgecases.php on line %d - ===DONE=== \ No newline at end of file diff --git a/ext/phar/tests/loadphar_plainmap.phpt b/ext/phar/tests/loadphar_plainmap.phpt deleted file mode 100644 index 5dda0d1f75..0000000000 --- a/ext/phar/tests/loadphar_plainmap.phpt +++ /dev/null @@ -1,15 +0,0 @@ ---TEST-- -Phar: Phar::loadPhar with phar.extract_list ---SKIPIF-- - ---INI-- -phar.readonly=1 ---FILE-- - ---EXPECTF-- -%stests \ No newline at end of file diff --git a/ext/phar/tests/mapphar_plainmap.phpt b/ext/phar/tests/mapphar_plainmap.phpt deleted file mode 100644 index 47af05d901..0000000000 --- a/ext/phar/tests/mapphar_plainmap.phpt +++ /dev/null @@ -1,25 +0,0 @@ ---TEST-- -Phar: Phar::mapPhar with phar.extract_list ---SKIPIF-- - ---INI-- -phar.readonly=1 ---FILE-- -getMessage() . "\n"; -} -?> ---CLEAN-- - ---EXPECTF-- -%stests \ No newline at end of file diff --git a/ext/phar/tests/opendir.phpt b/ext/phar/tests/opendir.phpt index 4d2efa3788..46ab7c9682 100644 --- a/ext/phar/tests/opendir.phpt +++ b/ext/phar/tests/opendir.phpt @@ -27,8 +27,6 @@ include $fname; echo "\n"; opendir('phar://'); opendir('phar://hi.phar'); -ini_set('phar.extract_list', 'hi.phar='.dirname(__FILE__)); -opendir('phar://hi.phar/oopsie/daisy/'); ?> ===DONE=== --CLEAN-- @@ -41,6 +39,4 @@ phar url "phar://" is unknown in %sopendir.php on line %d Warning: opendir(phar://hi.phar): failed to open dir: phar error: invalid url or non-existent phar "phar://hi.phar" phar url "phar://hi.phar" is unknown in %sopendir.php on line %d - -Warning: opendir(phar://hi.phar/oopsie/daisy/): failed to open dir: phar error: file "%soopsie/daisy" extracted from "hi.phar" could not be opened in %sopendir.php on line %d ===DONE=== \ No newline at end of file diff --git a/ext/phar/tests/phar_buildfromiterator10.phpt b/ext/phar/tests/phar_buildfromiterator10.phpt index 71404f2222..3f03245727 100644 --- a/ext/phar/tests/phar_buildfromiterator10.phpt +++ b/ext/phar/tests/phar_buildfromiterator10.phpt @@ -27,9 +27,7 @@ unlink(dirname(__FILE__) . '/buildfromiterator.phar'); __HALT_COMPILER(); ?> --EXPECTF-- -array(34) { - ["extracted_001.phpt"]=> - string(%d) "%sextracted_001.phpt" +array(33) { ["phar_ctx_001.phpt"]=> string(%d) "%sphar_ctx_001.phpt" ["phar_get_supported_signatures_001.phpt"]=> diff --git a/ext/phar/tests/phar_isvalidpharfilename.phpt b/ext/phar/tests/phar_isvalidpharfilename.phpt index 32b5bef29e..9c953ee88a 100644 --- a/ext/phar/tests/phar_isvalidpharfilename.phpt +++ b/ext/phar/tests/phar_isvalidpharfilename.phpt @@ -65,13 +65,6 @@ var_dump(Phar::isValidPharFilename('phar.zip.phar')); var_dump(Phar::isValidPharFilename('phar.zip.phar', true)); var_dump(Phar::isValidPharFilename('phar.zip.phar', false)); -ini_set('phar.extract_list', 'myphar.phar=' . dirname(__FILE__)); - -echo "\nmyphar.phar\n"; -var_dump(Phar::isValidPharFilename('myphar.phar')); -var_dump(Phar::isValidPharFilename('myphar.phar', true)); -var_dump(Phar::isValidPharFilename('myphar.phar', false)); - echo "\ndir.phar.php\n"; var_dump(Phar::isValidPharFilename('dir.phar.php')); var_dump(Phar::isValidPharFilename('dir.phar.php', true)); @@ -139,11 +132,6 @@ bool(true) bool(true) bool(false) -myphar.phar -bool(true) -bool(true) -bool(false) - dir.phar.php bool(true) bool(true) diff --git a/ext/phar/tests/phpinfo_001.phpt b/ext/phar/tests/phpinfo_001.phpt index c021701fc8..7b31185827 100644 --- a/ext/phar/tests/phpinfo_001.phpt +++ b/ext/phar/tests/phpinfo_001.phpt @@ -9,11 +9,9 @@ phar.readonly=0 phar.require_hash=0 --FILE-- ===DONE=== @@ -35,7 +33,6 @@ Phar based on pear/PHP_Archive, original concept by Davey Shafik. Phar fully realized by Gregory Beaver and Marcus Boerger. Portions of tar implementation Copyright (c) 2003-2007 Tim Kientzle. Directive => Local Value => Master Value -phar.extract_list => [phar_test.phar = %stests],[another.phar = %stests] => phar.readonly => Off => Off phar.require_hash => Off => Off %a @@ -56,7 +53,6 @@ Phar based on pear/PHP_Archive, original concept by Davey Shafik. Phar fully realized by Gregory Beaver and Marcus Boerger. Portions of tar implementation Copyright (c) 2003-2007 Tim Kientzle. Directive => Local Value => Master Value -phar.extract_list => => phar.readonly => On => Off phar.require_hash => On => Off %a diff --git a/ext/phar/tests/phpinfo_002.phpt b/ext/phar/tests/phpinfo_002.phpt index 62d4700212..1e0e567aff 100644 --- a/ext/phar/tests/phpinfo_002.phpt +++ b/ext/phar/tests/phpinfo_002.phpt @@ -31,7 +31,6 @@ Phar based on pear/PHP_Archive, original concept by Davey Shafik. Phar fully realized by Gregory Beaver and Marcus Boerger. Portions of tar implementation Copyright (c) 2003-2007 Tim Kientzle. Directive => Local Value => Master Value -phar.extract_list => => phar.readonly => On => On phar.require_hash => On => On %a diff --git a/ext/phar/tests/phpinfo_003.phpt b/ext/phar/tests/phpinfo_003.phpt index 01c402ecec..5894c83ea8 100644 --- a/ext/phar/tests/phpinfo_003.phpt +++ b/ext/phar/tests/phpinfo_003.phpt @@ -31,7 +31,6 @@ Phar based on pear/PHP_Archive, original concept by Davey Shafik. Phar fully realized by Gregory Beaver and Marcus Boerger. Portions of tar implementation Copyright (c) 2003-2007 Tim Kientzle. Directive => Local Value => Master Value -phar.extract_list => => phar.readonly => On => On phar.require_hash => On => On %a diff --git a/ext/phar/tests/phpinfo_004.phpt b/ext/phar/tests/phpinfo_004.phpt index e04133b29c..1dbccda889 100644 --- a/ext/phar/tests/phpinfo_004.phpt +++ b/ext/phar/tests/phpinfo_004.phpt @@ -11,11 +11,9 @@ phar.require_hash=0 a=b --FILE-- ===DONE=== @@ -39,7 +37,6 @@ Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar full
-
DirectiveLocal ValueMaster Value
phar.extract_list
  • phar_test.phar => %stests
  • another.phar => %stests
    phar.readonlyOffOff
    phar.require_hashOffOff

    @@ -62,7 +59,6 @@ Phar based on pear/PHP_Archive, original concept by Davey Shafik.
    Phar full
    -
    DirectiveLocal ValueMaster Value
    phar.extract_list
        phar.readonlyOnOff
        phar.require_hashOnOff

        diff --git a/ext/phar/tests/webphar_plainmap.phpt b/ext/phar/tests/webphar_plainmap.phpt deleted file mode 100644 index ba14c92c7a..0000000000 --- a/ext/phar/tests/webphar_plainmap.phpt +++ /dev/null @@ -1,25 +0,0 @@ ---TEST-- -Phar: Phar::webPhar with phar.extract_list ---SKIPIF-- - ---INI-- -phar.readonly=1 ---FILE-- -getMessage() . "\n"; -} -?> ---CLEAN-- - ---EXPECT-- -Cannot use Phar::webPhar() from an extracted phar archive, simply use the extracted files directly \ No newline at end of file