| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
See http://news.php.net/article.php?group=php.cvs&article=19680 for
more information.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Bug #21131 (fopen with 'a+' and rewind() doesn't work)
Bug #21713 (include remote files leaks temporary files + descriptors on Solaris)
Bug #21185 (move_uploaded_file() does not ignore open_basedir as it should)
Bug #22362 (combinations of fwrite(), fread() and fseek() produce unexpected results)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tmpfile().
tmpfile() under win32 will try to use the root directory; the default
IIS settings prohibit access to the root directory, which renders tmpfile()
useless.
PHP's tmpfile() streams are correctly cleaned up and unlinked when closed
(or at request shutdown). However, if the stream is cast and passed to
a third party library, the temporary file may linger.
This is unfortunate, since streams uses this process internally for handling
the casting of user-streams.
--> some more work is needed on this, but this can be done more easily under
Linux.
|
| |
|
|
|
|
|
| |
with Wez.
|
|
|
|
|
| |
#Agreed by Wez - I will use this mysel soon.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
buffers.
When selecting for read, the streams are examined; if any of them have
pending read data, no actual select(2) call is performed; instead the
streams with buffered data are returned; just like a regular select
call.
Prevent erroneous warning in stream_select when obtaining the fd.
|
|
|
|
|
|
|
|
|
|
|
| |
php_stream_gets is now a macro which calls php_stream_get_line. The latter
has an option argument to return the number of bytes in the line.
Functions like fgetcsv(), fgetss() can be made binary safe by calling
php_stream_get_line directly.
# HEADS UP: You will need to make clean after updating your CVS, as the
# binary signature has changed.
|
|
|
|
|
| |
The file() function is now also binary safe.
|
|
|
|
|
|
|
|
| |
I've moved EOF detection into the streams layer; a stream reader
implementation should set stream->eof when it detects EOF.
Fixed test for user streams - it still fails but that is due to an output
buffering bug.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with regard to sockets. The behaviour should be aligned with PHP 4.2 now.
This has been verified to some degree.
If the underlying stream operations block when no new data is readable,
we need to take extra precautions.
If there is buffered data available, we check for a EOL. If it exists,
we pass the data immediately back to the caller. This saves a call
to the read implementation and will not block where blocking
is not necessary at all.
If the stream buffer contains more data than the caller requested,
we can also avoid that costly step and simply return that data.
|
|
|
|
|
|
| |
Add options for timeout and chunk size; previously these were only
set-able for socket streams.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It now always returns useful information for all streams.
Unified that data with socket_get_status and made socket_get_status
an alias for file_get_meta_data.
Fix Location header following which was broken in this commit:
http://cvs.php.net/diff.php/php4/ext/standard/http_fopen_wrapper.c?r1=1.41&r2=1.42&ty=h
|
|
|
|
|
|
| |
Juggle some includes/definitions.
Tidy up streams use in ext/standard/file.c
|
|
|
|
|
|
| |
stream so that flex will get on nicely with the content.
# untested; theoretically it should work just fine.
|
| |
|
|
|
|
|
|
| |
Tidy up user streams even more.
Make test case quite aggressive.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Eliminate similar code from network.c.
Implement fgets equivalent at the streams level, which can detect
the mac, dos and unix line endings and handle them appropriately.
The default behaviour is unix (and dos) line endings.
An ini option to control this behaviour will follow.
# Don't forget to make clean!
# I've done some testing but would appreciate feedback from
# people with scripts/extensions that seek around a lot.
|
|
|
|
|
|
| |
Lets stick to a single category of "http" for the "user_agent"
context override.
|
| |
|
|
|
|
|
|
| |
flush before the stream is closed. This allows filters to finish a chunk
and write footers etc.
|
|
|
|
|
| |
Unify error messages for ext/ftp. (which was using php_stream_error).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Filters can be stacked onto a stream; more details will follow in docs and
on php-dev.
Implement "string.rot13" filter
Allows the following script:
$fp = fopen("file.txt", "r");
stream_filter_prepend($fp, "string.rot13");
// File contents will be subject to a rot13 transformation before
// being output.
fpassthru($fp);
fclose($fp);
|
|
|
|
|
|
|
|
|
|
|
| |
php_stream_set_option which can be used in a similar way as ioctl()
to set options for streams.
Current options include buffering and blocking support.
o Buffer control is support for stdio based streams.
o Blocking/non-blocking is supported for stdio and socket based streams.
|
|
|
|
|
| |
if a filename is a URL and thus if safe-mode checks should be skipped.
|
|
|
|
|
|
| |
function... (Thanks Marcus!)
Add a convenience macro for importing a stream from a zval.
|
|
|
|
|
|
|
|
| |
and warnings (some of which are bogus) when there are problems opening
streams.
Implement sanity check on the mode used to open ftp and http connections.
This fixes Bug 12004.
|
| |
|
|
|
|
|
| |
what streams are currently registered.
|
|
|
|
|
|
|
| |
Add/amend debugging code for sockets.
Add a flag that will help the http wrapper optimize itself when
it is not being used for include/require.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add is_url field to wrapper structure; the stream wrapper openers
will disallow opening is is_url && !PG(allow_url_fopen).
Add infrastructure for stat($url) and opendir($url).
Tidy up/centralize code that locates and instantiates wrappers for the
various operations.
Implement opendir for plain files.
Make the PHP opendir and dir functions use the streams implementations.
Add modelines for syntax highlighting the pear scripts in vim
|
| |
|
| |
|
|
|
|
|
|
| |
Bump the BC for zlib notice to a warning
# See my RFC to php-dev a few days ago
|
|
|
|
|
| |
# What was phase 2?
|
|
|
|
|
| |
# Collecting underpants
|
|
|
|
|
|
|
|
|
|
| |
in ext/standard/file.c, so a gzopen()ed file pointer can be used in
fread, fseek etc.
Improved behaviour of zlib stream.
Moved passthru code into streams.c
# I'm not happy about BG(mmap_file)
Nuked gzgetss_state as no longer needed.
|
|
|
|
|
| |
Move state tracking to stream structure.
|
|
|
|
|
|
| |
Add some logic that will help track down leaks
when debug is enabled.
|
|
|
|
|
| |
Improve interaction with fopencookie.
|