Commit Graph

222 Commits

Author SHA1 Message Date
Moriyoshi Koizumi
7f5d98203e Fixed OnUpdate_zlib_output_compression() behaviour 2002-11-03 20:31:00 +00:00
Wez Furlong
30f9c47d61 Fix for 19906.
gzeof has different semantics from feof, in that gzeof will return true
if the read position is at EOF, even if the most recent read was 100%
successful.
feof will return true only (usually) if the most recent fread failed.
2002-10-15 16:01:00 +00:00
Wez Furlong
94ef7bc81e Don't use streams-level buffer on zlib streams. 2002-10-15 02:27:15 +00:00
Rasmus Lerdorf
5acdd41d6e Make zlib-dir actually mean something during the check 2002-10-07 22:27:50 +00:00
Rasmus Lerdorf
74286bd28d Argh! Revert. I'm on drugs. Was linking in a newer libz when I checked
this.
2002-10-07 21:13:46 +00:00
Rasmus Lerdorf
a6b780f94e Oops, should still define that. Didn't think I needed it as nothing in
ext/zlib checks it, but it is checked elsewhere.
2002-10-07 20:59:59 +00:00
Rasmus Lerdorf
6446f7158b This restriction is no longer true after the streams changes. 2002-10-07 20:55:41 +00:00
Wez Furlong
077fe52d8b This seems to resolve the issues with fgets.
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.
2002-10-05 10:35:13 +00:00
Yasuo Ohgaki
22bf29384e Move wrong output buffer usage check to ob_gzhandler init.
Export some output buffer functions.
2002-10-03 03:58:12 +00:00
Marcus Boerger
d4bba6d158 Revisted Wez patch: chunk_size 0 means cahce the whole output. So
we must apply the default before calling php_enable_output_compression().
I have left the default setting in the rinit function even though i do think
it is not necessary.
2002-10-02 15:02:16 +00:00
Wez Furlong
4356932dfe Fix infinite recursion bug when using zlib output compression.
Cause: the chunk size is taken from the zlib.output_compression setting,
which is 0 or 1.  This causes the block_size for output buffer to be set
to 0 (1 / 2) and thus causes infinite recursion in php_ob_allocate().
Solution: use a value of 0 for the chunk size which will use the default
sizes.  Also add a sanity check which will default the block_size to 1
if it ends up as 0.
2002-09-30 10:18:06 +00:00
Wez Furlong
3a67c67737 Rename file_get_wrapper_data -> file_get_meta_data.
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
2002-09-26 10:14:41 +00:00
Wez Furlong
4d8a07d529 Implement read buffering in streams.
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.
2002-09-23 01:47:04 +00:00
foobar
3bf7519210 @- Added --disable-all configure option. (Jani) 2002-09-04 18:47:28 +00:00
foobar
639221694f Use zend_ini_string instead of the 'alias'. 2002-09-03 22:54:02 +00:00
Zeev Suraski
a6e8e72372 Fix ob_gzhandler()'s handling of requests w/o compression but that do have
the Accept-Encoding header
2002-08-23 08:37:35 +00:00
Wez Furlong
62b7b412e2 *cough* 2002-08-22 17:40:25 +00:00
Wez Furlong
a388ab6205 Fix error messages. 2002-08-22 17:37:46 +00:00
Stefan Roehrich
0ea1dda8cd Fixed prototype.
Fixed double printing of function name in docref error messages.
2002-08-22 09:38:55 +00:00
Marcus Boerger
f15b4c1e30 change to php_error_docref()
#documentation about output relevant ini settings will be in ref.outcontrol
2002-08-20 20:22:30 +00:00
Marcus Boerger
fdf514f45c Changed handling of output buffer sizes. 2002-08-20 19:51:00 +00:00
Yasuo Ohgaki
42355837c1 Changed my mind.
Let users decided whether users want larger chunk size or not.
@ Changed zlib.output_compression behavior. If larger chunk is preferred,
  enable output_buffering also. (Marcus, Yasuo)
2002-08-11 02:32:49 +00:00
Yasuo Ohgaki
02ed705818 Generally speaking, sending packets less than 1KB is not efficient.
We're better to take some benchmarks see if removing extra buffer
is actually a good idea or not.
2002-08-11 01:11:11 +00:00
Marcus Boerger
21903dfc7e corrected handling of internal output buffers
minor fixs
2002-08-10 16:12:36 +00:00
Marcus Boerger
ff63bf2a4f no need to start additional first buffer when output compression is first buffer 2002-08-10 12:58:46 +00:00
Marcus Boerger
289607970c should fix all windows warnings 2002-08-10 10:40:59 +00:00
Marcus Boerger
9c8ba935d6 Improved handling of output buffers (see news)\n#No trim for the string parameter... 2002-08-09 22:29:58 +00:00
Stefan Roehrich
6f786ebf3e Commit patch as discussed on LinuxTag and posted to php-dev in June.
Disables zlib.output_compression for scripts with image/ content-type
header (fixes bug #16109) and makes it possible to switch
zlib.output_compression during script execution before the headers are
sent.
@- zlib.output_compression is disabled for "image/" content-type
@  headers and can be changed during script execution. (Stefan)
2002-07-28 14:08:08 +00:00
Derick Rethans
94127f25e3 - oops... read before commit :) 2002-06-18 10:09:41 +00:00
Derick Rethans
81860467d4 - It doesn't work from within a script... so we disallow it 2002-06-18 10:06:54 +00:00
Stefan Roehrich
cce0d2f72d Added "Vary: Accept-Encoding" header to zlib.output_compression
compressed output as with obgzhandler().
@ If zlib.output_compression is enabled and a page is compressed
@ a "Vary: Accept-Encoding" header is added. (Stefan)
# obgzhandler() sends this header, I think it is recommened by
# RFC 2616. If there are problems (e.g. with some browsers)
# it should be reverted.
2002-06-02 21:35:06 +00:00
Yasuo Ohgaki
43df0c78c0 Move Content-Length: header handling from zlib.c to output.c
When output buffer is enabled and header can be sent, Content-Length:
header is added always from now on.
2002-05-02 01:12:01 +00:00
Sascha Schumann
30fd7de1fa s/len/xln/ was necessary here
Noticed by: Charles O Parks III
2002-04-27 23:37:17 +00:00
Sascha Schumann
aab439f26f Use a single macro to set cl header 2002-04-27 18:41:38 +00:00
Thies C. Arntzen
7b59a131b6 @ - If possible set Content-Length header in zlib.output_compression mode. (thies) 2002-04-27 17:03:32 +00:00
Wez Furlong
928bae9cf8 Make scheme part decoding rfc2396 compliant.
Change zlib:// and bzip2:// to compress.zlib:// and compress.bzip2://
Tidy up old socket/network code/comments.
2002-04-19 10:06:41 +00:00
Wez Furlong
b10b24d50c Always initialize wrappers, regardless of PG(allow_url_fopen).
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
2002-04-16 22:14:27 +00:00
Wez Furlong
1f4d4873dc remove old code 2002-04-16 14:47:20 +00:00
foobar
067ca4e813 Do NOT use C++ comments in C code. 2002-04-12 21:19:59 +00:00
Frank M. Kromann
7ff43f040f Removing a unused local variable.
Setting the size before returning the value in readgzfile
2002-04-12 16:25:31 +00:00
Wez Furlong
e1d0a14790 Implement stream context and status notification system.
Bump the BC for zlib notice to a warning
# See my RFC to php-dev a few days ago
2002-04-10 22:42:32 +00:00
Wez Furlong
62538caa86 Added BC support for old style zlib: wrapper.
Added notice when a requested wrapper is not found.
# This BC thing was giving me nightmares.
# It took me 10 minutes to realize I hadn't compiled in zlib support also.
2002-04-06 17:29:39 +00:00
Stig Bakken
dedf2a4c39 @Add zlib.output_compression_level option (Stig) 2002-04-05 13:07:43 +00:00
Zeev Suraski
385b233040 Fix gzip/bz2 builds for Windows 2002-04-05 11:51:43 +00:00
Wez Furlong
2539cbc74c Phase 3 of OO wrapper cleanup
# What was phase 2?
2002-03-28 00:49:00 +00:00
Wez Furlong
5ee65bd8f5 Phase 1 of wrapper OO cleanup.
# Collecting underpants
2002-03-24 18:05:49 +00:00
Wez Furlong
06f6e47e4c Require that wrappers use <protocol>://<path> to avoid
ambiguities when filenames have ':' characters.
This slightly breaks BC with the old style zlib: wrapper.
2002-03-21 17:02:50 +00:00
Wez Furlong
c0e39dfa9c Implement bz2 streams and bz2: wrapper.
You can now do this:
copy("zlib:src.gz", "bz2:dest.bz2");
As with zlib, most of the functions with counterparts
in file.c are now aliases to those functions.
2002-03-21 02:27:41 +00:00
Wez Furlong
8da0093935 really nuke it... 2002-03-21 01:22:36 +00:00
Wez Furlong
a662f012bb Convert the gzfile related functions into aliases for their equivalents
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.
2002-03-21 01:11:52 +00:00