Commit Graph

2625 Commits

Author SHA1 Message Date
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
Wez Furlong
3ee72aa5be port "liveness" checks and a couple of other things from the 4.3 branch.
Liveness checks are used to validate persistent socket connects when they
are re-used.
2003-11-27 17:39:01 +00:00
Derick Rethans
370dfd39a9 - Prevent registration of the variable when a zero-length is returned
from the sapi_input_filter.
2003-11-26 09:53:22 +00:00
Sara Golemon
0831f2b03a Fix for file:// wrapper parsing.
(Cristiano Duarte <cunha17@uol.com.br>)
2003-11-23 17:35:00 +00:00
Stefan Esser
28b6c35d80 On error do not leave content_type_dup unitialised. 2003-11-22 21:10:47 +00:00
Andi Gutmans
2fefe6148b - Commit patch by standards 2003-11-19 06:11:47 +00:00
Edin Kadribasic
45f12cc61f Windows compile fix (patch by sfox@php.net). 2003-11-13 10:32:05 +00:00
Stefan Esser
befbd6d793 Fix odd increments to repair the boundary checks. 2003-11-12 22:34:58 +00:00
Rui Hirokawa
744212ab45 added buffer reallocation for filename. 2003-11-05 23:27:41 +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
Stefan Esser
b763dd42c3 Fixed possible crashbug. 2003-11-03 11:46:33 +00:00
Stefan Esser
f670f9c683 It is usually a good idea to write only into allocated bufferspace. 2003-11-03 09:16:24 +00:00
foobar
9e0da5e741 Next is beta3.. 2003-10-30 15:14:31 +00:00
Andi Gutmans
b72364ccc1 - Beta 2 2003-10-30 10:00:44 +00:00
Sara Golemon
495fd01ca4 Stop looking once we've found a matching filter. 2003-10-28 23:29:16 +00:00
Sara Golemon
c9b49af990 Extend Filter matching to check wildcards at multiple levels.
Ex:  foo.bar.baz.bomb
Searches:
     foo.bar.baz.bomb itself,
     foo.bar.baz.*,
     foo.bar.*, and
     foo.*

Also changed tempvar "char wildcard[128];" to an estrdup() to
deal with potential filternames longer than 127 bytes.
2003-10-28 21:52:59 +00:00
Rui Hirokawa
0ce637835a name/value in multipart/form-date will be converted into internal encoding when mbstring.encoding_translation is On. 2003-10-22 14:14:05 +00:00
Marcus Boerger
2c454d7a1f Bugfix #25930 Can't compile snprintf.c 2003-10-21 07:36:43 +00:00
Ilia Alshanetsky
24793840b2 Fixed unused variable warning on *nix. 2003-10-20 02:21:25 +00:00
Shane Caraveo
399095e7a5 Add libxml extension for common code that is needed to be shared between
various xml extensions.  currently the only implemented support is the
addition of the streams support for libxml.  One new function,
libxml_set_streams_context, which allows a streams context to bet set
prior to loading or writing documents.  This works transparently with any
extension that uses libxml.  All ini settings that effect streams will
also now effect the loading and writing of xml documents.

TODO: linux support, not sure if config.m4 will work right.
2003-10-19 21:48:46 +00:00
Shane Caraveo
3a6ff32e2b finish file uri support, this stuff was unecessary. 2003-10-19 21:19:54 +00:00
Shane Caraveo
2a41429472 A simpler patch to add file uri support 2003-10-19 20:59:12 +00:00
Shane Caraveo
0029a45795 revert file: support in preparation for simpler patch 2003-10-19 20:57:20 +00:00
Shane Caraveo
e5103d764a make file uri's work with streams 2003-10-19 20:04:33 +00:00
Stanislav Malyshev
06aae4bd9c Enable setting php.ini path via the registry 2003-10-19 10:39:27 +00:00
Ilia Alshanetsky
3c84c0eefc Fixed bug #25836 (last key of multi-dimensional array passed via GPC
not being escaped when magic_quotes_gpc is on).
2003-10-14 03:49:13 +00:00
Ilia Alshanetsky
639216a4aa Fixed bug #25746 (Do not bail out when unable to chdir original dir on
systems with broken getcwd()).
2003-10-09 02:58:34 +00:00
Wez Furlong
590b3ccc79 Set the EOF indicator after each read attempt.
This prevents it getting stuck in the on position.
2003-10-08 10:55:51 +00:00
Stanislav Malyshev
dd7bdcf4b1 Fix $_SERVER['argv'] and $_SERVER['argc'] 2003-10-07 08:46:16 +00:00
Moriyoshi Koizumi
921e5b47c5 Fix fgetcsv() to correctly support international characters
# note: mblen() is not a mbstring function, but is part of the ANSI standard
# which is even supported by Microsoft's libc.
2003-10-04 02:51:19 +00:00
Andrei Zmievski
b3920d5012 Made the $argc and $argv always available as globals in CLI, and not as
$_SERVER vars which depended on variables_order anyway. No more
silliness.
2003-10-01 23:11:59 +00:00
Ilia Alshanetsky
6ac36d1a00 More NaN & INF handling fixes. 2003-09-29 23:44:07 +00:00
Ilia Alshanetsky
7356a9b312 Fixed Bug #25665 (var_dump() hangs on Nan and INF). 2003-09-29 01:07:55 +00:00
Hartmut Holzgraefe
075e66cc08 signed/unsigned compiler warning fixes 2003-09-26 08:09:56 +00:00
Ilia Alshanetsky
102a5cadfd Fixed bug #25293 (Output correct EOL to error_log) 2003-09-24 23:20:48 +00:00
foobar
04a575389f Removed unnecessary ssl.h include 2003-09-23 16:04:03 +00:00
Ilia Alshanetsky
855015ecd0 When track_errors was enabled, we tried to assign value already freed char. 2003-09-18 00:04:57 +00:00
Marcus Boerger
9f329adb02 Add length modifier L 2003-09-14 09:50:36 +00:00
Marcus Boerger
9b98e42f35 - Add length modifiers(ll, j, t, h, hh)
# Still missing formats (%a, %A)
# Still missing modifier (l) in (%lc, %ls)
# Still missing modifier (L) in (%La, %LA, %Le, %LE, %Lf, %LF, %Lg, %LG)
# C99 requires any conversion to be able to produce at least 4095
# characters. Implementation only allows less then 512.
#
# Only inside ext/mbstring etc. we could use %lc and %ls. And none of the
# rest should affect us until we stay with double and avoid long double.
2003-09-14 09:12:54 +00:00
Marcus Boerger
3cf2d2f108 Show the whole message when in debug mode 2003-09-13 19:56:38 +00:00
Ard Biesheuvel
f940b0fe3c Pointer size fix 2003-09-13 19:43:39 +00:00
Marcus Boerger
af574b9699 - Fix %p to prepend '0x' as suggested by C99.
- Add 'z' prefix.
# Now you can use '%zd' in [v]spprintf() and everything that utilizes it
# like error messages BUT you still cannot rely on it in [v]s[n]printf()
# calls.
2003-09-13 16:49:24 +00:00
Ard Biesheuvel
6f37733367 Fixed for 64bit archs 2003-09-13 15:27:09 +00:00
Ilia Alshanetsky
ef23b497d4 Fixed bug #25316 (Possible infinite loop inside _php_stream_write()). 2003-09-11 05:07:26 +00:00
Stefan Roehrich
2fc92e8fd8 Fix for bug #23488 zlib.output_compression overrides vary header.
It was already fixed for ob_gzhandler (#24827).
2003-09-10 08:47:37 +00:00
Ilia Alshanetsky
0a3d5c9b08 Fixed bug #25429 (fix copying of stdin using copy() function) 2003-09-10 00:58:12 +00:00
foobar
6ed790685f configure.in 2003-09-08 13:14:41 +00:00
Marcus Boerger
e5e6040efe Remove unwanted space 2003-09-04 14:43:36 +00:00
Ard Biesheuvel
3d6426ee14 Fix use of EXTERN_C macros 2003-09-02 13:34:23 +00:00
Ard Biesheuvel
e6ea5ca9c3 Fix use of EXTERN_C macros 2003-09-02 13:07:17 +00:00
Marcus Boerger
e69028346a Error message clean up part IV: spprintf/estrndup don't return on 'out of mem'
Error message clean up part V: Show PHP Startup/Shutdown
2003-09-02 12:12:05 +00:00
Marcus Boerger
a383ff01e6 Error message clean up part III: Fix ini setting logic & respect docref_root 2003-09-02 00:35:51 +00:00
Marcus Boerger
107a59ae72 Error message clean up part II: Don't show params where none apply. 2003-09-01 23:32:28 +00:00
Marcus Boerger
4e049f9fc9 Error message clean up part I: always show 'Unknown' instead of empty names. 2003-09-01 22:55:40 +00:00
Marcus Boerger
d45fd8a1b1 Make vspprintf available as zend utility function. Use it in exception output. 2003-08-31 09:35:54 +00:00
Marcus Boerger
ab22461262 Add define to reset error handling more easily 2003-08-29 00:22:36 +00:00
Ilia Alshanetsky
9d9727aac5 Fixed compiler warnings. 2003-08-28 19:17:34 +00:00
Sascha Schumann
af8e15b8db kill warnings 2003-08-28 17:07:40 +00:00
Sascha Schumann
341b7b5df1 add format attribute where appropiate 2003-08-28 16:49:43 +00:00
Sascha Schumann
258d958d4f Use ZEND_GCC_VERSION and ZEND_ATTRIBUTE_MALLOC 2003-08-28 14:53:36 +00:00
Sascha Schumann
5ef7cc4cb6 Let GCC check format arguments 2003-08-28 05:23:08 +00:00
Ilia Alshanetsky
a326bde2e8 Prevent a crash when expand_filepath() fails. 2003-08-27 01:10:10 +00:00
foobar
e4677c014a - Fixed bug #25166 (WDDX serializer handler missing in win32). (Jani) 2003-08-26 02:50:39 +00:00
Marcus Boerger
3b7d5781de - Simplify php_error_cb()
- Make errors show the class where possible
2003-08-25 20:51:40 +00:00
Ilia Alshanetsky
d52172ad89 Fixed bug #25127 (reset memory_limit before terminating the request) 2003-08-22 20:01:53 +00:00
Brian France
ab2ebdb49b Updated PHP_API_VERSION to 20030820 for the php_setcookie api change 2003-08-22 16:43:29 +00:00
Zeev Suraski
7b4ec88d76 No need for those code blocks anymore... 2003-08-20 23:00:08 +00:00
Ilia Alshanetsky
ece0a731e9 Fixed bug #25170 (Problem with generation of random numbers on solaris) 2003-08-20 16:40:22 +00:00
Wez Furlong
b61e6e24c3 Unify TSRMLS_FETCH() usage.
Fix release build: two instances of } were placed inside #ifdef ZEND_DEBUG
2003-08-19 03:25:00 +00:00
Wez Furlong
ef498a27b8 linkage for C++ 2003-08-18 23:19:27 +00:00
Zeev Suraski
642e331309 Improve tracking 2003-08-18 22:31:29 +00:00
Sascha Schumann
602d1b0045 One bit fields need to be unsigned, otherwise there is no storage for
the sign bit

"A signed bit field has a length of 1 bit."
2003-08-17 13:49:52 +00:00
Wez Furlong
6e6a793bb9 fix this stuff 2003-08-14 17:06:43 +00:00
Wez Furlong
6df5d5ba20 Add new COM (and .Net) extension for php5.
Not yet complete, but should work for most people.
2003-08-14 16:49:56 +00:00
Ilia Alshanetsky
93bcd55eaf emalloc -> safe_emalloc 2003-08-12 00:58:52 +00:00
Marcus Boerger
c60d2a312e Bugfix #25044 2003-08-11 19:36:26 +00:00
Masaki Fujimoto
ab9dcec292 - added script encoding support to Zend Engine 2.
this enables ZE2 to gracefully parse scripts written in UTF-8 (with BOM),
  UTF-16, UTF-32, Shift_JIS, ISO-2022-JP etc... (when configured with
  '--enable-zend-multibyte' and '--enable-mbstring')
2003-08-11 05:24:42 +00:00
Marcus Boerger
3466a48add Initialize this variable to 0 as suggested by sara 2003-08-10 21:30:36 +00:00
Ilia Alshanetsky
c99e16d14a Timeout fix. 2003-08-09 23:15:40 +00:00
foobar
3c1cb7431e MFB 2003-08-09 14:27:16 +00:00
Ilia Alshanetsky
5e9a18a5c0 Fixed bug #24951 (ob_flush() needlessly destroys output handler). 2003-08-08 23:43:45 +00:00
Marcus Boerger
4ea2599301 Clearify 2003-08-08 19:48:33 +00:00
Marcus Boerger
2ede480de2 Bugfix #24063 (marcus/ilia) 2003-08-08 19:47:30 +00:00
Zeev Suraski
4e796a7080 Remove unnecessary macro 2003-08-03 17:42:01 +00:00
Ilia Alshanetsky
de7f7658cf Only register server variables when needed. 2003-07-31 22:56:57 +00:00
Ilia Alshanetsky
0eb76eb2ec Fixed bug #24883 (variables created through register_globals, ignore
gpc_order and variables_order).
Prevent multiple registration of ENV & SERVER variables when more then one
is specified.
Prevent multiple addition of GET/POST/COOKIE variables when building
_REQUEST.
2003-07-31 22:29:32 +00:00
Ilia Alshanetsky
ecbcd7f59f Fixed bug #22154 (Possible crash when memory_limit is reached and
output buffering in addition to session.use_trans_sid is used).
2003-07-31 19:46:03 +00:00
Ilia Alshanetsky
9ba651c692 Fixed bug #24873 (incorrect handling of / inside open_basedir) 2003-07-30 17:55:06 +00:00
Zeev Suraski
0d77cf2a33 Call exec_finished() 2003-07-30 16:15:03 +00:00
Ilia Alshanetsky
4d98e9ec97 Finalize the closing process of persistent streams. The current
behavior/API is as follows:

1) To close a persistent use php_stream_pclose(), it will close the stream
and remove it from the persistent list.

2) Inside PHP code only explicit fclose() will close persistent streams,
all other actions such as unset() or assigning a value to stream handle
will not.

3) Regular streams can still be closed by either fclose(), unset() or an
assignment of a value to the stream handler.
2003-07-29 18:26:34 +00:00
Ilia Alshanetsky
37ee0e57cc Fixed a double free bug when freeing persistent streams. 2003-07-28 18:57:28 +00:00
Edin Kadribasic
37cbc7cbb5 Partial MDB 2003-07-25 11:41:33 +00:00
Zeev Suraski
0a49c033d0 - Use the new infrastructure of zend_symtable_*() (fixes bug #24565)
- Fix bogus use of get_current_key()
2003-07-22 16:08:50 +00:00
Ilia Alshanetsky
1e92b5e7a3 Make php_check_safe_mode_include_dir check independent of unrelated
open_basedir directive and make it properly handle undefined/empty
safe_mode_include_dir directive when safe_mode is enabled.
2003-07-22 01:32:01 +00:00
Zeev Suraski
023c8a7d95 Fix register_globals 2003-07-21 17:42:24 +00:00
Zeev Suraski
f4ae16519c Remove old code 2003-07-21 17:41:42 +00:00
Marcus Boerger
244795a4df Fix text output of numbers with absolute exponent greater than or equal 80.
#
# Probably not last conclusion on wisdom. But i looked up current apache
# sources and they have the same error and so this must do the trick.
#
2003-07-17 21:26:25 +00:00
Marcus Boerger
bdfed34ef6 Bugfix #22690 2003-07-16 08:36:04 +00:00
Wez Furlong
5cf5248b00 Fix for mips compiler. 2003-07-14 19:38:13 +00:00
foobar
253dc38445 Fixed bug #24563 (preg_match() crashes PHP under Apache2) 2003-07-10 16:08:56 +00:00
Wez Furlong
fa342d2404 MFB: binary mode by default under win32. 2003-07-05 08:25:25 +00:00
Sterling Hughes
9a29929029 avoid external conflicts in apache 2003-07-04 18:19:02 +00:00
Moriyoshi Koizumi
fd9d9dea1c Fix build 2003-07-03 15:26:12 +00:00
foobar
50d3650a92 Cut the long line a bit for readability.. 2003-07-03 02:59:04 +00:00
Ilia Alshanetsky
a96aa89ae3 Compiler warning fix. 2003-07-03 00:55:20 +00:00
Sara Golemon
444615e74c Introduce connection pooling API. I'll use these in http/ftp fopen wrappers soon. 2003-07-02 22:18:59 +00:00
Wez Furlong
49228bd5e2 more size_t -> socklen_t.
Noticed by tychay@php.net
2003-07-02 21:11:35 +00:00
Wez Furlong
989500b347 socklen_t needs this.
We might need some more magic to ensure that socklen_t gets defined in
the correct places; lets see if any more problems arise...
2003-07-02 01:35:39 +00:00
Wez Furlong
17cbf83404 size_t -> socklen_t
fixes warnings under macosx
2003-07-01 19:51:06 +00:00
Ilia Alshanetsky
8cb5c9c6ba Fixed bug #24063 (*printf() did not handle scientific notation correctly) 2003-06-30 01:03:21 +00:00
Rui Hirokawa
2b44c63d50 Fixed corruption of multibyte character including 0x5c as second
byte in multipart/form-data.
2003-06-28 23:37:18 +00:00
Wez Furlong
5ecc91c27d Merge selectable descriptor casting from PHP_4_3 branch. 2003-06-28 11:24:47 +00:00
Wez Furlong
8dfe385215 Merge getaddrinfo() tidy-up from PHP_4_3 branch. 2003-06-28 11:12:48 +00:00
Wez Furlong
c0c20ef6f6 Fix for mips compiler 2003-06-28 11:06:11 +00:00
Edin Kadribasic
2e9c9427ec Move along, nothing to see. 2003-06-27 22:18:06 +00:00
Sterling Hughes
1135af7340 beta 1 2003-06-27 22:09:12 +00:00
Sebastian Bergmann
f8af9c3cee MFB: libpcre 4.X needs POSIX_MALLOC_THRESHOLD to be defined. 2003-06-27 16:43:05 +00:00
foobar
3a7ca909be - HAVE_OPENSSL_EXT is not defined always. 2003-06-27 16:41:41 +00:00
Sara Golemon
2e4ef86e10 MFB
Plug leak in context notifiers, implement notifier->dtor
2003-06-27 16:23:58 +00:00
Edin Kadribasic
94b7050bc0 Enabled sqlite by default on Windows.
# Also added iconv.lib to the build since it is a dependency of
# the precompiled libxml. This will be removed later.
2003-06-27 14:32:59 +00:00
Sascha Schumann
9979003eeb undefine macros before defining them 2003-06-27 07:43:42 +00:00
Sara Golemon
ac79577776 MFB PHP_4_3 main/streams.c r-1.125.2.70 2003-06-27 04:27:18 +00:00
Zeev Suraski
daae086380 New logo (not final yet...) 2003-06-26 17:30:41 +00:00
Sebastian Bergmann
1c6c9e9485 Sync. 2003-06-26 15:15:02 +00:00
Sebastian Bergmann
4434c8e0d6 Add ext/dom and ext/simplexml to the Win32 default build. #Apart from a linker error when HAVE_SIMPLEXML=1 is set this already works. More research, after a good night's sleep, is required ;-) 2003-06-25 21:37:50 +00:00
Sebastian Bergmann
926bd5cf29 Disable MySQL extension by default. 2003-06-25 05:01:50 +00:00
Sebastian Bergmann
a10e5b6381 Remove ext/rpc references from Windows build. 2003-06-25 04:54:23 +00:00
Ilia Alshanetsky
419448238b Fixed typo. 2003-06-24 14:36:01 +00:00
Ilia Alshanetsky
6b5b6079da Fix for bug #24313 (port from dead PHP_5 branch) 2003-06-24 13:56:25 +00:00
Ilia Alshanetsky
caef4c7776 Handle numeric keys passed via GPC 2003-06-17 17:15:02 +00:00
Ilia Alshanetsky
e40142047b Fixed bug #24208 2003-06-16 19:24:56 +00:00
Sara Golemon
730ce7b06f Add context property to userspace streams object. 2003-06-16 19:13:39 +00:00
Sara Golemon
2f4e91bf8a optionvalue is being copied via zval_copy_ctor, there's no need to addref the original 2003-06-16 18:19:14 +00:00
Edin Kadribasic
6e2743023b Win32 build fixes for openssl 2003-06-15 23:34:46 +00:00
Marcus Boerger
f304458bdb Fix ZTS mode (hopefully all is working fine now again) 2003-06-14 19:30:42 +00:00
Ilia Alshanetsky
93a5238465 Fixed bug #24007 (Problem with register_globals & arrays) 2003-06-14 15:08:27 +00:00
Sara Golemon
99db19661a Plug leak (context options not freed)
Make contexts auto-registered, ensures userland contexts
and C API contexts are both dealt with on request shutdown.
Also brings contexts in keeping with streams which are already
auto-registered.
2003-06-13 21:33:59 +00:00
Derick Rethans
5b1f7be3eb - MFB: HTTP Request Methods are case sensitive
#- This was surrounded by an #ifdef, but I thought I fixed it too.
2003-06-12 08:38:58 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Edin Kadribasic
f7c9551d5e MFB 2003-06-09 01:00:23 +00:00
Zeev Suraski
ce40bc9073 Make $_FILES auto global (bug #23680) 2003-06-08 15:30:33 +00:00
Edin Kadribasic
b7713f411e Fix for #23902 by Shane.
Removed bogus recommendation from php.ini files.

# Basic authentication is actually possible
# usign IIS + PHP cgi countrary to our current docs
2003-06-03 10:06:45 +00:00
foobar
d5253b4f1f Follow the "standard" naming. 2003-05-30 20:03:10 +00:00
Hartmut Holzgraefe
ac2606bf58 fix for crashbug with user level wrapper implementations of stream_stat 2003-05-29 20:19:03 +00:00
Sebastian Bergmann
d1cb228bf1 Get rid of references to expat in MSVC project files. For now this expects libxml2 (library and includes) in one of the MSVC default include/library directories. Right now it doesn't link, dunno why -- working on it. 2003-05-24 08:03:38 +00:00
Sara Golemon
dccf33b4e8 MFB(r-1.122.2.10)
Bug#23765 File upload handler should not care about case sensitivity of header values.
2003-05-23 21:40:45 +00:00
Ilia Alshanetsky
5298fd6256 MFB 2003-05-21 22:56:59 +00:00
Wez Furlong
2d1a6e5dc2 MFB context refcounting and text-mode fopen fixes 2003-05-21 13:33:55 +00:00
Sara Golemon
83b7b75c3c Implement default contexts. For the moment this is useless
but it will be used soon for connection pooling.
2003-05-21 04:04:50 +00:00
Hartmut Holzgraefe
b5bef8f7b3 always return timestamps as 'atime', 'mtime' and 'ctime'
no matter what names the underlying platform uses for them
2003-05-20 13:09:11 +00:00
Wez Furlong
192f632e2e MFB fix for persistent streams recycling. 2003-05-19 22:58:34 +00:00
Marcus Boerger
f10a7b90b2 Fix warning 2003-05-19 18:48:15 +00:00
Marcus Boerger
1b0fdbf63a Fix memleaks 2003-05-19 18:46:59 +00:00
Sebastian Bergmann
88cb80020a First try at getting the Windows build working again after libxml2 got unbundled. 2003-05-19 16:28:08 +00:00
Derick Rethans
92f0da58e6 - Rename stream_register_filter() to stream_filter_register(),
stream_register_wrapper() to stream_wrapper_register() and added an alias for
  the latter change.
2003-05-19 15:35:06 +00:00
Stanislav Malyshev
605eb159e0 Bump API version - HEAD is no longer binary compatible
to 4.3 branch due to changes in globals, etc.
2003-05-18 10:22:50 +00:00
Frank M. Kromann
941d4c3e99 Fix compilation under Win32 2003-05-17 22:15:39 +00:00
Wez Furlong
84fc3f384a Fix segfault 2003-05-17 09:34:37 +00:00
Sebastian Bergmann
85a13e3e9a Fix warnings. 2003-05-17 06:21:34 +00:00
Wez Furlong
e9b62698c7 Stronger validation of ob_start() parameters. 2003-05-16 19:08:13 +00:00
Sara Golemon
44743cf9ec Implement userspace wrapper support for unlink method 2003-05-14 18:30:49 +00:00
Sara Golemon
65d359d71a Fold 'options' parameter into wops->unlink method 2003-05-14 15:12:07 +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
Ilia Alshanetsky
b76261dcbb Fixed bug #23454 (_REQUEST did not handle arrays with same names from
different sources correctly).
2003-05-13 22:08:48 +00:00
Sascha Schumann
2c7c0457b6 Ensure that open(".", 0); works, otherwise bail out 2003-05-13 18:48:01 +00:00
Sascha Schumann
af402a9e13 MFB don't close random fds 2003-05-13 02:26:42 +00:00
Ilia Alshanetsky
56ba9b4ae5 emalloc -> safe_emalloc 2003-05-13 01:57:54 +00:00
Ilia Alshanetsky
b20df54af7 Make serialize precision a configurable option. 2003-05-08 01:23:21 +00:00
Marcus Boerger
3fc4a32743 Infrastructure to catch warnings and throw tehm as errors autmatically 2003-05-07 01:02:23 +00:00
Sebastian Bergmann
4c8e30eccc MFB: Fix for bug #23489. 2003-05-06 04:22:01 +00:00
Ilia Alshanetsky
4f4cc4f7a3 Sanity check that ensures proper handling of 'E' doubles/floats as well as
prevents an unlikely buffer overflow.
2003-05-05 19:54:28 +00:00
foobar
1948b45b3f Make use of --with-exec-dir for real.. 2003-04-28 21:00:32 +00:00
foobar
f140ae993f fix compiler warning (unused variable) 2003-04-25 18:11:32 +00:00
foobar
2219a62606 - Made 'register_long_arrays' to be "On" by default. 2003-04-25 10:57:23 +00:00
Sascha Schumann
652b615438 Fix PUTS/PUTS_H to only evaluate their argument once. 2003-04-19 18:35:31 +00:00
Sara Golemon
0c366c24e5 Macro: php_stream_get_from_zval(php_stream *stream, zval **zstream, char *mode, int options, char **opened_path, php_stream_context *context) Z_TYPE_PP(zstream) can be either IS_RESOURCE (An already opened stream) or IS_STRING (a path to a stream to be opened) 2003-04-17 00:00:34 +00:00
Marcus Boerger
b09aa87120 Don't access what is already freed (noticed by Sascha) 2003-04-16 17:30:03 +00:00
Moriyoshi Koizumi
49b43ad115 Changed stream filter factory to be capable of accepting a zval as a parameter
instead of a string
2003-04-16 14:30:25 +00:00
Sascha Schumann
bb50c3846f Fix uninitialized reads
==32323== Conditional jump or move depends on uninitialised value(s)
==32323==    at 0x80F5A5C: zend_ini_color_displayer_cb (/home/sas/src/php4/Zend/zend_ini.c:374)
==32323==    by 0x80C5B7F: php_ini_displayer_cb (/home/sas/src/php4/main/php_ini.c:60)
==32323==    by 0x80C5D15: php_ini_displayer (/home/sas/src/php4/main/php_ini.c:115)
==32323==    by 0x80F0168: zend_hash_apply_with_argument (/home/sas/src/php4/Zend/zend_hash.c:707)
2003-04-16 12:44:08 +00:00
Marcus Boerger
75c8f37c03 Make it static 2003-04-13 20:30:57 +00:00
Marcus Boerger
887d5ec9c1 Speling 2003-04-13 20:12:54 +00:00
Marcus Boerger
bff63db577 Fix persistent stream closing (that one took me at least 3 days) 2003-04-13 19:47:55 +00:00
Wez Furlong
2090d23f02 Fix for #23069 (Windows sets readonly mode for temporary files in tempnam) 2003-04-11 11:08:44 +00:00
Andrei Zmievski
2154cddd0e Move memnstr into Zend and make an alias for BC in PHP. 2003-04-08 15:04:26 +00:00
Sara Golemon
d6c24de842 Add IPv6 support to stream_socket_client/server() 2003-04-05 02:42:12 +00:00
Andrei Zmievski
81482833b5 Introduce ZEND_ME() and ZEND_METHOD() macros. Use these for declaring
class methods to avoid name collisions.
2003-04-04 15:38:20 +00:00
Sascha Schumann
7f5a42da17 Backout Jani's commit to resync branches 2003-04-04 08:40:48 +00:00
Sara Golemon
c985b780a5 Prevent php_stream_get_record from grabbing more than maxlen characters 2003-04-04 01:34:00 +00:00
foobar
ff22d581d9 WS & CS fix 2003-04-03 18:44:00 +00:00
Sascha Schumann
7e2fcf986e Add some checks and avoid passing invalid data to call_user_function_ex.
Fixes some heap corruption and allocation of negative amounts of memory.
2003-04-03 18:19:15 +00:00
Moriyoshi Koizumi
f7a8499806 Fixed memleak in output buffering facility 2003-04-03 00:50:17 +00:00
Colin Viebrock
a77cb3c35d oops ... committed the wrong one 2003-04-02 16:28:38 +00:00
Colin Viebrock
6aa1481f83 fix logo (outline around letters) 2003-04-02 15:36:34 +00:00
Sascha Schumann
e2333fd1df Fix an uninitialized read, default to FAILURE 2003-04-01 19:14:47 +00:00
Moriyoshi Koizumi
8d2dd87d89 Fixed bug #22538 (stream filter problem) 2003-03-31 23:22:10 +00:00
Ilia Alshanetsky
62909237c4 WS 2003-03-31 22:13:01 +00:00
Marcus Boerger
0235d331b7 use the correct macro - noticed by Andrei 2003-03-31 19:14:18 +00:00
Marcus Boerger
7a76d5f438 cleanup 2003-03-30 13:59:05 +00:00
Shane Caraveo
0f3a0dfa52 _SERVER also should not be quoted by magic_quotes_GPC
also remove an empty if statement
2003-03-30 01:06:54 +00:00
Marcus Boerger
b5c97d8dab fix phpinfo() & php -i 2003-03-29 21:25:03 +00:00
Moriyoshi Koizumi
e1eb238cf2 On 64bit platforms, pointers are 64bit long.. 2003-03-28 17:09:04 +00:00
Moriyoshi Koizumi
961ad8e24a Improved php_import_environment_variables: avoid emalloc()ing in most cases 2003-03-27 21:13:47 +00:00
Sterling Hughes
84f0dd0e44 really fix 2003-03-26 23:03:48 +00:00
Sterling Hughes
c0f04cc087 fix segfault 2003-03-26 23:01:39 +00:00
Sebastian Bergmann
3fc852824f Eliminate TSRMLS_FETCH() calls in destroy_op_array() and zend_get_class_entry(). 2003-03-26 07:44:11 +00:00
Sebastian Bergmann
5ca078779a Eliminate some TSRMLS_FETCH() calls. Tested with Win32 build of SAPI/CGI and SAPI/CLI on Win32. 2003-03-25 08:07:13 +00:00
Shane Caraveo
456b6cbeab The environment should *never* be magic quoted. 2003-03-23 19:30:31 +00:00
Shane Caraveo
26296130ad Fix PHPRC overriding other ini files. This is how PHPRC worked prior to
4.3.x, and is usefull for applications that execute PHP and want to
emulate CGI and define alternate INI files (ie. cannot use -c).
2003-03-22 18:54:35 +00:00
Wez Furlong
e451d88399 Fix for persistent stream shutdown under debug builds 2003-03-20 01:23:04 +00:00
foobar
88fe9c2d3c Fixed bug #22775 (Fatal errors exit with status 0 with CGI/CLI) 2003-03-19 08:22:12 +00:00
Wez Furlong
7379f47518 Sanity check for when a stream is requested to be persistent but the wrapper
does not respect the flag.
2003-03-19 00:17:15 +00:00
Wez Furlong
86fb577d59 Implement persistent plain file streams.
Usage:

php_stream *stream = php_stream_fopen("/path/to/file", "r+b", NULL,
	STREAM_OPEN_PERSISTENT | ENFORCE_SAFE_MODE | REPORT_ERRORS);

the filename and mode are combined to form the hash key for the persistent
list; they must be identical for this same stream to be returned again in the
next request.

Calling php_stream_close() on a persistent stream *will* close it, as is
usual with all persistent resources in PHP/ZE.

This is deliberately *not* exposed to user-space PHP at this time.
2003-03-18 23:37:54 +00:00
Wez Furlong
6a87651006 Q} 2003-03-18 22:26:02 +00:00
Marcus Boerger
4529fb344c -turn html_errors on by default again
-disbale clickable error messages by docref_root default to ''
2003-03-18 22:21:54 +00:00
Marcus Boerger
3e621fac94 make phpinfo() depend on executed sapi 2003-03-18 20:52:52 +00:00
Wez Furlong
ce01fd9526 Avoid using FILE* where possible.
Tidy up handling of potential error situations for the php:// wrapper.
2003-03-18 16:40:29 +00:00
Marcus Boerger
63739c7db8 give sapi modules the possibility to overwrite default ini settings 2003-03-18 15:53:33 +00:00
Wez Furlong
267db80b21 avoid unsigned issues. 2003-03-18 15:15:10 +00:00
Wez Furlong
7c2ccb5f65 Fix for #22721 (poor file() performance on systems without mmap) 2003-03-18 14:35:01 +00:00
Stig Bakken
0e6fca4f22 * email address change 2003-03-18 12:06:09 +00:00
Ilia Alshanetsky
e15cc99415 Win32 build fix. 2003-03-17 22:25:55 +00:00
Ilia Alshanetsky
27a7eaf4e7 Fixed bug #22538 (failed stat on stdio/stdin/stderr streams). 2003-03-17 18:32:15 +00:00
Wez Furlong
cfd0466389 Fix for Bug #21310, based on a patch by jflemer@php.net. 2003-03-17 13:40:45 +00:00
Marcus Boerger
aba27fc6ca - disable html_errors per default as suggested by php.ini-<xxx>
- new error format that does not point to any documentation (if either
  not html_errors or no docref_root given e.g.: production boxes and default)
- documentation update in php.ini-<xxx>
# hope everyone is happy now
# and why on earth was enabling html_errors default?
2003-03-16 20:47:56 +00:00
Marcus Boerger
f60e8941e7 fix Bug #21751 - the parameter was wrong when this code was introduced 2003-03-15 16:39:35 +00:00
Wez Furlong
16e705a547 64bit fixes 2003-03-15 13:29:56 +00:00
Stefan Esser
10fc5dd573 reverting half the patch (it is not that simple) 2003-03-12 12:00:22 +00:00
David Hill
1edf7f55e5 64 bit corrections to parameters to OnUpdateInt Bug #20994 (Dave) 2003-03-10 14:50:16 +00:00
Marcus Boerger
d0fbdef419 fix warnings - one left 2003-03-08 16:53:54 +00:00
Stefan Esser
4535ff1756 fix possible XSS in error messages 2003-03-08 15:20:12 +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
Ilia Alshanetsky
4e6997ddf9 Fixed bug #22550 (overflow protection for upload_max_filesize ini setting). 2003-03-05 17:00:09 +00:00
foobar
61668d86b2 ws & CS 2003-03-04 14:12:39 +00:00
Ilia Alshanetsky
fb4dab36f4 Compiler warning fix. 2003-03-03 19:57:18 +00:00
Ilia Alshanetsky
4705fef539 More compiler warnings fixed. 2003-03-03 19:46:16 +00:00
Ilia Alshanetsky
94302c72b3 Compiler warning fix. 2003-03-03 19:41:36 +00:00
Ilia Alshanetsky
66c05f7035 Fixed compiler warnings. 2003-03-03 19:37:09 +00:00
Harald Radi
3e52882d3b adding disable_classes ini directive based on the
newly introduced zend_disable_class function
2003-03-03 01:27:22 +00:00
Zeev Suraski
1f63fba1b7 Fix old variable names 2003-03-02 15:41:12 +00:00
Zeev Suraski
622da33231 - Optimize $_REQUEST
- Fix phpinfo()
2003-03-02 13:35:01 +00:00
Zeev Suraski
4e55747a2b Add JIT initialization for _SERVER and _ENV
(it's less important for the others, even though it should be fairly
easy now too)
2003-03-02 10:19:15 +00:00
Moriyoshi Koizumi
6716188356 Reverted my previous commit 2003-03-01 18:47:18 +00:00
Wez Furlong
c3e6bcd398 Ensure that all fields are initialized to NULL. 2003-03-01 17:27:23 +00:00
Moriyoshi Koizumi
3de8b87cba Fixed build 2003-03-01 15:49:06 +00:00
Wez Furlong
242166d601 Don't shutdown() unix sockets.
It causes the server end to close down/break.
2003-03-01 15:22:21 +00:00
Wez Furlong
a3cf1ab8f6 Folding fixes 2003-03-01 15:20:42 +00:00
Wez Furlong
349ce76f96 Tidy up stupid signed/unsigned issues with win32 by introducing a php_socket_t typedef. 2003-02-28 21:03:36 +00:00
Rasmus Lerdorf
1ad304c2c5 MFB config-file-scan-dir crash fix 2003-02-28 20:48:38 +00:00
Wez Furlong
1b53a2d12e New user-space functions:
. stream_socket_client() - similar to fsockopen(), but more powerful.
  . stream_socket_server() - Creates a server socket.
  . stream_socket_accept() - Accept a client connection.
  . stream_socket_get_name() - Get local or remote name of socket.

Tidy up some leaks and debug printfs.
Move more streams functions into streamsfuncs.c and streamsfuncs.h.
2003-02-28 19:53:21 +00:00
foobar
08b5f6b2b9 - No need to include the ssl headers elsewhere but in ext/openssl
# ext/ftp doesn't use streams yet so it needs to include them.
2003-02-28 07:25:15 +00:00
Wez Furlong
cd98ed7b0a Implement memory mapping for win32.
Could do with some rigorous testing; simple readfile() tests here appear to work.
2003-02-28 01:47:28 +00:00
Ilia Alshanetsky
e089944308 compiler warning fixed. 2003-02-28 00:08:00 +00:00
Wez Furlong
cfd8150b30 Add a generic meta data api for streams. 2003-02-27 19:10:24 +00:00
Wez Furlong
203068d055 Fixup build for win32 2003-02-27 18:06:31 +00:00
Wez Furlong
fd61f69077 Another big commit (tm).
Main Changes:
- Implement a socket transport layer for use by all code that needs to open
  some kind of "special" socket for network or IPC.
- Extensions can register (and override) transports.
- Implement ftruncate() on streams via the ioctl-alike option interface.
- Implement mmap() on streams via the ioctl-alike option interface.
- Implement generic crypto API via the ioctl-alike option interface.
  (currently only supports OpenSSL, but could support other SSL toolkits,
  and other crypto transport protocols).

Impact:
- tcp sockets can be overloaded by the openssl capable sockets at runtime,
  removing the link-time requirement for ssl:// and https:// sockets and
  streams.
- checking stream types using PHP_STREAM_IS_SOCKET is deprecated, since
  there are now a range of possible socket-type streams.

Working towards:
- socket servers using the new transport layer
- mmap support under win32
- Cleaner code.

# I will be updating the win32 build to add the new files shortly
# after this commit.
2003-02-27 17:43:38 +00:00
Sascha Schumann
60dcebd71a rename macro argument so that it does not partially match the string.
fixes a warning on unixware
2003-02-27 10:07:12 +00:00
Rasmus Lerdorf
ca2a28774a MFB: Get rid of a redundant syscall on non-Windows 2003-02-26 22:19:01 +00:00
Derick Rethans
424c41a72e - Added an extra ini setting with which extra commands can be forced to
the sendmail deamon on a per-vhost base. The value in this ini setting
  will override all extra commands passed as the 5th parameter to mail()
  and will work in Safe Mode.
@- Added an extra ini setting (mail_force_extra_paramaters) which forces
@  the addition of the specified parameters to be passed as extra
@  parameters to the sendmail binary. These parameters will always replace
@  the value of the 5th parameter to mail(), even in safe mode. (Derick)
2003-02-26 20:04:16 +00:00
foobar
411478e1f6 Fixed bug #20256 (snprintf() not defined) 2003-02-25 09:44:12 +00:00
Ilia Alshanetsky
5e118977cd Fixed various compiler warnings. 2003-02-25 01:44:57 +00:00
Ilia Alshanetsky
9e0fb1a33c Use native flock() whenever possible. 2003-02-25 01:41:58 +00:00
Ilia Alshanetsky
862634ffa5 Added locking to streams.
Allow PHP to automatically release locks on files when terminating the
stream.
Fixed bugs in the handling of the 3rd optional parameter to flock().
2003-02-25 01:39:06 +00:00
Moriyoshi Koizumi
4759048194 Removed unnecessary asserts 2003-02-24 23:13:40 +00:00
Wez Furlong
088e2692c3 MFB: Bunch of streams related fixes. 2003-02-24 21:40:23 +00:00
foobar
8c3cd0344d MFB: Fix for open_basedir error message 2003-02-23 22:30:02 +00:00
Wez Furlong
c1bdf163ed Add comment about thread-safety of gethostbyname on win32.
Set the correct path to the win32 config.h file in the .dsp file.
2003-02-21 14:06:55 +00:00
Rasmus Lerdorf
d08a0e99c8 An input filter might not simply strip stuff, it might also turn things
into entities or use some other mechanism which causes the filtered data
to be longer than the original data.  Ergo, pass in the address of the
buffer instead so the filter is free to reallocate it.
2003-02-20 22:21:49 +00:00
Rasmus Lerdorf
7429c2dc3f Input Filter support. See README.input_filter for details.
@- Input Filter support added. See  README.input_filter. (Rasmus)
2003-02-19 19:41:09 +00:00
foobar
0458bb5e2b MFB 2003-02-19 18:45:51 +00:00
Harald Radi
53d70b2c14 prevent xdebug from crashing 2003-02-19 16:17:15 +00:00
foobar
7e3b50896c ws/style fixes 2003-02-19 09:38:11 +00:00
foobar
ec11fe04e9 Fix the possible conflicts with other libs (like libc-client) 2003-02-19 09:25:16 +00:00
foobar
8e3f23e3c0 ws fixes + missing $Id$ tags, headers added 2003-02-19 08:40:19 +00:00
Wez Furlong
4c4d77d23e Fix incorrect TSRMLS_CC usage.
Fix com_create_guid()
2003-02-18 19:03:44 +00:00
Wez Furlong
e52aac940f Implement simple stream support in the ZE scanners. 2003-02-18 09:37:54 +00:00
Sara Golemon
6fe4ab41f0 Fix stream_filter_(ap|pre)pend to allow attaching on the read and/or write chains. Automagically decide what to do if noone tells us. 2003-02-18 02:53:24 +00:00
Wez Furlong
952d5f548e TSRMLS! 2003-02-18 01:39:26 +00:00
Wez Furlong
32165a5546 Implement new filter API, stage 1.
This breaks user-space filters (for the time being), and those
weird convert.* filters in ext/standard/filters.c

The filters stack has been separated into one chain for read and one chain
for write.

The user-space stream_filter_append() type functions currently only operate
on the read chain. They need extending to work with the write chain too.
2003-02-18 01:22:21 +00:00
Zeev Suraski
4934744b93 Win32 build improvements 2003-02-17 13:29:59 +00:00
Wez Furlong
6e296c5cbb Move some of the streams header into supplementary files
# Just when you thought you had learned your way around the streams code;
# I like to keep you all on your toes!
2003-02-17 00:20:38 +00:00
Wez Furlong
2cc68ad7ad Move streams files around a bit, to ease maintenance.
I will update the win32 .dsp in a moment.
2003-02-16 22:19:28 +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
foobar
3a94aeae72 - Fix unsetting of open_basedir, safe_mode_exec_dir and user_dir with
"php_admin_value <ini option> none"
- Fixes bug #22220
2003-02-15 20:22:19 +00:00
Moriyoshi Koizumi
22517ce0de Fixed bug #22234 2003-02-15 19:56:12 +00:00
Wez Furlong
f98f27ffa9 MFB: Fix for bug #22199 2003-02-13 21:08:04 +00:00
Ilia Alshanetsky
f9669f6c49 Modified fix for bug #22187 so that it does not affect handling of numbers
represented in scientific notation.
2003-02-13 19:02:34 +00:00
Wez Furlong
cddcaf737f Another IS_SLASH fix. 2003-02-13 17:36:35 +00:00
Wez Furlong
cd7d762b79 A probable cure for many getcwd/relative include related problems for win32. 2003-02-13 17:20:20 +00:00
Ilia Alshanetsky
586672fd16 PAD() macro didn't increase the buffer size resulting in loss of the
padding.
2003-02-13 17:17:03 +00:00
Ilia Alshanetsky
343b92e66e Fixed a typo. 2003-02-13 16:22:03 +00:00
Ilia Alshanetsky
c28753de76 Simplified the mode validation code & added support for read+write mode to
'x' mode.
2003-02-13 15:09:39 +00:00
Wez Furlong
2953892df3 Clarify error message. 2003-02-13 14:52:54 +00:00
Ilia Alshanetsky
f8eba6ded2 Added 'x' mode for fopen() used on local files. This mode will create a new
file only if a file does not already exist (O_CREAT|O_EXCL).
2003-02-13 14:40:17 +00:00
Wez Furlong
77b98f8615 Potential fixes for #21809 and #22099. 2003-02-13 14:35:47 +00:00
Wez Furlong
35878992d8 Moving away from ANSI stdio for plain files. 2003-02-13 13:40:34 +00:00
Wez Furlong
068c90bd1d Whitespace-fix these goto labels. 2003-02-13 11:12:56 +00:00
Wez Furlong
b2b3596257 Fix for Bug #21815 (fpassthru ignored buffered data but then complained anyway) 2003-02-13 01:17:45 +00:00
Ilia Alshanetsky
f924aaf647 Fixed bug #22187 (spprintf function did not handle floats correctly). 2003-02-12 20:41:53 +00:00
Sascha Schumann
0cb1ff3bda - trims +100 lines of code from spprintf.c
- introduces an overflow detection in STR_TO_DEC
    - eliminates dead code (e.g. assert(foo); if (foo) {..})
    - removes unused macros from the original code
    - simplifies code (e.g. cc was completely dropped)
    - improves run-time performance

      The max_len feature is never used in our code base.
      Nevertheless, cpu cycles were spent on each string
      operation to check the current length against max_len which
      is quite inefficient.  Thus, I've moved the check to
      vspprintf where it is applied only once per call.
2003-02-12 19:38:10 +00:00
Stefan Esser
a0873a8f7d size matters not. 2003-02-11 21:44:02 +00:00
Stefan Esser
d2c550e991 8 + 20 + 1 + 1 = 30
There was no Bufferoverflow on 64bit systems.

And the "fix" broke the header code on systems with old style snprintf.
2003-02-11 21:41:32 +00:00
Marcus Boerger
e92f8f64e3 speed up 2003-02-11 20:30:37 +00:00
Moriyoshi Koizumi
6d95ea199d Fixed possible snprintf problem
# besides snprintf returns int value, not uint / size_t...
2003-02-10 20:18:08 +00:00
Moriyoshi Koizumi
9450b1e4b0 Fixed possible buffer overflow in 64bit systems 2003-02-10 20:11:10 +00:00
Moriyoshi Koizumi
9d5811c1f0 Jani happification 2003-02-10 19:45:34 +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
Sascha Schumann
ba32a619ae use SUCCESS/FAILURE instead of 0/-1 2003-02-09 21:15:55 +00:00
Ilia Alshanetsky
f98ea4c46d Added feature request #9173 (added stream_get_line(), this function will
read either the specified number of bytes or until the ending string is
found).
2003-02-09 20:43:05 +00:00
foobar
a09e1397c7 Fixed compile failures when ZLIB / PCRE are compiled as shared
extensions in same build.
2003-02-09 19:09:52 +00:00
Ilia Alshanetsky
a592f3cc56 Added missing definitions. 2003-02-07 22:49:21 +00:00
Ilia Alshanetsky
b1a6778fe5 Added get_browser() function. This function can be used to fetch the headers
sent by the server when a request is made for a given URL.
2003-02-07 21:33:35 +00:00
Zeev Suraski
021d1b684b Fixlet 2003-02-07 09:39:39 +00:00
Hartmut Holzgraefe
2546f09b08 proto-fix 2003-02-03 23:36:19 +00:00
foobar
173b9493e2 Fixed bug: #22011 (-n must ignore all ini files) 2003-02-03 12:25:28 +00:00
Ilia Alshanetsky
ccf8365baa Fixed bug #22021. 2003-02-02 23:09:24 +00:00
Ilia Alshanetsky
87a113f5c1 Fixed build on Solaris (patch by Melvyn Sopacua). 2003-02-02 20:26:46 +00:00
Sascha Schumann
4cf174cbd4 Fix sticky EOF problem
Sometimes streams signal a temporary EOF, because all current data
has been consumed. But that does not preclude the possibility that
more data will become available later.

Thus we must not treat eof in the read path as final.

Now, "tail -f" like scripts work again.
2003-01-30 21:06:34 +00:00
Harald Radi
f8e014b228 MFPHP_4_3 2003-01-29 00:49:09 +00:00
Derick Rethans
1ca8d7d4c3 - Fix includes 2003-01-28 16:05:34 +00:00
Ilia Alshanetsky
4fe6fc8b0b Fixed compiler warning. 2003-01-28 16:04:10 +00:00
Ilia Alshanetsky
b9a7918c43 2nd part of Sebastian's patch. 2003-01-28 00:42:54 +00:00
Ilia Alshanetsky
d59d500af7 Moved the scandir code into it's own files so that it can be used by other
OSes where libc does not have a native scandir() implementation.
2003-01-27 20:39:31 +00:00
Ilia Alshanetsky
9bb3dc6903 Removed pointless checks. 2003-01-27 17:22:22 +00:00
Shane Caraveo
82f6cef483 Fix broken build by adding scandir and alphasort for win32 2003-01-26 01:39:18 +00:00
Ilia Alshanetsky
8d352d2dd6 Fixed bug #21625 (When scanning a directory for ini files, do so in
alphabetical order. This gives a user a way to control the order in which
the ini files are loaded).
Fixed a bug that would make the code try to read files without an extension
as ini files.
2003-01-25 21:13:00 +00:00
Sascha Schumann
294e776d95 add sapi_get_target_uid/_gid for obtaining information about the
non-privileged user the web server is running as.  this is useful
for creating shared memory segments which need to be accessed by
the child processes/threads.
2003-01-21 11:03:58 +00:00
Harald Radi
b51b6f0fbf ini patch to allow 'entry[] = value' entries 2003-01-19 12:18:46 +00:00
Sebastian Bergmann
0e178230b2 Move ZEND_ENGINE_2 check to where it is defined. 2003-01-17 06:15:24 +00:00
Harald Radi
914cf3c0f8 move the ZE2 check into internal_functions_win32.c 2003-01-16 22:09:58 +00:00
Harald Radi
dd67c075bc add COM 2003-01-16 18:17:48 +00:00
Harald Radi
7c0e7b4fe8 prevent HEAD + ZE1 builds and add COM 2003-01-16 18:16:50 +00:00
Sascha Schumann
6f4333c7ae scrap STANDARD_SAPI_MODULE_PROPERTIES; it is causing more harm than good 2003-01-15 21:13:01 +00:00
Sebastian Bergmann
be3427e4f0 Define PHP_CAN_SUPPORT_PROC_OPEN. 2003-01-15 16:53:49 +00:00
Sascha Schumann
0855c0b603 whitespace 2003-01-15 11:30:39 +00:00
Sascha Schumann
4668b7130b whitespace 2003-01-15 11:22:04 +00:00
Harald Radi
c3867a7c8e HEAD defaults to build with ZE2 now 2003-01-10 23:36:18 +00:00
Ilia Alshanetsky
9b560970f8 Fixed compiler warnings. 2003-01-09 22:33:43 +00:00
Sara Golemon
4d789b593f Bug #21531 file_exists() and other filestat functions throw errors when in safe mode and file/directory does not exist.
Extended php_checkuid function to add "flags" field via rename to php_checkuid_ex with alias for BC in functions that do want safe mode errors thrown.
2003-01-09 21:57:45 +00:00
Zeev Suraski
d35ddb740e Time for an update 2003-01-09 10:03:26 +00:00
Ilia Alshanetsky
a7ac507ade Fixed bug #21499 (more descriptive message in the event of require/include
failure).
2003-01-08 02:44:09 +00:00
Stefan Esser
58d65abbcb Adding support for anonymous fileuploads (#21450) 2003-01-06 23:51:28 +00:00
Wez Furlong
39848ce35c Fix for Bug #20827: where stat is a macro on Tru64.
Patch from <julien.soula@free.fr>
2003-01-06 23:27:03 +00:00
Wez Furlong
52a3c29e22 Fix for bug #21406; infinite loop during filter flushing. 2003-01-06 14:00:57 +00:00
Sara Golemon
42e912da79 Expose stream_filters_hash so that it can be searched by stream_get_filters() 2003-01-06 04:06:40 +00:00
Zeev Suraski
968f3f9a12 Remove unnnecessary initialization 2003-01-05 16:11:10 +00:00
Sebastian Bergmann
b5d97e5ddb Revert config.w32.h.in -> config.w32.h build step per discussion with Zeev. 2003-01-05 15:58:29 +00:00
Anantha Kesari H Y
3e2f1526bc A new file added and some old files modified for NetWare. 2003-01-03 12:48:14 +00:00
Derick Rethans
b9e54cb693 - Fixed bug #21169: Compile Failure, and lots of warnings on UnixWare 2003-01-02 18:01:10 +00:00
Derick Rethans
da9eb594c6 - Fix warnings on UnixWare 2003-01-02 13:31:10 +00:00
Wez Furlong
a28eaf64d0 Workaround for glibc 2.2.9x and later "a+" bug that does not seek to EOF for
files fopen()ed with that mode.
2003-01-01 09:58:17 +00:00
Sebastian Bergmann
2c5d4b8c23 Bump year. 2002-12-31 15:59: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
Derick Rethans
d454becda8 - Whitespace 2002-12-30 15:03:50 +00:00
Ilia Alshanetsky
1f50681813 Fixed bug #21149 (fixed handling of unterminated '['). 2002-12-29 21:02:17 +00:00
Edin Kadribasic
46219c714d MFB:
Made ZLIB extension built in on Windows. Fixes #21139.
2002-12-26 13:40:32 +00:00
Wez Furlong
05ea039144 MFB: fpos_t -> off_t 2002-12-23 02:56:46 +00:00
Wez Furlong
efea12fec5 Fix for Bug #21131: fopen($file, 'a+') would incorrectly assume that
the stream position was at offset 0.
This corrects that assumption by querying the stream for it's position
when it detects the 'a' "flag" in the mode parameter to fopen.
Also added a test for plain files and amended the userstreams test to
take this into account.
2002-12-22 18:05:36 +00:00
Wez Furlong
90c478664a A Simple fix for Bug #12360 (fsockopen timeout doesn't work).
Analysis:
On systems with HAVE_GETADDRINFO and IPV6 support, php_hostconnect would
attempt to connect to each possible address that matched the requested IP.

If the remote host:port combination are dropping packets this would cause the
first connection to timeout (after waiting for the full timeout duration).

PHP would then attempt the second address and wait the full duration again.

Solution:
If the first connection attempt times out, abort the connection loop.
2002-12-22 13:55:45 +00:00
Wez Furlong
602734c7d9 Correct mistake introduced by my last commit on these files;
*_from_pipe() is for process-pipes created by fopen, not generic pipes
created from proc_open().
Correctly implemented the fifo/pipe check for *_from_file() and it seems
to be working correctly now.
2002-12-19 20:23:50 +00:00
Ilia Alshanetsky
5bad812dad A better, strtok() free implementaion of php_disable_functions(). 2002-12-16 15:43:52 +00:00
Stefan Esser
75d8056e11 cleanup 2002-12-14 10:45:25 +00:00
Wez Furlong
c5d4e4b321 MFB: popen/pclose and proc_open/proc_close fixes. 2002-12-12 17:51:25 +00:00
Ilia Alshanetsky
60a5aeef43 Fixed a few compile warnings and one compile error. 2002-12-10 20:16:30 +00:00
Ilia Alshanetsky
e982d5c7f0 MFB 2002-12-10 16:39:59 +00:00
Ilia Alshanetsky
3c9a6a8890 Removed one more unneeded check. 2002-12-10 15:58:31 +00:00
Ilia Alshanetsky
ecc9c539d2 Removed a pointless check. Thanks Stefan. 2002-12-10 15:36:26 +00:00
Wez Furlong
5029c73096 Emulate fopencookie on *BSD systems.
Patch mostly from Melvyn Sopacua <msopacua@idg.nl>
2002-12-09 16:14:28 +00:00
Wez Furlong
164130ed22 MFB: #20831 fix 2002-12-09 10:38:35 +00:00
Ilia Alshanetsky
683251eba3 Fixed bug #20796. $_GET/$_POST/$_COOKIE data can get overwritten when
register_globals are on and input contains arrays.
2002-12-07 16:05:27 +00:00
Ilia Alshanetsky
8425dbd0bc Fixed bugs #20725 & #20860. Post form variables get lost if the uploaded
files cannot be written to disk.
2002-12-07 00:48:13 +00:00
Marcus Boerger
4ce4a1c32c php_error -> php_error_docref 2002-12-05 21:53:25 +00:00
Marcus Boerger
8ed84254cd -php_error -> php_error_docref 2002-12-05 21:46:08 +00:00
Moriyoshi Koizumi
c7a0b0d262 Reverted wrong part of the commit made in 1.24 2002-12-02 20:11:59 +00:00
Shane Caraveo
a3bd39429c Fix CGI to match cgi spec.
This patch properly fixes support for CGI in PHP.  For backwards compatible
broken behaviour, cgi.fix_pathinfo can be set to zero in php.ini.
CGI failed to work under apache at all, either using the cgi-script directive
or as a ScriptAlias setup. Typicaly it would try to parse itself.  This will
still happen if you dissable fix_pathinfo, and set DISCARD_PATH.
This also fixes PATH_INFO, and finally we can run pres2 under cgi or fastcgi.
This patch has been tested under Apache 1.3, 2.0, IIS, as both cgi and fastcgi,
on Windows and OSX.  A followup patch with build stuff for linux will follow.
2002-12-01 21:37:14 +00:00
Shane Caraveo
529762a21a php_error_docref aborts cgi. This broke using php as cgi under
apache/mod_cgi with the cgi-script directive and bang lines in php scripts.
removing it allows this to work again.
2002-12-01 21:28:27 +00:00
Sascha Schumann
2b95b3c83b add a "force HTTP/1.0 response" facility to the SAPI layer
this is necessary, when you want to take over control of a connection
and the web server is doing stupid things by default (like enabling
chunked transfer encoding for no reason).
2002-12-01 03:28:21 +00:00
Marcus Boerger
0d7957bc15 Bug #20433 2002-11-30 18:36:17 +00:00
foobar
7f48a6f13b MFB 2002-11-29 14:48:17 +00:00
foobar
dd53efc196 - Made the STANDARD_SAPI_MODULE_PROPERTIES be what it says it is. 2002-11-26 05:57:06 +00:00
Sascha Schumann
09f463ddae Add sapi_get_fd() and implement it for the Apache/thttpd SAPIs. 2002-11-26 05:15:55 +00:00
Hartmut Holzgraefe
8bd550825f email address change 2002-11-25 12:30:28 +00:00
Marcus Boerger
517af84b0a MFB: Fix memleak in debug mode 2002-11-23 01:24:08 +00:00
Stefan Esser
9dae1475ef little fix 2002-11-22 19:34:17 +00:00
Marcus Boerger
b7cd48efdd Make it possible to test language features like newly introduced 'abstract'
independantly from debug mode.
2002-11-21 14:56:06 +00:00
Hartmut Holzgraefe
fb5ac5d286 the apache 1.x sapi read_posts tests for SG(read_post_bytes) being
counted up, so lets make it happy although this value is not really
needed in these cases ...
2002-11-21 10:29:11 +00:00
Marcus Boerger
c41b6b2967 Allow error_prepend and error_append being empty as used in run-test.php 2002-11-19 14:11:50 +00:00
Marcus Boerger
f0daa5c6d9 Fix warning as discussed with Wez. 2002-11-18 17:23:21 +00:00
Wez Furlong
039d6a1668 wb -> r+b 2002-11-18 12:40:12 +00:00
Wez Furlong
5b7537ecd2 Merge the temp file mode fix from the branch,
add missing Id tag.
2002-11-18 11:49:06 +00:00
Wez Furlong
ca58966a0d Merge streams changes from branch. 2002-11-18 11:39:42 +00:00
Sebastian Bergmann
51e4dbaba0 Fix ZTS build. 2002-11-18 06:04:06 +00:00
George Schlossnagle
99c7ddc3a8 added support functions for the apache_hooks SAPI 2002-11-18 00:59:23 +00:00
Ilia Alshanetsky
f14b742392 Fixed bug #20466. 2002-11-17 22:52:47 +00:00
Ilia Alshanetsky
cea2419529 Upgraded the bundled expat library to 1.95.5 (latest stable, atm).
Fixed bug #20442.
2002-11-17 18:37:48 +00:00
Zeev Suraski
d372861f03 Unify handling of error_reporting - fix bug #16137 2002-11-17 13:26:38 +00:00
Ilia Alshanetsky
3bef247fcc Fixed a problem that would cause include/require("/dir/file") to fail on
Windows.
2002-11-17 00:06:50 +00:00
Stefan Esser
658fd1ba8d Fixing possible remote overflow due to mbstring translation. 2002-11-14 16:30:07 +00:00
Derick Rethans
bab4957d1c - MFB: Fixed bug #20484 (stream_get_meta_data crashes on a normal file
stream). (Derick, Wez)
2002-11-14 10:56:35 +00:00
Edin Kadribasic
f15420b3e1 Allow mbstring defines to be somewhere else without warnings. 2002-11-13 21:28:16 +00:00
Andrei Zmievski
0eea23a4f8 Change version to 4.4.0-dev. 2002-11-13 19:19:05 +00:00
Sebastian Bergmann
8f54e30f3c Disable mbstring (and sync behaviour with *NIX per Andrei's commit). 2002-11-13 06:47:43 +00:00
Marcus Boerger
cecb9dfc79 Implemented -n switch to skip parsing ini at startup as suggested by Wez.
#The switch 'n' was planned to be used for beautifying....delete n to make
#clear these functions do not have a switch yet.
2002-11-12 20:56:47 +00:00
Hartmut Holzgraefe
be5e379ec6 HTTP_RAW_POST_DATA BC fixes
# hopefully all done, commiting anyway to continue work on my home box
php://input stream fixes (POST data handerl mangles data, CLI crashbug)
2002-11-12 18:29:11 +00:00
Ilia Alshanetsky
8ed36bc318 Changed max_input_time PHP_INI_SYSTEM|PHP_INI_PERDIR because ini_set() will
already be too late, the POST/GET/COOKIE processing occures before the script
gets parsed.
Changed the default value to -1. If users have previously (older PHPs)
adressed the problem by setting timeout to a large value, we can avoid breaking
their script by detecting the -1 and using timeout_seconds instead of
max_input_time when setting the 'input' timeout.
2002-11-12 14:40:00 +00:00
Ilia Alshanetsky
bb14455e62 Added missing zend_lineno initilization. 2002-11-10 19:28:51 +00:00
Ilia Alshanetsky
91a203e8cd Fixed a bug that in many situations would cause open_basedir restriction to
be bypassed. Most notable exception, is the inclusion of files via include(),
with a partial path.
2002-11-10 05:14:26 +00:00
foobar
609992baeb ws fixes 2002-11-10 02:48:22 +00:00
Stig Bakken
cd72343bb3 * honor track_errors ini setting in php_verror() 2002-11-10 02:09:26 +00:00
Ilia Alshanetsky
2a291ba362 Made open_basedir error more descriptive. 2002-11-08 22:48:01 +00:00
Hartmut Holzgraefe
5aec6f4e33 fix for #20198:
"always_populate_raw_post_data = On" breaks HTTP file uploads
2002-11-08 08:41:52 +00:00
Sascha Schumann
6442b86bfa bumb api version because of module_startup change 2002-11-07 11:52:45 +00:00
Ilia Alshanetsky
78e2e69b23 Instead of checking whether realpath exists based on OS. Use the
HAVE_REALPATH define, which is set if realpath() is avaliable. This patch
also resolves bug #18868.
2002-11-06 18:07:23 +00:00
Marcus Boerger
a73e74c2f8 Make the macro use the function and not the other macro as discussed
with Wez.
2002-11-06 00:17:44 +00:00
Marcus Boerger
1f0b200188 php_stream replacement for fprintf
#Agreed by Wez - I will use this mysel soon.
2002-11-06 00:15:24 +00:00
Ilia Alshanetsky
cfe0c82034 Added 4th argument to virtual_file_ex() that specifies whether or not
realpath() should be used during path resolving. In a number of functions
we do not want to use realpath(), since realpath() will resolve symlinks.
2002-11-05 14:50:17 +00:00
Marcus Boerger
8f6120fef4 correct define: silences compiler warning in http_fopen_wrapper.c 2002-11-05 11:10:06 +00:00
David Reid
464d8ca5c1 Work around a daft mistake in the beos headers... 2002-11-04 21:20:52 +00:00
Colin Viebrock
1fe68ddde5 ahem 2002-11-01 23:00:32 +00:00
Wez Furlong
ae4c3c22e1 Probable fix for #20180. 2002-11-01 04:58:23 +00:00
Ilia Alshanetsky
2eaae61f3b Reverting previous OpenSSL patch. 2002-11-01 03:25:21 +00:00
Ilia Alshanetsky
9b35c0a897 Possible fix for #20014. Suggested by wez@php.net 2002-11-01 00:57:54 +00:00
Wez Furlong
f8486bc344 Fix for #19508 by poleson@verio.net. 2002-10-29 14:57:12 +00:00
Ilia Alshanetsky
e300e0df59 Fix win32 build. 2002-10-28 12:37:31 +00:00
Ilia Alshanetsky
728eacbf52 A better fix for bug #20110. 2002-10-28 03:45:21 +00:00
Sterling Hughes
29a344b384 remove $_FILES from $_REQUEST as per php-dev conversation... 2002-10-28 02:46:09 +00:00
Ilia Alshanetsky
f76b9649cd Fixed bug #20110. 2002-10-28 00:28:11 +00:00
Shane Caraveo
5ef76f6707 dont memmove a null pointer. caught by bounds checker. 2002-10-27 23:34:48 +00:00
Shane Caraveo
bb55b3a420 fix Bug #20126
write returns an int, with < 0 being a failure.
2002-10-27 23:01:45 +00:00
Andrei Zmievski
615c033ea8 Back to 4.3.0-dev. 2002-10-27 19:51:17 +00:00
Andrei Zmievski
939de5b8d3 Update to -pre2. 2002-10-27 19:07:45 +00:00
Derick Rethans
7592362b4c - Allow the report_memleak setting to be set everywhere 2002-10-24 16:56:59 +00:00
Sascha Schumann
2909e5c9c9 centralize #include "build-defs.h" and drop (sometimes inconsistent) other
instances
2002-10-24 13:15:49 +00:00
Moriyoshi Koizumi
e8be0db546 Fixed build when mbstring is not used - my previous patch is insufficient. 2002-10-24 02:59:01 +00:00
Moriyoshi Koizumi
73ca375f37 MFH; we would see a nasty problem again if it was not fixed... 2002-10-24 02:56:28 +00:00
Moriyoshi Koizumi
74883a9583 Make php_mb_is_mb_leadbyte() obsolete. It only works with double-byte chars.
# Sorry Marcus, it seems we were working simultaneously :)
2002-10-23 23:25:27 +00:00
Moriyoshi Koizumi
afa9f42f47 Function renaming. 2002-10-23 19:51:50 +00:00
Moriyoshi Koizumi
fdc91ccc73 Renaming the functions. 2002-10-23 18:32:55 +00:00
Moriyoshi Koizumi
b7703551ed Remaned the functions for consistency 2002-10-23 16:54:31 +00:00
Derick Rethans
d54f58d164 - Trying to clean up this mess :) 2002-10-23 09:35:21 +00:00
Derick Rethans
273d5e04d2 - No reason why implicit_flush should not be settable from a script 2002-10-23 09:31:33 +00:00
Ilia Alshanetsky
a5d3427251 When doing automatic line end detection, pick the line end that is found
first.
2002-10-22 15:34:50 +00:00
Wez Furlong
dabf1053cd Refine stream_select() to work with streams that have data in their read
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.
2002-10-21 22:54:37 +00:00
Hartmut Holzgraefe
07b90cafc9 removed left-over unused variable 2002-10-21 19:18:39 +00:00
Hartmut Holzgraefe
8841dfc995 removed bogus paranoid header checking 2002-10-21 18:44:50 +00:00
Hartmut Holzgraefe
8b7e9d7774 some changes to how request input data (Content-Lenght >0) is handled
- webdav-specific stuff removed (should be handled using httpd.conf
  LIMIT or equivalents)
- always_populate_raw_post_data now working on any method, not just
  POST (and webdav methods with allow_webdav_methods), when
	Content-Length is greater zero
- raw input data is also available using php://input stream,
  this way one doesn't have to care about memory_limit
- input data is now always consumed (although maybe ignored,
  this fixes we had withproblems with keep-alive connections
@ raw POST data is now available as php://input stream (hartmut)
2002-10-21 16:41:06 +00:00
Ilia Alshanetsky
b9efd22339 Fixed bug #16880. Added an ini option max_input_time that allows the user
to specify how much time a script may spend parsing input data (POST, GET, etc..).
2002-10-21 13:09:29 +00:00
Moriyoshi Koizumi
890aee56d1 MFH 2002-10-21 01:33:31 +00:00
Moriyoshi Koizumi
c536b52cb0 style fix 2002-10-20 23:05:34 +00:00
Ilia Alshanetsky
fef922307c Fixed incorrect handling of files starting with a . 2002-10-20 20:44:10 +00:00
Masaki Fujimoto
a6ecdca0ef fixed highlight related bugs (in case shift_jis input/output filters are enabled) 2002-10-20 02:57:40 +00:00
Ilia Alshanetsky
ec400b8d16 Silence compile warning, when compiling --with-openssl. 2002-10-19 17:05:08 +00:00
Ilia Alshanetsky
8ca0b28b6a Fixed a typo. 2002-10-19 16:50:07 +00:00
Wez Furlong
829f1855fd made fgets() binary safe.
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.
2002-10-19 13:11:48 +00:00
Wez Furlong
f42b26bc22 Probable fix for #19944 2002-10-19 10:34:10 +00:00
Ilia Alshanetsky
4b83b189fe Fixed bug #19971 (optimized the file() function).
The file() function is now also binary safe.
2002-10-18 20:39:49 +00:00
Wez Furlong
7de1f45aaa Revert my last bogus commit.
Change the comparison to something that is less likely to inspire me to
make the same mistake again...
2002-10-18 17:14:32 +00:00
Wez Furlong
e0c0264935 Improve EOF detection. Fixes #19970. 2002-10-18 12:15:04 +00:00
Ilia Alshanetsky
5ce6d653b8 Fixed bug #19921. (memory leak introduced by me in rev 1.492) 2002-10-16 16:52:08 +00:00
Sebastian Bergmann
9f158fc9c0 Revert. Again. 2002-10-16 14:53:34 +00:00
Sebastian Bergmann
49e106d3d3 Patch by Urs Gehrig <urs@circle.ch>. 2002-10-16 07:37:28 +00:00
Wez Furlong
2f6952c936 Nope, that last one wasn't a leak in main/streams.c, it was
file_get_contents misinterpreting the result...
2002-10-15 16:45:26 +00:00
Wez Furlong
fa1f06b69f Fix mem leak for zero-byte files. 2002-10-15 16:38:11 +00:00
Wez Furlong
842b5554e0 Some buffer paranoia.
Also, make feof() detection safer (ala recent changes to zlib extension).
2002-10-15 16:04:46 +00:00
Ilia Alshanetsky
bf51192d67 Fixed possible memory leaks. 2002-10-15 02:05:27 +00:00
Wez Furlong
6890f98e70 Fix leak, and avoid initialization problems where retval is re-used
within a function.
2002-10-15 01:57:19 +00:00
Sebastian Bergmann
64a22c8a3e Revert to 1.34. 2002-10-14 16:14:18 +00:00
Sebastian Bergmann
276b314ed3 Whitespace fixes. 2002-10-14 05:56:03 +00:00
Sebastian Bergmann
2e68e0beba Fix Win32 build. 2002-10-14 05:54:15 +00:00
Wez Furlong
106631fce1 *cough*
Fix inverted logic for the assert.
2002-10-14 05:38:50 +00:00
Wez Furlong
86e60a2d7a @- fgets($fp) (with no length parameter) now uses a buffer as long as the
@  the next line available from the $fp. Previously, there was a 1KB limit.
@  (Wez)
2002-10-14 02:28:35 +00:00
Wez Furlong
be5606504c Implement better SSL error handling. 2002-10-14 01:27:43 +00:00
Wez Furlong
483f355d30 Fix stream_eof result interpretation (and thus the user-streams test). 2002-10-14 00:16:02 +00:00
Wez Furlong
2d97f4d4c7 Remove some old code. 2002-10-13 23:43:46 +00:00
Wez Furlong
0bcd2ccb2c A much better probable fix for #16114. 2002-10-13 23:43:21 +00:00
Wez Furlong
bc0948bbda Probable fix for #16114 2002-10-13 23:21:05 +00:00
Wez Furlong
5f7c347f17 Fix a nasty nasty bug:
When not enough data to satisfy a read was found in the buffer, fgets modifies
the buf pointer to point to the position to store the next chunk.  It then
returned the modified buf pointer, instead of a pointer to the start of the
buffer.

Also added some infrastructure for making fgets grow the buffer on-demand to
the correct line-size.  Since streams uses reasonable chunk sizes, the
performance of the realloc's should be pretty good; in the best case, the line
is already found completely in the buffer, so the returned buffer will be
allocated to precisely the correct size.

In the worst case, where the buffer only contains part of the line, we get a
realloc per buffer fill. The reallocs are either the size of the remainder
of the line, or the chunk_size (if the buffer sill does not contain a complete
line).  Each realloc adds an extra byte for a NUL terminator.

I think this will perform quite well using the default chunk size of 8K.
2002-10-13 22:52:33 +00:00
Wez Furlong
70b796b143 (php_socket_errno) win32 errno compatible macro.
(php_socket_strerror) win32 compatible strerror replacement.
Add an E_NOTICE when a socket write fails.
2002-10-13 22:01:40 +00:00
Shane Caraveo
96b9c0a523 make php_import_environment_variables overwritable so fastcgi can correctly
set $_ENV.
2002-10-13 08:38:09 +00:00
Wez Furlong
4308a399b9 paranoia 2002-10-12 02:56:34 +00:00
Wez Furlong
258aa4d239 Write in blocks of the current chunk_size for a stream.
Should resolve problems with network writes.
2002-10-12 02:31:42 +00:00
Edin Kadribasic
9f4abb7ae4 Revert Stig's patch. Windows build should work again. 2002-10-11 09:20:38 +00:00
Sebastian Bergmann
5f56185a62 Break it again (after 4.3.0-pre1 :-) 2002-10-10 19:08:13 +00:00
Andrei Zmievski
3b32aa7d33 Back to 4.3.0-dev. 2002-10-10 19:07:12 +00:00
Sebastian Bergmann
f2155df039 Revert to revision 1.13 for 4.3.0-pre1. 2002-10-10 17:45:36 +00:00
Andrei Zmievski
bb4aefacd0 Update to 4.3.0-pre1. 2002-10-10 17:34:12 +00:00
foobar
8f92778136 revert version here too.. 2002-10-08 19:44:04 +00:00
Stig Bakken
231efd186f * make these variables configurable from environment on Windows:
PEAR_INSTALLDIR           PHP_BINDIR      PHP_CONFIG_FILE_PATH
  PHP_CONFIG_FILE_SCAN_DIR  PHP_DATADIR     PHP_EXTENSION_DIR
  PHP_INCLUDE_PATH          PHP_LIBDIR      PHP_LOCALSTATEDIR
  PHP_PREFIX                PHP_SYSCONFDIR
2002-10-08 01:04:52 +00:00
Stefan Esser
46f4a07d1c Closing protected variables hole 2002-10-07 11:23:24 +00:00
Zeev Suraski
1143a7023c Whitespace 2002-10-07 11:21:06 +00:00
Sascha Schumann
88b2d8bb8f stdio buffers data in user land. By calling fflush(3), this
data is sent to the kernel using write(2). fsync'ing a
file descriptor is not required -- writing to a fd has the same
affect as calling fflush after each fwrite.
2002-10-07 03:12:06 +00:00
Wez Furlong
510f3b0305 Try to ensure that we return the number of bytes requested during fread(). 2002-10-06 23:27:53 +00:00
Zeev Suraski
df55f35798 Revert the implicit_flush mess.
Do not revert it again under any circumstances!

Yasuo/anybody else - if there are issues with implicit_flush, please inform
me and I will fix them.
2002-10-06 12:02:53 +00:00
Zeev Suraski
de36720e0e Begin the cleanup - remove ob_flush_all() 2002-10-06 09:06:24 +00:00
Andrei Zmievski
f7ef0ccd17 Change HEAD version to 4.4.0-dev. 2002-10-05 20:37:12 +00:00
Wez Furlong
9d5bab5a0d EOF related fixes. 2002-10-05 10:59:35 +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
Brian France
3340e82508 Fixed a problem where opendir with <path>/ and having <path>/ in
open_basedir ini option didn't work.  It was removing the trailing
        slashes and then addeding it back to only one of the string,
        now it adds it back to to both if needed.
2002-10-04 22:16:16 +00:00
Sascha Schumann
bfd2a857b2 Fix EOF cases
Noticed by: Ilia
2002-10-04 19:48:59 +00:00
Sascha Schumann
1918011c01 Interrupt loop, if the stream op fails. 2002-10-04 19:36:09 +00:00
Sascha Schumann
5e97e66abb Nuke warning 2002-10-04 19:20:13 +00:00
Sascha Schumann
a4ec211e9e Add a few notes 2002-10-04 19:08:43 +00:00
Wez Furlong
9c5883bdf6 replace dont_block with a flag. 2002-10-04 18:59:34 +00:00
Ilia Alshanetsky
08645d53c0 Fixed bug #19746 2002-10-04 18:44:47 +00:00
Sascha Schumann
4f7e6dadd8 Improve the general behaviour of stream_gets and fix its semantics
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.
2002-10-04 18:21:40 +00:00
Marcus Boerger
518e61de97 suggest paranthesis around || and && 2002-10-04 17:11:35 +00:00
Sebastian Bergmann
1014d78515 Add PHP_CONFIG_FILE_SCAN_DIR. 2002-10-04 05:22:13 +00:00
Rasmus Lerdorf
989a61ed98 As discussed, add --with-config-file-scan-dir compile-time switch defining
a directory which will be scanned for *.ini files after the main php.ini
file has been parsed.  This makes it much easier to automatically deploy
a modular PHP since adding extensions which have their own ini switches can
now be done by simply dropping a foo.ini file in the right directory and
restarting.  A list of parsed ini files is maintained and shown on the
phpinfo page.
2002-10-04 04:47:35 +00:00
Marcus Boerger
3ee8172674 fix position handling 2002-10-03 16:06:41 +00:00
Yasuo Ohgaki
39b0eb9b22 Fixed broken code by Derick.
ob_implicit_flush() and ob_flush_all() are stopped working.
var_dump() and hightlisht_string() outputs buffer contents wrongly
with ob_implicit_flush().

Everyone should be happy now.
It was only OG(implicit_flush) interpretation issue after all.
2002-10-03 13:32:01 +00:00
James Moore
df431074de Keep comments and code in sync. 2002-10-03 11:56:10 +00:00
Zeev Suraski
d58c3dda96 Guys, please keep K&R. 2002-10-03 11:18:39 +00:00
Sebastian Bergmann
b169932d1c Fix warnings. 2002-10-03 11:08:09 +00:00
Derick Rethans
9b517c4b93 - Revert changed to implicit_flush behavior. The new behavior was not
intended in the first place.
2002-10-03 10:35:33 +00:00
Yasuo Ohgaki
6c7202e116 Added comment for php_output_set_status().
Please use this function if you would like to prevent unwanted flush
by implicit_flush=On or ob_implicit_flush().
2002-10-03 08:54:13 +00:00
Yasuo Ohgaki
66a50c5373 Added ob_flush_all() that flushes bufferred contents until it actually
sent/printed.
@ Added ob_flush_all() that flushes all buffers. (Yasuo)
2002-10-03 07:17:14 +00:00
Yasuo Ohgaki
f534dc8f47 Added missing proto and foldings. 2002-10-03 04:17:41 +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
Yasuo Ohgaki
bec4574f57 Made some functions inline.
Added static for unexported functions.
2002-10-03 02:55:19 +00:00
Yasuo Ohgaki
bd177ce7c1 Added ob_get_clean() and ob_get_flush().
Someone requested this feature before.
@ Added ob_get_clean() and og_get_flush(). (Yasuo)
2002-10-03 01:36:44 +00:00
David Reid
cf2e12a01e Add some more BeOS support. 2002-10-02 23:48:58 +00:00
Marcus Boerger
1e6557f664 Fix implicit_flush 2002-10-02 15:36:29 +00:00
Marcus Boerger
ff51ed7c6f Modified get_status(): Display chunk_size allways and size which is in
most cases initial_size as well as block_size only when used.
2002-10-02 15:10:11 +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
Marcus Boerger
4a1d83aa8c Another missing variable init
#Wez shouldn't "stream->filterhead->fops->flush()" affect return value also?
2002-10-02 13:25:38 +00:00
Marcus Boerger
efec24d22d Missing variable init 2002-10-02 13:18:01 +00:00
Yasuo Ohgaki
e92abff88b Fixed bug #17825. Double zval_ptr_dtor(). 2002-10-01 10:01:56 +00:00
Yasuo Ohgaki
3d8e33f06a Fixed implicit flush. 2002-10-01 02:43:33 +00:00
Yasuo Ohgaki
ecf146cbce Users can shoot themselves by their own output handler always.
Therefore, this check is overkill and it should be documented
limitation, IMO.

Anyway, a little optimization.
2002-09-30 23:46:43 +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
Ilia Alshanetsky
7f18442882 Fixed a mem leak inside the path resolving code. 2002-09-29 22:16:29 +00:00
foobar
7aaa6bd77d ws fix 2002-09-29 19:22:39 +00:00
Sascha Schumann
e6e54605b7 Follow Yasuo's suggestion and build sapi program's under the sapi-specific
directory.

Move sapi-specific makefile fragments to their respective directory.

Create an embed sapi module which resides in its own dir now.
2002-09-29 16:22:49 +00:00
Derick Rethans
57b11623b9 - Fix Edin's name 2002-09-29 10:00:07 +00:00
Edin Kadribasic
946206f0d2 Added php/embed toolkit for embedding PHP engine into C/C++ applications.
See my post to php-dev on the subject.
2002-09-29 02:45:25 +00:00
Wez Furlong
7694770304 Rename streams functions to fit with naming conventions, adding aliases
for old functions where required.
Make use of recent changes to chunk size and timeout setting code.
2002-09-28 22:14:21 +00:00
Wez Furlong
9509c20941 remove chunk size setting code (it's now in streams.c).
Move timeout setting code.
2002-09-28 22:12:23 +00:00
Wez Furlong
393d57d5be Differentiate between write buffer and streams read buffer sizes.
Add options for timeout and chunk size; previously these were only
set-able for socket streams.
2002-09-28 22:10:47 +00:00
Ilia Alshanetsky
3f8ec7e764 Fixed bug #13936 2002-09-28 20:13:28 +00:00
Rasmus Lerdorf
5a239ab059 Uh, this is what I meant to do. Fix for #19292 2002-09-28 16:27:10 +00:00
Rasmus Lerdorf
5eab8abd35 Probable fix for bug #19292 2002-09-28 16:10:43 +00:00
Wez Furlong
84e0df3dfe Allow user streams/wrappers to implement fstat(), opendir() and stat(). 2002-09-28 13:05:47 +00:00
Colin Viebrock
c7c275b741 fix phpinfo() output for better browser BC 2002-09-26 17:54:54 +00:00
Wez Furlong
a95fb6bfd6 Fix for #19580. (Incorrectly warning about lost data when that is not the
case on systems without fopencookie).
2002-09-26 16:22:28 +00:00
Wez Furlong
c484eb8c97 Fix segfault in wrapper error log mechanism when errors are logged on
second and subsequent events.
Implement very simple recursion protection for user streams written
like this:
class urlEncodeStream {
    var $fp = NULL;

    function stream_open($path, $mode, $options, &$opened_path)
    {
        $this->fp = fopen($path, $mode); // <-- this recurses infinitely
        return is_resource($this->fp);
    }
}

file_register_wrapper('urlencode', 'urlEncodeStream');
$fp = fopen('urlencode:///tmp/outputfile.txt', 'w');

Noticed by: Yasuo.
2002-09-26 12:12:27 +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