Commit Graph

308 Commits

Author SHA1 Message Date
Wez Furlong
05b9b20ed8 Add new (optional!) win32 build infrastructure.
Will follow up to internals@ shortly.
2003-12-02 23:17:04 +00:00
Hartmut Holzgraefe
075e66cc08 signed/unsigned compiler warning fixes 2003-09-26 08:09:56 +00:00
Stefan Roehrich
6206837929 Code cleanup:
Fixed ob_gzhandler with register_long_arrays = On.
Unified compression_coding global var (removed ob_gzip_coding).
Switched to zend_parse_parameters().
Added some tests.
2003-09-06 15:31:35 +00:00
Sascha Schumann
5b09f342fe improve format string 2003-08-29 07:34:47 +00:00
Stefan Roehrich
aa632187cd Fixed bug #25218 ("deflate" compressed pages had a gzip header, which
should only be sent with "gzip" compressed pages).
2003-08-24 13:59:34 +00:00
Stefan Roehrich
8828e17a44 Fixed zlib.output_compression without register_long_vars set. 2003-08-24 13:32:50 +00:00
foobar
e9eb29011c Nuke unused variable 2003-08-11 01:56:43 +00:00
Derick Rethans
e491d75df3 - Fix memleak (this strndup is totally unnecessary) 2003-08-09 11:20:38 +00:00
Ilia Alshanetsky
308df2af54 Fixed bug #24827 (ob_gzhandler overrides Vary header) 2003-07-27 18:16:06 +00:00
Ilia Alshanetsky
402edee1a6 gztell() is not necessary, the return value of gzseek() represents the
new position. With zlib 1.1.4 gztell() alse returns 0 when working
on non-zlib files (test ext/zlib/tests/gzreadgzwriteplain.phpt).
2003-07-24 00:03:42 +00:00
Andrey Hristov
5fcc682ebc proto fixes 2003-07-19 19:23:34 +00:00
Sascha Schumann
7c5afebdb8 Don't add -L/usr/lib 2003-06-27 00:37:21 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Rasmus Lerdorf
18954d8bd2 Remove bogus commit here too 2003-05-21 17:02:40 +00:00
Sander Roobol
ff36043d14 ob_gzhandler and zlib.output_compression should send a Content-Length
header if the length of the complete compressed  output is known
# MFH follows in a few minutes, please wait with the release :)
2003-05-21 16:05:03 +00:00
Sara Golemon
5126fbe556 Setup unlink() method in wrapper_ops structure, implement unlink in plainfiles wrapper, explicitly set method NULL in other wrappers (for now), and rewrite unlink userland function to call into wrapper_ops 2003-05-14 06:10:04 +00:00
foobar
d8a62b8e4d WS & CS fixes 2003-03-17 14:45:07 +00:00
Hartmut Holzgraefe
fa692f6744 proto fix 2003-03-17 13:08:59 +00:00
David Hill
1edf7f55e5 64 bit corrections to parameters to OnUpdateInt Bug #20994 (Dave) 2003-03-10 14:50:16 +00:00
foobar
3c9155e0cb Renamed OnUpdateInt -> OnUpdateLong to prevent further misunderstandings.
# Intentionally left out any 'alias' for it, this way 3rd party extension
# maintainers will really NOTICE the change.
2003-03-07 05:15:28 +00:00
David Hill
5c90216d2c 64-bit correction to variables passed to zend_parse_parameters
@64-bit correction to variables passed to zend_parse_parameters (Dave)
2003-03-06 23:07:28 +00:00
Stefan Esser
af4aa97d1e Fixing functionicalls with variable number of parameters... 2003-03-06 20:31:20 +00:00
Zeev Suraski
4934744b93 Win32 build improvements 2003-02-17 13:29:59 +00:00
Wez Furlong
0a18a9d744 A add much more useful select(2) implementation than is provided by
windows sockets.  The winsock implementation will only work with sockets;
our implementation works with sockets and file descriptors.
By association, stream_select() will now operate correctly with files, pipes and sockets.

This change required linking against the winsock2 library.  In terms of
compatibility, only older versions of windows 95 do not have winsock2
installed by default.  It is available as a redistributable file, and is most likely installed by any OS patches (eg: Internet Explorer) applied by the user.

Also, add a win32 compatible pipe test when opening a stream from a pipe.  This test will only work on NT, win2k and XP platforms.  Without this test, interleaved fread() and select() calls would cause the read buffer to be clobbered.  I will be working on a fix for this issue for win9x.
2003-02-16 03:48:49 +00:00
Moriyoshi Koizumi
21f766b7a4 Fixed zlib.output_compression so it can work even if zlib extension is built as shared 2003-02-10 19:04:44 +00:00
Ilia Alshanetsky
72b356c1bc Removed pointless memory allocation checks. 2003-01-18 19:28:10 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
Wez Furlong
abc4b4bb99 Fix for #21304 (gzopen did not report errors on open; "a" mode broken) 2002-12-31 11:42:15 +00:00
Ilia Alshanetsky
87a8b04051 Fix ZTS build. 2002-12-31 00:04:52 +00:00
Ilia Alshanetsky
0acb52fc3b Fixed bug #21228 (broken check for ob_gzhandler).
Fixed a bug that made ob_start return incorrect return value.
2002-12-30 19:39:31 +00:00
Wez Furlong
58210f9232 Centralize fopencookie test 2002-12-09 18:29:07 +00:00
Wez Furlong
ca6b002e4c MFB: zlib stream tests 2002-12-09 16:43:15 +00:00
Wez Furlong
f4ca743d66 MFB zlib related fixes
(sorry I didn't get around to doing this sooner)
2002-12-09 10:54:20 +00:00
Stefan Roehrich
e50dc16b21 Comment about maximal length now matches code. 2002-12-01 18:48:51 +00:00
Hartmut Holzgraefe
8bd550825f email address change 2002-11-25 12:30:28 +00:00
Wez Furlong
ca58966a0d Merge streams changes from branch. 2002-11-18 11:39:42 +00:00
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
Wez Furlong
3dbde95896 Make state parameter of php_strip_tags passed by reference.
Move state tracking to stream structure.
2002-03-20 14:38:13 +00:00
Wez Furlong
659a071e3d Streams are all tracked as resources now.
Add some logic that will help track down leaks
when debug is enabled.
2002-03-20 14:21:30 +00:00
Wez Furlong
14d62c7b62 Add parameter here too... 2002-03-20 13:50:16 +00:00
Wez Furlong
6f77640ca8 add forgotten parameter 2002-03-20 13:21:55 +00:00
Wez Furlong
06712a508a Implement user-space streams.
There's probably room for improvement,
docs will following some time this week.
2002-03-19 03:51:01 +00:00
Wez Furlong
c9d5e13738 TSRMLS related work on streams, as discussed with Zeev.
# Should be the last "broad" commit for a while
# Don't forget to make clean ; make
2002-03-18 18:54:32 +00:00
Wez Furlong
5fb9f9c134 fix warning 2002-03-18 11:49:40 +00:00
Stanislav Malyshev
834042f56d Update .dsp 2002-03-18 09:47:24 +00:00
Zeev Suraski
73e79322ba Fix the build and all of the outstanding VC++ warnings 2002-03-18 08:05:28 +00:00
Wez Furlong
d2d8762267 Streams now make more use of the memory manager, so tracking down
leaking streams should be easier.
# I hate these big commits
2002-03-17 22:50:59 +00:00
Wez Furlong
5d0c53eecf Fix some issues with gzFile and fsockopen. 2002-03-16 18:42:42 +00:00
Wez Furlong
bed04279c3 Hopefully fix resource usage so that we have no leaks and don't segfault. 2002-03-16 14:39:51 +00:00
Wez Furlong
bc264db921 change * formatting 2002-03-16 01:37:24 +00:00
jim winstead
d3400b2b5f the 'setup' script was removed more than two years ago.
these can be safely removed from the 4.2 branch, too.
2002-03-16 00:21:40 +00:00