Commit Graph

2405 Commits

Author SHA1 Message Date
Anantha Kesari H Y
a93f75ce6b NETWARE has a proper stat structure Now no need of CLIB_STAT_PATCH checks 2004-09-29 10:54:56 +00:00
Anantha Kesari H Y
0903dcdcf7 removed redundant NEW_LIBC checks for NETWARE 2004-09-29 10:36:24 +00:00
Anantha Kesari H Y
c914bff745 removed unwanted NetWare specific changes 2004-09-23 15:57:30 +00:00
Anantha Kesari H Y
9b0489ac47 removed redundant checks for NETWARE 2004-09-23 15:43:54 +00:00
Anantha Kesari H Y
b855337d39 CLIB_STAT_PATCH check is redundant. So removing it 2004-09-23 13:07:43 +00:00
Wez Furlong
ff4e970fb1 Make new poll stuff work on win32 (and still be safe on unix) 2004-09-17 14:36:55 +00:00
Wez Furlong
99e290f882 Fix for Bug #24189: possibly unsafe select(2) usage.
We avoid the problem by using poll(2).

On systems without poll(2) (older bsd-ish systems, and win32), we emulate
poll(2) using select(2) and check for valid descriptors before attempting
to access them via the descriptor sets.

If an out-of-range descriptor is detected, an E_WARNING is raised suggesting
that PHP should be recompiled with a larger FD_SETSIZE (and also with a
suggested value).

Most uses of select(2) in the source are to poll a single descriptor, so
a couple of handy wrapper functions have been added to make this easier.

A configure option --enable-fd-setsize has been added to both the unix and
win32 builds; on unix we default to 16384 and on windows we default to 256.
Windows FD_SETSIZE imposes a limit on the maximum number of descriptors that
can be select()ed at once, whereas the unix FD_SETSIZE limit is based on the
highest numbered descriptor; 256 should be plenty for PHP scripts under windows
(the default OS setting is 64).

The win32 specific parts are untested; will do that now.
2004-09-17 12:44:56 +00:00
Ilia Alshanetsky
2a2d49b947 Fixed bug #30050 (Possible crash inside php_shutdown_config()).
# Patch suggestion by nw at softwarekombinat dot de
2004-09-17 02:48:41 +00:00
Sara Golemon
34550382d8 Added stream_filter_remove() to cancel a stream filter.
Register filters as resources when
instantiated by stream_filter_(ap|pre)pend().

Export php_stream_filter_flush() internal function to wind buffered data
out of a particular filter until consumed by a later filter or sent to
stream->readbuffer or stream->ops->write()
2004-09-14 03:48:17 +00:00
Sara Golemon
9cd4320b65 Allocating hash tables should be done via macro, not directly 2004-09-13 21:07:22 +00:00
Stefan Esser
0f860d8f34 only allow valid arrays at this point 2004-09-13 16:00:23 +00:00
Stefan Esser
e7d698c7d8 New Rule: Never try to repair potential malicious user input 2004-09-12 10:45:14 +00:00
Sara Golemon
ed5dcbff9b A little extra code to allow overriding plainfiles wrapper as well 2004-09-10 21:50:29 +00:00
Sara Golemon
955b43ba12 Add stream_wrapper_unregister()
Disables a wrapper (user-defined or built-in) for the life of the request.

Add stream_wrapper_restore()
Restores the wrapper originally defined at the time the request started
to the protocol name mentioned.
2004-09-10 20:45:35 +00:00
Rasmus Lerdorf
bb8167cda3 Stop at the index on an unmatched [ 2004-09-09 16:10:24 +00:00
Sara Golemon
d179ac771c Handle maxlen when stream can't be mmaped 2004-09-08 18:42:15 +00:00
Zeev Suraski
85a36e2bc3 Fix reverse dependency 2004-09-05 22:40:35 +00:00
Joe Orton
0d3884fed1 Move global symbols defined by bundled copy of libgd into private
php_gd_* namespace, to avoid symbol conflicts with, for instance,
another Apache module which loads a different copy of libgd.
2004-08-31 16:41:29 +00:00
Antony Dovgal
fd6d9cbeac fix bug #29723 (file_get_contents() fails with the file:// wrapper under Win32) 2004-08-31 11:37:02 +00:00
Ilia Alshanetsky
c84bd49fb5 Using int when long should be used. 2004-08-22 18:05:24 +00:00
Frank M. Kromann
e398e6b7d6 Fix win32 compilation. Missing uid_t and gid_t definitions. 2004-08-21 03:09:45 +00:00
Brian France
2f97097e0f If you send a post with a content-type header and then the next post without the content-type header, raw_post_data will not be set. This is because SG(request_info).post_entry is set to the first requests function pointer which makes it follow the wrong code path. 2004-08-19 20:26:39 +00:00
Zeev Suraski
b9310261d7 Fix an oldie fd leak 2004-08-16 12:24:52 +00:00
Derick Rethans
566230a01b - Added the PHP_EOL constant (Patch by Paul Hudson) 2004-08-13 07:02:50 +00:00
Rasmus Lerdorf
3166314d89 Reset global request_time in sapi_activate. Reset it in sapi_deactivate
too, although I can't see why that would be necessary, but most of the
other sapi globals are reset there as well.
2004-08-11 06:18:25 +00:00
Sara Golemon
883e096ce6 Minor format specifier fixes 2004-08-11 04:27:01 +00:00
Rasmus Lerdorf
cad60c3760 Add SAPI hook to get the request time if provided by the web server,
otherwise call time(0) on the first call and store it so subsequent
calls will get the same time.  Hook support for Apache1/2 included.
2004-08-10 17:40:00 +00:00
Wez Furlong
b21a7357fc Fix for #29256 from Dmitry, very slightly modified 2004-08-10 13:44:43 +00:00
Wez Furlong
d0be029908 zts fix... 2004-07-31 16:34:44 +00:00
Wez Furlong
ae7285d658 Misc sendto/recvfrom tweaks that have been pending here for a while... 2004-07-31 10:56:55 +00:00
Wez Furlong
05a3fabacb Make sure this is initialized... 2004-07-31 10:49:09 +00:00
Wez Furlong
71078de71a Implement an fstat cache for plain files. 2004-07-31 10:09:25 +00:00
Wez Furlong
f1072c2ae9 Ensure that port numbers get set in the peer/socket name functions.
(duh!)
2004-07-28 23:30:23 +00:00
Wez Furlong
637c424d64 Fix #29431: crash when parsing an invalid network address 2004-07-28 23:15:25 +00:00
Ilia Alshanetsky
86efab2cc4 Fixed bug #29369 (Uploaded files with ' or " in their names get their names
truncated at those characters).
2004-07-25 19:19:26 +00:00
Marcus Boerger
0cd2da0309 - Execute destructors earlier (Florian Schaper, fschaper at intux org) 2004-07-25 07:14:49 +00:00
Edin Kadribasic
4162f81c88 HEAD is 5.1.0-dev now 2004-07-21 23:02:28 +00:00
Andi Gutmans
56f8195fe5 - Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
  STR_FREE() and zval_dtor() always have to check for it and it slows down
  the general case. In addition, it seems that empty_string has been abused
  quite a lot, and was used not only for setting zval's but generally in
  PHP code instead of "", which wasn't the intention. Last but not least,
  nuking empty_string should improve stability as I doubt every place
  correctly checked if they are not mistakenly erealloc()'ing it or
  calling efree() on it.
  NOTE: Some code is probably broken. Each extension maintainer should
  check and see that my changes are OK. Also, I haven't had time to touch
  PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Marcus Boerger
7722837517 - Use ErrorException instead of Exception 2004-07-15 22:22:06 +00:00
Andi Gutmans
c18badbfbf - 5.0.1-dev 2004-07-13 19:56:49 +00:00
Andi Gutmans
399e2ca69f - Roll PHP 5.0.0 2004-07-13 19:05:31 +00:00
Wez Furlong
971fcd4254 Looks like Sara forgot to change this too. 2004-07-13 16:34:56 +00:00
Wez Furlong
ae40d0ef2a Fix file_get_contents() bug... 2004-07-12 20:59:24 +00:00
Stefan Esser
0e8de752fd Ooups... 2004-07-11 21:14:50 +00:00
Stefan Esser
8c075de7c7 Fixed: PARSE_TYPE parameter to input_filter
Fixed: input_filter should also be able to filter empty variables by name
2004-07-11 20:13:39 +00:00
Wez Furlong
cd732f1a3f RIP: greedy ready problems
This allows people to use fread($fp, filesize($filename)) for regular files,
but packet-based non-greedy reads for everything else.
2004-07-10 10:54:09 +00:00
Andi Gutmans
e5cfb1d05c - Better stability during premature shutdown of request startup 2004-07-10 07:46:17 +00:00
Wez Furlong
8f435013ff Fix for Bug #28964 fread "greedy" behaviour 2004-06-29 21:51:53 +00:00
Stefan Esser
59d55efb17 As long we pass values by reference this is needed. Ugly! 2004-06-26 08:09:28 +00:00
Sara Golemon
a2c24ae90e BugFix#28868 (Part Two): This fixes thread unsafety in the userspace
filters which relates to the fix just applied for userspace wrappers.
2004-06-21 21:08:05 +00:00
Sara Golemon
7fcfa8865e BugFix#28868: Wrapper hash not thread-safe.
Userdefined wrappers were being registered into a global wrapper hash
which can cross threads.  Termination of once instance then has the
potential to leave an active stream in another instance with no wrapper
leading to segfault.
2004-06-21 18:58:55 +00:00
Ilia Alshanetsky
b8c9e83664 Fixed bug #28692 (\0 in Authenticate header passed via safe_mode). 2004-06-08 13:23:38 +00:00
Andi Gutmans
0bdbbd379e - Go back to -dev (Shouldn't need another RC) 2004-06-07 18:57:34 +00:00
Andi Gutmans
6f47156228 - Roll RC3 2004-06-07 14:23:45 +00:00
Ilia Alshanetsky
ff5b2d27ae Fixed bug #28670 (WWW-Authentication header mangling with PCRE in safe_mode
adds extra spaces).
2004-06-07 13:51:50 +00:00
Andi Gutmans
02032ccf9f - Prepare for RC3RC2 2004-06-03 08:17:15 +00:00
Ilia Alshanetsky
e389e255e6 The engine will take care out-of-memory situation for us. 2004-05-28 14:14:26 +00:00
Andi Gutmans
e51105c6a6 - Back to RC3-dev until we roll final 2004-05-27 15:03:46 +00:00
Wez Furlong
b369925372 Fix #25939 for good this time.
# How could I miss this??
2004-05-27 13:04:14 +00:00
Andi Gutmans
5a9d648f1f - RC3RC1 2004-05-27 11:39:35 +00:00
Wez Furlong
dd9ac710f1 Fix silly mistake.
Thanks Antony :)
2004-05-26 21:19:21 +00:00
Stefan Esser
7dc95709c8 break is better 2004-05-25 22:12:40 +00:00
Wez Furlong
6873d6839d *sigh*, obviously, we need this to be able to use sapi_module.name 2004-05-25 13:23:20 +00:00
Wez Furlong
ff0ee48537 DEBUG -> PHP_DEBUG 2004-05-25 13:17:01 +00:00
Wez Furlong
146255f35c check if it matches... not if it doesn't... 2004-05-25 13:00:25 +00:00
Wez Furlong
c6dff79138 In debug mode, under CLI don't close stderr.
This is so that we can see any error reports.

# for extra paranoia, could limit this check to happen only after the script is
# finished running.
2004-05-25 12:59:15 +00:00
Andi Gutmans
e410a0f5b1 - Fixed bug #27640 memory leak of registered_zend_ini_directives (Dmitry) 2004-05-23 16:02:36 +00:00
Stefan Esser
bed3f4ce0b This is more correct. 2004-05-23 10:00:59 +00:00
Derick Rethans
cb1e4ab6c8 - Fixed TSRM problem in latest commit. 2004-05-21 08:16:13 +00:00
Derick Rethans
bc7ad69fbc - Fixed bug #28456 (Problem with enclosed / in uploaded file names) 2004-05-21 08:11:43 +00:00
Derick Rethans
dcb0ee6ec4 - Allow extra parameters to mail to be forced also from virtual host settings. 2004-05-20 10:24:39 +00:00
Derick Rethans
500f634db9 - Fixed defines 2004-05-11 15:30:54 +00:00
Sara Golemon
0dae58bb2a Bugfix #28300 Userspace stream/filter names don't need to be lowercased. 2004-05-06 14:29:33 +00:00
Sara Golemon
0180c36951 BugFix#28287 stream_*_register() not calling __autoload(). 2004-05-05 18:18:57 +00:00
Andi Gutmans
87a9f7bdbb - RC3-dev 2004-04-25 10:13:08 +00:00
Andi Gutmans
94c44ea9eb - RC2 2004-04-25 08:32:50 +00:00
Wez Furlong
0fb4bf9771 Fixed bug #19749 (shouldn't mmap() files larger than memory_limit) 2004-04-21 12:02:47 +00:00
Andi Gutmans
206f0da25a - RC2-dev 2004-04-21 10:34:27 +00:00
Andi Gutmans
40c20d3d72 - Prepare for RC2RC2 (if everything is OK especially Zeev's interface
- patch I'll roll RC2 tomorrow).
2004-04-21 09:59:52 +00:00
Marcus Boerger
43e44e4e9f Bugfix #28012, now for snprintf 2004-04-15 23:08:22 +00:00
Marcus Boerger
c007130382 Bugfix #28012 spprintf() output inconsistent for %p 2004-04-15 23:04:49 +00:00
Andi Gutmans
245dd7367d - RC2-dev 2004-04-14 11:24:17 +00:00
Andi Gutmans
acc4cd17ce - RC2RC1 2004-04-14 11:03:47 +00:00
Sara Golemon
3feae65f70 BugFix: Copy/Paste mistake referenced undefined variable on platforms without gettimeofday() 2004-04-09 19:18:59 +00:00
Sara Golemon
fac9416797 Only wind filters when appending to the read chain. 2004-04-01 03:52:34 +00:00
Sara Golemon
002f7ef393 This leaks when a stream opener proxy opens another stream. 2004-04-01 01:07:54 +00:00
Sara Golemon
72616e6eae BugFix#27619
Filters not applied to pre-buffered stream data.
(esp. http:// streams)
2004-03-31 23:48:59 +00:00
Wez Furlong
32be6f268b Fix for Bug #26757: session.save_path defaults to bogus value on win32
Merge from branch with one main difference: the default save_path is
set to the empty string on all platforms, whereas the code in the
branch only does so for win32.
2004-03-29 21:44:07 +00:00
Derick Rethans
fe576c7acb - Stopped file uploads from throwing E_WARNINGs and E_NOTICEs which can not be
hidden from within scripts (and a result value in the $_FILES global can be
  used to see the real failure anyway).
2004-03-25 21:27:23 +00:00
Marcus Boerger
bca4347064 Fixed bug #27687 (Bug Adding Default Charset to 'text/*' Content-Type Header 2004-03-25 08:42:00 +00:00
Derick Rethans
9ff10d086a - Revert bogus commit 2004-03-24 14:28:41 +00:00
Stanislav Malyshev
550da4ae7c and set module startup flag on startup 2004-03-24 13:33:26 +00:00
Stanislav Malyshev
b514ab2ee9 reset module shutdown flag on startup 2004-03-24 13:31:34 +00:00
Derick Rethans
2face60bef - Fixed NEWS
#- Can we *please* keep this in order?
2004-03-24 13:31:20 +00:00
Andi Gutmans
814000305a - Back to RC2-dev 2004-03-18 15:27:28 +00:00
Zeev Suraski
aac5c1f6c5 Prepare to roll RC1 2004-03-18 14:12:27 +00:00
Sara Golemon
581948ab00 Provide a meaningful error message when registration fails 2004-03-17 00:08:22 +00:00
Ilia Alshanetsky
88058e5715 Fixed bug #27498 (bogus safe_mode error on nonexistent directories for
chdir() and opendir() functions).
2004-03-16 23:23:17 +00:00
Derick Rethans
1ef3c8c74a - Replaced the exec_finished hook by the zend_post_deactive hook for
extensions. The new hook will be run after the symbol table and destructors
  are run. (PHP part)
2004-03-16 22:27:57 +00:00
Zeev Suraski
02344b1dae Improve the way auto-globals JIT works, and add the ability to turn it off 2004-03-16 19:49:19 +00:00
Marcus Boerger
09e76476ef Improve error message 2004-03-16 10:14:57 +00:00
Ilia Alshanetsky
542b034efa Fixed bug #27559 (Corrected open_basedir resolving logic). 2004-03-16 00:31:22 +00:00
Marcus Boerger
97b5bb474e Guard display_startup_errors with checking for default (working) output
functions.
2004-03-14 23:56:07 +00:00
Ilia Alshanetsky
09517318b1 Fixed bug #27530 (broken http auth when safe_mode is on and PCRE is
disabled).
2004-03-09 02:24:02 +00:00
Ard Biesheuvel
b303ba089c More wordsize fixes 2004-03-08 23:11:45 +00:00
Wez Furlong
70757063a7 add cast for qsort compare function.
Kinda ugly, but helps assert that we are doing the right thing as well as
kill the warning there.
2004-03-07 22:06:36 +00:00
Wez Furlong
1e35cf4f32 Connect feof() call to user-space stream feof() method.
Fixes Bug #27417 and #27508
2004-03-07 22:05:21 +00:00
Wez Furlong
0dd2280102 Less magic please 2004-03-07 21:36:55 +00:00
Jon Parise
4db900732d Cast the php_stream_dirent to a 'const char *' for estrndup() to avoid a
compiler warning.
2004-03-01 07:02:23 +00:00
Sara Golemon
860daac5d8 Must addref the resource when we make a new zval reference to it that will be exported to userspace. 2004-03-01 05:33:19 +00:00
Zeev Suraski
3f514ccb79 - Rename compatiblity mode to zend.ze2_compatibility_mode (it doesn't only affect auto-clone).
- Perform implementation checks even with simple inheritance (off when
    compatibility mode is enabled).
  - Restore default arguments in interfaces and handle it correctly.
  - Move registration of internal classes later in the startup sequence
    in order to have INI options available.
2004-02-25 10:58:06 +00:00
Zeev Suraski
e5e120460a Remove empty comment 2004-02-24 15:13:13 +00:00
Hartmut Holzgraefe
8c32fa79d7 EXTERN_C wrapping for PHPAPI prototypes
(Zend and main should now be ok)
2004-02-20 08:22:12 +00:00
Hartmut Holzgraefe
b8f7d9f9f5 wrap all PHPAPI prototypes into BEGIN_EXTERN_C/END_EXTERN_C blocks
(else they won't be usable from C++ extensions)
2004-02-20 08:04:30 +00:00
Hartmut Holzgraefe
d303509e05 be nice to C++ extensions 2004-02-18 21:34:15 +00:00
Marcus Boerger
b59989e716 Fix startup errors 2004-02-15 17:00:42 +00:00
Derick Rethans
ac9f4cc2af - We always need to destroy the llist though. 2004-02-14 12:35:59 +00:00
Derick Rethans
3781af53cd - Fixed zero bytes memory allocation when no extra ini files are found in the
--with-config-file-scan-dir specified directory. (patch by Eric Colinet
  <e.colinet@laposte.net>)
2004-02-14 12:29:04 +00:00
Stefan Esser
debf069a58 better write into the correct buffer 2004-02-12 18:27:33 +00:00
Andi Gutmans
efe864dc34 - We are RC1-dev now 2004-02-12 16:26:59 +00:00
Andi Gutmans
82ad916386 - Roll Beta 4 2004-02-12 15:59:18 +00:00
Zeev Suraski
30171a7590 zend_default_classes.h -> zend_exceptions.h 2004-02-12 10:43:27 +00:00
Andi Gutmans
eca1fdc821 - Go with b4 RC 1 (Sanity package) 2004-02-12 08:46:02 +00:00
Andi Gutmans
d93f899271 - Change to b4 2004-02-11 11:53:45 +00:00
Zeev Suraski
ed113a65b0 Clear that up 2004-02-10 18:50:10 +00:00
Zeev Suraski
acb1f365d2 Cleanup 2004-02-10 18:46:53 +00:00
Zeev Suraski
b8a990ace7 Fix report_memleaks 2004-02-10 17:55:32 +00:00
Zeev Suraski
f069be85bf Whitespace 2004-02-10 17:44:18 +00:00
Ilia Alshanetsky
e8beeecf3e Fixed bug #26653 (open_basedir incorrectly resolved on win32). 2004-02-10 16:08:54 +00:00
Ilia Alshanetsky
ec09b090f9 Fixed bug #27175 (tzset() is not being called by PHP on startup). 2004-02-09 04:04:24 +00:00
Wez Furlong
a44838e8a3 Fix a bug in the persistent socket liveness checks and feof(); they were
using the default socket timeout of 60 seconds before returning the socket
to the calling script.  The reason they were using that value is that the
same code is used for feof(), so the fix is allowing the caller to
indicate the timeout value for liveness checks.

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

# [1] by timeout, I mean the time that PHP will wait for data on a
# persistent socket before deciding if a new connection should be made;
# NOT the timeout while waiting for a new connection to be established.
2004-02-04 22:46:44 +00:00
Sara Golemon
a172481869 This should not have been an INI_ALL directive. 2004-01-29 00:08:21 +00:00
Sara Golemon
6d10371ec6 'Bug Fix': scandir, being a new function in PHP5 should have always been wrapper aware. 2004-01-28 22:21:54 +00:00
Wez Furlong
e1ae61802b Fix segfault for scripts like this:
<?php
pfsockopen("foo");
pfsockopen("foo");
?>
Where the transport fails to connect (since args are bogus);
the problem was that the persistent stream entry was not
correctly freed.
2004-01-27 22:40:44 +00:00
Ilia Alshanetsky
4cc62a06f6 Removed unused variable. 2004-01-27 03:20:35 +00:00
foobar
e3c80d52da - Remove gpc_order since it doesn't serve any purpose. 2004-01-26 04:15:08 +00:00
Hartmut Holzgraefe
234e8a76c4 stream_lock() method added to userspace streams wrapper 2004-01-21 10:17:12 +00:00
Ilia Alshanetsky
eb3ff409b0 Fixed bug #26974 (rename() doesn't check the destination file
against safe_mode/open_basedir).
2004-01-21 02:28:50 +00:00
Marcus Boerger
61fc2a9209 Add missing macro
# by popular demand, more and more exts need this
2004-01-12 00:19:40 +00:00
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
Ilia Alshanetsky
be5670af2b Fixed bug #26707 (Incorrect error for disabled functions/classes). 2003-12-24 16:38:22 +00:00
Derick Rethans
0041a5798b - Fix version number so that people are not mistaking our development
version for RC1.
2003-12-21 18:57:59 +00:00
Zeev Suraski
6ac233f975 B3 here we go (away) 2003-12-21 18:30:57 +00:00
Zeev Suraski
bb531436c8 B3 here we come 2003-12-21 18:26:29 +00:00
Andi Gutmans
d53caa9618 - Make the world a better place.
- Will roll b3 tomorrow.
2003-12-20 21:27:49 +00:00
Wez Furlong
ab11c8c5ba MFB fix for #25597 2003-12-20 20:25:55 +00:00
Andi Gutmans
e7bdc15148 - Prepare for RC2 2003-12-19 13:36:38 +00:00
Wez Furlong
12b0501f55 Counteract brain-death in Apache headers
(they #define strtoul to something that will break compilation,
and it successfully breaks the win32 IPv6 headers)
2003-12-18 11:26:00 +00:00
Andi Gutmans
3573c13552 Roll RC1 of B3 2003-12-17 20:20:34 +00:00