cellog Wed May 7 05:38:30 2008 UTC
Removed files:
/pecl/phar/tests extracted_001.phpt loadphar_plainmap.phpt
mapphar_plainmap.phpt webphar_plainmap.phpt
Modified files:
/pecl/phar dirstream.c phar.c phar_internal.h phar_object.c
stream.c
/pecl/phar/tests 027.phpt dir.phpt fopen_edgecases.phpt
opendir.phpt phar_buildfromiterator10.phpt
phar_isvalidpharfilename.phpt phpinfo_001.phpt
phpinfo_002.phpt phpinfo_003.phpt phpinfo_004.phpt
Log:
[DOC]
remove phar.extract_list
remove Phar::getExtractList()
http://cvs.php.net/viewvc.cgi/pecl/phar/dirstream.c?r1=1.25&r2=1.26&diff_format=u
Index: pecl/phar/dirstream.c
diff -u pecl/phar/dirstream.c:1.25 pecl/phar/dirstream.c:1.26
--- pecl/phar/dirstream.c:1.25 Mon Apr 21 16:29:08 2008
+++ pecl/phar/dirstream.c Wed May 7 05:38:29 2008
@@ -289,7 +289,7 @@
{
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 @@
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 @@
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 @@
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 @@
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 @@
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);
http://cvs.php.net/viewvc.cgi/pecl/phar/phar.c?r1=1.362&r2=1.363&diff_format=u
Index: pecl/phar/phar.c
diff -u pecl/phar/phar.c:1.362 pecl/phar/phar.c:1.363
--- pecl/phar/phar.c:1.362 Wed May 7 05:13:40 2008
+++ pecl/phar/phar.c Wed May 7 05:38:29 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: phar.c,v 1.362 2008/05/07 05:13:40 cellog Exp $ */
+/* $Id: phar.c,v 1.363 2008/05/07 05:38:29 cellog Exp $ */
#define PHAR_MAIN 1
#include "phar_internal.h"
@@ -94,103 +94,9 @@
}
/* }}}*/
-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("<ul>");
- }
- 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);
- }
- if (sapi_module.phpinfo_as_text) {
- if (started++) {
- php_printf(",");
- }
- php_printf("[%s = %s]", key, val);
- } else {
- php_printf("<li>%s => %s</li>", key,
val);
- }
- }
- }
- if (!sapi_module.phpinfo_as_text) {
- php_printf("</ul>");
- }
- 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 @@
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 @@
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 @@
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;
@@ -3060,7 +2919,7 @@
php_info_print_table_header(2, "Phar: PHP Archive support", "enabled");
php_info_print_table_row(2, "Phar EXT version", PHP_PHAR_VERSION);
php_info_print_table_row(2, "Phar API version", PHP_PHAR_API_VERSION);
- php_info_print_table_row(2, "CVS revision", "$Revision: 1.362 $");
+ php_info_print_table_row(2, "CVS revision", "$Revision: 1.363 $");
php_info_print_table_row(2, "Phar-based phar archives", "enabled");
php_info_print_table_row(2, "Tar-based phar archives", "enabled");
php_info_print_table_row(2, "ZIP-based phar archives", "enabled");
http://cvs.php.net/viewvc.cgi/pecl/phar/phar_internal.h?r1=1.107&r2=1.108&diff_format=u
Index: pecl/phar/phar_internal.h
diff -u pecl/phar/phar_internal.h:1.107 pecl/phar/phar_internal.h:1.108
--- pecl/phar/phar_internal.h:1.107 Tue May 6 21:14:51 2008
+++ pecl/phar/phar_internal.h Wed May 7 05:38:29 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: phar_internal.h,v 1.107 2008/05/06 21:14:51 cellog Exp $ */
+/* $Id: phar_internal.h,v 1.108 2008/05/07 05:38:29 cellog Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.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;
http://cvs.php.net/viewvc.cgi/pecl/phar/phar_object.c?r1=1.258&r2=1.259&diff_format=u
Index: pecl/phar/phar_object.c
diff -u pecl/phar/phar_object.c:1.258 pecl/phar/phar_object.c:1.259
--- pecl/phar/phar_object.c:1.258 Tue May 6 21:23:47 2008
+++ pecl/phar/phar_object.c Wed May 7 05:38:29 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: phar_object.c,v 1.258 2008/05/06 21:23:47 cellog Exp $ */
+/* $Id: phar_object.c,v 1.259 2008/05/07 05:38:29 cellog Exp $ */
#include "phar_internal.h"
#include "func_interceptors.h"
@@ -30,28 +30,6 @@
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 @@
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 @@
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 @@
* 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 @@
* 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 @@
}
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 @@
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)
http://cvs.php.net/viewvc.cgi/pecl/phar/stream.c?r1=1.26&r2=1.27&diff_format=u
Index: pecl/phar/stream.c
diff -u pecl/phar/stream.c:1.26 pecl/phar/stream.c:1.27
--- pecl/phar/stream.c:1.26 Mon Apr 21 06:17:49 2008
+++ pecl/phar/stream.c Wed May 7 05:38:29 2008
@@ -100,9 +100,6 @@
/* 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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_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 @@
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);
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/027.phpt?r1=1.18&r2=1.19&diff_format=u
Index: pecl/phar/tests/027.phpt
diff -u pecl/phar/tests/027.phpt:1.18 pecl/phar/tests/027.phpt:1.19
--- pecl/phar/tests/027.phpt:1.18 Fri Apr 18 04:13:12 2008
+++ pecl/phar/tests/027.phpt Wed May 7 05:38:29 2008
@@ -53,26 +53,6 @@
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 @@
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===
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/dir.phpt?r1=1.15&r2=1.16&diff_format=u
Index: pecl/phar/tests/dir.phpt
diff -u pecl/phar/tests/dir.phpt:1.15 pecl/phar/tests/dir.phpt:1.16
--- pecl/phar/tests/dir.phpt:1.15 Fri May 2 05:05:54 2008
+++ pecl/phar/tests/dir.phpt Wed May 7 05:38:29 2008
@@ -49,13 +49,6 @@
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", 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
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/fopen_edgecases.phpt?r1=1.13&r2=1.14&diff_format=u
Index: pecl/phar/tests/fopen_edgecases.phpt
diff -u pecl/phar/tests/fopen_edgecases.phpt:1.13
pecl/phar/tests/fopen_edgecases.phpt:1.14
--- pecl/phar/tests/fopen_edgecases.phpt:1.13 Fri Apr 18 04:13:12 2008
+++ pecl/phar/tests/fopen_edgecases.phpt Wed May 7 05:38:29 2008
@@ -32,9 +32,6 @@
$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 @@
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 @@
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 @@
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://): 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 @@
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: 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/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
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/opendir.phpt?r1=1.4&r2=1.5&diff_format=u
Index: pecl/phar/tests/opendir.phpt
diff -u pecl/phar/tests/opendir.phpt:1.4 pecl/phar/tests/opendir.phpt:1.5
--- pecl/phar/tests/opendir.phpt:1.4 Fri Apr 18 04:13:12 2008
+++ pecl/phar/tests/opendir.phpt Wed May 7 05:38:29 2008
@@ -27,8 +27,6 @@
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 @@
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
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_buildfromiterator10.phpt?r1=1.3&r2=1.4&diff_format=u
Index: pecl/phar/tests/phar_buildfromiterator10.phpt
diff -u pecl/phar/tests/phar_buildfromiterator10.phpt:1.3
pecl/phar/tests/phar_buildfromiterator10.phpt:1.4
--- pecl/phar/tests/phar_buildfromiterator10.phpt:1.3 Sat Apr 26 17:32:17 2008
+++ pecl/phar/tests/phar_buildfromiterator10.phpt Wed May 7 05:38:30 2008
@@ -27,9 +27,7 @@
__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"]=>
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_isvalidpharfilename.phpt?r1=1.2&r2=1.3&diff_format=u
Index: pecl/phar/tests/phar_isvalidpharfilename.phpt
diff -u pecl/phar/tests/phar_isvalidpharfilename.phpt:1.2
pecl/phar/tests/phar_isvalidpharfilename.phpt:1.3
--- pecl/phar/tests/phar_isvalidpharfilename.phpt:1.2 Wed Apr 23 18:22:54 2008
+++ pecl/phar/tests/phar_isvalidpharfilename.phpt Wed May 7 05:38:30 2008
@@ -65,13 +65,6 @@
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(false)
-myphar.phar
-bool(true)
-bool(true)
-bool(false)
-
dir.phar.php
bool(true)
bool(true)
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phpinfo_001.phpt?r1=1.2&r2=1.3&diff_format=u
Index: pecl/phar/tests/phpinfo_001.phpt
diff -u pecl/phar/tests/phpinfo_001.phpt:1.2
pecl/phar/tests/phpinfo_001.phpt:1.3
--- pecl/phar/tests/phpinfo_001.phpt:1.2 Wed Apr 16 03:27:44 2008
+++ pecl/phar/tests/phpinfo_001.phpt Wed May 7 05:38:30 2008
@@ -9,11 +9,9 @@
phar.require_hash=0
--FILE--
<?php
-ini_set('phar.extract_list',
'phar_test.phar='.dirname(__FILE__).',another.phar='. dirname(__FILE__));
phpinfo(INFO_MODULES);
ini_set('phar.readonly',1);
ini_set('phar.require_hash',1);
-ini_set('phar.extract_list', '');
phpinfo(INFO_MODULES);
?>
===DONE===
@@ -35,7 +33,6 @@
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 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
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phpinfo_002.phpt?r1=1.3&r2=1.4&diff_format=u
Index: pecl/phar/tests/phpinfo_002.phpt
diff -u pecl/phar/tests/phpinfo_002.phpt:1.3
pecl/phar/tests/phpinfo_002.phpt:1.4
--- pecl/phar/tests/phpinfo_002.phpt:1.3 Sun Apr 27 11:31:26 2008
+++ pecl/phar/tests/phpinfo_002.phpt Wed May 7 05:38:30 2008
@@ -31,7 +31,6 @@
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
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phpinfo_003.phpt?r1=1.2&r2=1.3&diff_format=u
Index: pecl/phar/tests/phpinfo_003.phpt
diff -u pecl/phar/tests/phpinfo_003.phpt:1.2
pecl/phar/tests/phpinfo_003.phpt:1.3
--- pecl/phar/tests/phpinfo_003.phpt:1.2 Sun Apr 27 11:31:26 2008
+++ pecl/phar/tests/phpinfo_003.phpt Wed May 7 05:38:30 2008
@@ -19,7 +19,7 @@
Phar: PHP Archive support => enabled
Phar EXT version => %s
Phar API version => 1.1.1
-CVS revision => $Revision: 1.2 $
+CVS revision => $Revision: 1.3 $
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
@@ -31,7 +31,6 @@
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
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phpinfo_004.phpt?r1=1.2&r2=1.3&diff_format=u
Index: pecl/phar/tests/phpinfo_004.phpt
diff -u pecl/phar/tests/phpinfo_004.phpt:1.2
pecl/phar/tests/phpinfo_004.phpt:1.3
--- pecl/phar/tests/phpinfo_004.phpt:1.2 Wed Apr 16 03:27:44 2008
+++ pecl/phar/tests/phpinfo_004.phpt Wed May 7 05:38:30 2008
@@ -11,11 +11,9 @@
a=b
--FILE--
<?php
-ini_set('phar.extract_list',
'phar_test.phar='.dirname(__FILE__).',another.phar='. dirname(__FILE__));
phpinfo(INFO_MODULES);
ini_set('phar.readonly',1);
ini_set('phar.require_hash',1);
-ini_set('phar.extract_list', '');
phpinfo(INFO_MODULES);
?>
===DONE===
@@ -39,7 +37,6 @@
</table><br />
<table border="0" cellpadding="3" width="600">
<tr class="h"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr>
-<tr><td class="e">phar.extract_list</td><td class="v"><ul><li>phar_test.phar
=> %stests</li><li>another.phar => %stests</li></ul></td><td
class="v"><ul></ul></td></tr>
<tr><td class="e">phar.readonly</td><td class="v">Off</td><td
class="v">Off</td></tr>
<tr><td class="e">phar.require_hash</td><td class="v">Off</td><td
class="v">Off</td></tr>
</table><br />
@@ -62,7 +59,6 @@
</table><br />
<table border="0" cellpadding="3" width="600">
<tr class="h"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr>
-<tr><td class="e">phar.extract_list</td><td class="v"><ul></ul></td><td
class="v"><ul></ul></td></tr>
<tr><td class="e">phar.readonly</td><td class="v">On</td><td
class="v">Off</td></tr>
<tr><td class="e">phar.require_hash</td><td class="v">On</td><td
class="v">Off</td></tr>
</table><br />