Commit Graph

187 Commits

Author SHA1 Message Date
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Felipe Pena
f61a06350a - Switching to TSRMLS_FETCH version 2009-11-16 10:36:27 +00:00
Felipe Pena
5411bb32a8 - Fixed bug #49936 (crash with ftp stream in php_stream_context_get_option())
(patch by Pierrick)
2009-11-15 20:30:57 +00:00
Arnaud Le Blanc
c79528a26d MFH: Fixed bug #48309 (stream_copy_to_stream() and fpasstru() do not
update stream position of plain files)
2009-05-17 14:58:10 +00:00
Arnaud Le Blanc
a2600facdd MFH: Fixed bug #48307 (stream_copy_to_stream() copies 0 bytes when $source
is a socket)
2009-05-16 20:23:06 +00:00
Arnaud Le Blanc
8ea9eb8560 MFH: Better fix for #47997 2009-04-19 17:10:35 +00:00
Arnaud Le Blanc
14c717f449 Fixed bug #47997 (stream_copy_to_stream returns 1 on empty streams) 2009-04-19 13:46:47 +00:00
Arnaud Le Blanc
2b57d6d6ea MFH: Better fix for #44607. Fixes #47487 (php_stream_fill_read_buffer()
performance degraded after fix of bug 44607).
2009-03-19 17:55:10 +00:00
Felipe Pena
31169e2c1a MFH:
- Fixed bug #47037 (No error when using fopen with emty string)
Patch by Cristian Rodriguez R.
2009-01-08 18:46:00 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Lars Strojny
29f49d2ded If a wrapper could not be found it is either a typo or a configuration issue. But in both cases it is critical enough to warn the user. 2008-12-14 16:25:37 +00:00
David Soria Parra
a9282f72a8 MFH: Revert fix for 43782, as it caused problems. 2008-11-24 15:36:47 +00:00
Arnaud Le Blanc
e13a4238e5 MFH: Fixed stream_get_contents() when using $maxlength and socket is not
closed. indeyets@php.net on #46049.
2008-11-11 01:55:51 +00:00
Arnaud Le Blanc
d441b5db5b MFH: Fixed stream_get_line() to behave as documented on non-blocking
streams
2008-11-04 17:05:55 +00:00
Arnaud Le Blanc
8e220d99df MFH: Fixed bug #44607 (stream_get_line unable to correctly identify the
"ending" in the stream content)
2008-11-03 23:29:17 +00:00
Arnaud Le Blanc
0a2bfc7968 MFH: Fixed bug #43353 (wrong detection of 'data' wrapper causes notice) 2008-11-03 15:47:31 +00:00
Greg Beaver
17cfd5f24e MF52 fix Bug #46147: after stream seek, appending stream filter reads incorrect data 2008-09-22 01:26:14 +00:00
David Soria Parra
9f68483734 MFH: Fixed bug #43782 (feof() does not detect timeout on socket) 2008-08-26 16:06:36 +00:00
Antony Dovgal
93908474ad MFH: increase context refcount before open() to avoid crash when open() fails and destroys the context 2008-08-06 09:03:48 +00:00
Antony Dovgal
04c8373b6a MFH 2008-07-11 12:44:02 +00:00
Antony Dovgal
cf7e15c3a0 MFH: manage references of stream context properly 2008-07-11 10:25:15 +00:00
Dmitry Stogov
99933df5e2 closeder/readdir/rewinddir must work only with directories 2008-06-11 09:01:56 +00:00
Greg Beaver
cac1fd72ea fix erroneous use of php_resolve_path in _php_stream_wrapper_open_ex - this breaks require/include for all extensions that intercept zend_resolve_path 2008-04-28 22:39:54 +00:00
Greg Beaver
c46d651b3e Fixed potentially confusing error message on failure when no errors are logged 2008-04-28 22:37:31 +00:00
Dmitry Stogov
862f9ee3d2 Added ability to use stream wrappers in include_path 2008-03-27 10:33:40 +00:00
Antony Dovgal
fc134fd6c5 MFH: disabled mmap() when copying files to memory 2008-03-24 16:28:35 +00:00
Greg Beaver
7c1952c863 MFH: clarify error message on why opening a stream wrapper failed for allow_url_include/allow_url_fopen, add test for allow_url_fopen 2008-01-12 15:50:57 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Antony Dovgal
2dab3c40fe correct fix for bug #43522 2007-12-29 10:52:24 +00:00
Ilia Alshanetsky
b9e4413962 Fixed bug #43522 (stream_get_line() eats additional characters) 2007-12-10 14:16:58 +00:00
Marcus Boerger
6362476b20 MFH streams stuff 2007-11-06 11:02:36 +00:00
Jani Taskinen
45e96efd1d MFH: This is what we get for not doing MFH..or MFB..a mess 2007-08-08 07:01:49 +00:00
Ilia Alshanetsky
0cb6dd5671 Fixed bug #42237 (stream_copy_to_stream returns invalid values for mmaped
streams).
2007-08-08 02:16:41 +00:00
Dmitry Stogov
5c28db4a9c Fixed wrong warning 2007-07-11 14:33:30 +00:00
Dmitry Stogov
510bee631f Fixed warning 2007-07-10 11:57:34 +00:00
Dmitry Stogov
539f67ed8f Added ability to create local or remote (URL) user streams
Local user streams must not be able to open(), URLs if allow_url_include is off
Implemented new function stream_is_local()
[
- stream_wrapper_register() extended with additional optional argument "flags"
  of type long. This time only one flag is implemented
- STREAM_IS_URL, that means that userstream wrapper is remote (URL).
  By default stream is local.
- stream_is_local() is a new function that accepts stream and tell if this
  stream is local or remote (URL)
]
2007-07-09 17:27:24 +00:00
Dmitry Stogov
eec0b67cd8 Fixed bug #41304 (compress.zlib temp files left) 2007-05-08 12:08:17 +00:00
Marcus Boerger
0ad927dbf2 - MFH A stream wrapper might only allow directory access 2007-03-03 19:01:34 +00:00
Antony Dovgal
4a95928d1d MFH: implement PHP_STREAM_FLAG_NO_CLOSE and avoid hacks 2007-02-21 21:57:21 +00:00
Antony Dovgal
7ad1c3c5f2 MFH: add trailing '\0' to stream hashes 2007-01-15 17:07:08 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Ilia Alshanetsky
557838efa4 Last set of zend_hash_init() optimizations 2006-10-03 19:51:01 +00:00
Antony Dovgal
99b133d7a7 MFH: fix double free(), add test 2006-09-15 07:27:22 +00:00
Antony Dovgal
9fa594c2dd fix coverity issue #197
"I can't think of a reason to pass a NULL buf" (c) Wez
2006-09-10 13:01:37 +00:00
Ilia Alshanetsky
4427552b60 Fixed bug #38661 (mixed-case URL breaks url-wrappers). 2006-09-03 16:32:27 +00:00
Antony Dovgal
4902fc6c25 MFH: fix #38086 (stream_copy_to_stream() returns 0 when maxlen is bigger than the actual length)
add tests
2006-07-13 12:00:17 +00:00
Hannes Magnusson
c4154145df MFH: plug memleak 2006-06-20 18:09:50 +00:00
Rasmus Lerdorf
6bfeea9eb9 MFH: Backported allow_url_include from HEAD. This directive allows
separate control of URL handling in includes/requires allowing sites to
enable allow_url_fopen without enabling remote includes.
2006-06-16 14:09:01 +00:00
Marcus Boerger
3577115118 - MFH Add strict compliant RFC2397 support (no //) 2006-05-14 18:40:12 +00:00
Wez Furlong
8663f1644d fix for #37158 2006-04-22 17:17:40 +00:00
Michael Wallner
f7a6327728 - Fix reading stream filters never notified about EOF 2006-04-20 17:43:18 +00:00
foobar
5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
Antony Dovgal
248be6fcfc fix #35781 (stream_filter_append() can cause segfault) 2005-12-23 14:32:11 +00:00
Antony Dovgal
aec3b4e73c fix #35740 (memory leak when including a directory) 2005-12-20 09:47:57 +00:00
foobar
a3af52c11e MFH: list_entry -> zend_rsrc_list_entry 2005-12-05 23:38:04 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Dmitry Stogov
8b134356ef Disabled search of recored separator outside of buffer 2005-06-01 15:11:44 +00:00
Antony Dovgal
d4db964aed revert by Wez's request 2005-05-23 15:36:58 +00:00
Antony Dovgal
201fbc48e6 fix bug #32810 (fread after tmpfile() reads only 8192 bytes) 2005-05-23 11:51:53 +00:00
Antony Dovgal
d5bb03b11a fix bugs #32742 (segmentation fault when the stream with a wrapper is not closed),
#32171 (Userspace stream wrapper crashes PHP)
2005-05-16 08:37:14 +00:00
Ilia Alshanetsky
edd4860674 Attempt to eliminate seek() prior to every write. 2005-04-29 19:01:33 +00:00
Antony Dovgal
2a83dbdf1c revert the patch, the problem seems to be somewhere else 2005-04-11 15:19:27 +00:00
Sara Golemon
dc8823b565 Fold validation into an inlined function per Andi's suggestion 2005-04-09 19:36:49 +00:00
Antony Dovgal
e7a2efe053 do not try to read after EOF 2005-04-06 08:26:06 +00:00
Ilia Alshanetsky
d9aea604b3 Fixed bug #30362 (stream_get_line() not reading data correctly). 2005-04-05 03:00:04 +00:00
Sara Golemon
51852db0df BugFix #32563
This could have been done in stream_wrapper_register()
without introducing the slight performance hit on
wrapper registration since anyone registering a wrapper
in an extension should know better.

The important thing is that since locate_wrapper makes
the assumption that all schemes will be /^[a-z0-9+.-]+$/i
Anything which registers them should make the same assumption as well.
2005-04-04 19:34:32 +00:00
Ilia Alshanetsky
c7b931d80d Fixed bug #31515 (Improve performance of scandir() by factor of 10 or so). 2005-02-22 00:24:13 +00:00
Ilia Alshanetsky
d98a44d483 Fixed bug #29801 (Set limit on the size of mmapable data). 2004-11-15 23:43:12 +00:00
Rob Richards
d563495a24 add support for file://localhost/
support file:/// under windows again
2004-11-11 13:08:32 +00:00
Ilia Alshanetsky
5c04e39383 Fixed bug #30362 (stream_get_line() not handling end string correctly). 2004-10-11 18:31:49 +00:00
Sara Golemon
34550382d8 Added stream_filter_remove() to cancel a stream filter.
Register filters as resources when
instantiated by stream_filter_(ap|pre)pend().

Export php_stream_filter_flush() internal function to wind buffered data
out of a particular filter until consumed by a later filter or sent to
stream->readbuffer or stream->ops->write()
2004-09-14 03:48:17 +00:00
Sara Golemon
9cd4320b65 Allocating hash tables should be done via macro, not directly 2004-09-13 21:07:22 +00:00
Sara Golemon
ed5dcbff9b A little extra code to allow overriding plainfiles wrapper as well 2004-09-10 21:50:29 +00:00
Sara Golemon
955b43ba12 Add stream_wrapper_unregister()
Disables a wrapper (user-defined or built-in) for the life of the request.

Add stream_wrapper_restore()
Restores the wrapper originally defined at the time the request started
to the protocol name mentioned.
2004-09-10 20:45:35 +00:00
Sara Golemon
d179ac771c Handle maxlen when stream can't be mmaped 2004-09-08 18:42:15 +00:00
Antony Dovgal
fd6d9cbeac fix bug #29723 (file_get_contents() fails with the file:// wrapper under Win32) 2004-08-31 11:37:02 +00:00
Wez Furlong
971fcd4254 Looks like Sara forgot to change this too. 2004-07-13 16:34:56 +00:00
Wez Furlong
ae40d0ef2a Fix file_get_contents() bug... 2004-07-12 20:59:24 +00:00
Wez Furlong
cd732f1a3f RIP: greedy ready problems
This allows people to use fread($fp, filesize($filename)) for regular files,
but packet-based non-greedy reads for everything else.
2004-07-10 10:54:09 +00:00
Wez Furlong
8f435013ff Fix for Bug #28964 fread "greedy" behaviour 2004-06-29 21:51:53 +00:00
Sara Golemon
a2c24ae90e BugFix#28868 (Part Two): This fixes thread unsafety in the userspace
filters which relates to the fix just applied for userspace wrappers.
2004-06-21 21:08:05 +00:00
Sara Golemon
7fcfa8865e BugFix#28868: Wrapper hash not thread-safe.
Userdefined wrappers were being registered into a global wrapper hash
which can cross threads.  Termination of once instance then has the
potential to leave an active stream in another instance with no wrapper
leading to segfault.
2004-06-21 18:58:55 +00:00
Wez Furlong
b369925372 Fix #25939 for good this time.
# How could I miss this??
2004-05-27 13:04:14 +00:00
Sara Golemon
002f7ef393 This leaks when a stream opener proxy opens another stream. 2004-04-01 01:07:54 +00:00
Sara Golemon
72616e6eae BugFix#27619
Filters not applied to pre-buffered stream data.
(esp. http:// streams)
2004-03-31 23:48:59 +00:00
Wez Furlong
70757063a7 add cast for qsort compare function.
Kinda ugly, but helps assert that we are doing the right thing as well as
kill the warning there.
2004-03-07 22:06:36 +00:00
Wez Furlong
0dd2280102 Less magic please 2004-03-07 21:36:55 +00:00
Jon Parise
4db900732d Cast the php_stream_dirent to a 'const char *' for estrndup() to avoid a
compiler warning.
2004-03-01 07:02:23 +00:00
Wez Furlong
a44838e8a3 Fix a bug in the persistent socket liveness checks and feof(); they were
using the default socket timeout of 60 seconds before returning the socket
to the calling script.  The reason they were using that value is that the
same code is used for feof(), so the fix is allowing the caller to
indicate the timeout value for liveness checks.

A possible remaining issue now is that 0 second timeout[1] for pfsockopen
is possibly too short; it's impossible to specify a sane value for all
possible uses, so maybe we need a stream context or an .ini option to
control this, or maybe use the timeout value that was passed to
pfsockopen().

# [1] by timeout, I mean the time that PHP will wait for data on a
# persistent socket before deciding if a new connection should be made;
# NOT the timeout while waiting for a new connection to be established.
2004-02-04 22:46:44 +00:00
Sara Golemon
6d10371ec6 'Bug Fix': scandir, being a new function in PHP5 should have always been wrapper aware. 2004-01-28 22:21:54 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
Sara Golemon
a67bf6ecc9 Fix Win32 Build. mkdir/rmdir are macros 2003-12-13 18:48:39 +00:00
Sara Golemon
c56647833b Route mkdir()/rmdir() via wrapper ops.
Move current rmdir()/rmdir() code to plain_wrappers.c
Implement mkdir()/rmdir() in ftp:// wrapper
2003-12-13 04:07:18 +00:00
Wez Furlong
ab0029cabf Be smarter about which systems should register unix transports.
Fix skip conditions in these network tests
2003-12-05 13:41:02 +00:00
Sara Golemon
026d4c9e4c Route php_stat() via streams/url_stat API (php_stream_stat_path).
This enables fopen-wrappers support on stat() and related family calls.
2003-11-28 23:25:28 +00:00
Wez Furlong
6d86bb9e40 (sort of) MFB, feof fix for sockets. 2003-11-28 23:20:23 +00:00
Ilia Alshanetsky
baced1d63d Fixed a memory leak. 2003-11-28 00:00:28 +00:00
Sara Golemon
0831f2b03a Fix for file:// wrapper parsing.
(Cristiano Duarte <cunha17@uol.com.br>)
2003-11-23 17:35:00 +00:00
Derick Rethans
3ab8d263b8 - Always store the URI path in the streams structure, and expose it with
stream_get_meta_data().
2003-11-03 14:12:46 +00:00
Shane Caraveo
2a41429472 A simpler patch to add file uri support 2003-10-19 20:59:12 +00:00