Commit Graph

1014 Commits

Author SHA1 Message Date
Stanislav Malyshev
522aec4443 Never trust snprintf return value 2000-09-08 12:52:05 +00:00
Stanislav Malyshev
6426d1c9ce Fix crash on very long error messages
Manual for snprintf says:
       If  the output was truncated, the return value is -1, oth-
       erwise it is the number of characters stored, not  includ-
       ing the terminating null.
And that's a blatant lie - in reality, libc 2.1 always returns number of
characters that _would be_ stored. I hate those libc bugs. Now we should go
and check every place we trusted snprintf return value.
2000-09-08 12:32:29 +00:00
Stanislav Malyshev
df5e0cb0a5 Fix syslog call 2000-09-08 12:07:21 +00:00
Stig Venaas
f68fb8fad2 Better IPv6 checking 2000-09-07 17:56:12 +00:00
Andi Gutmans
204f4adca7 - Smarter detection of MAXPATHLEN 2000-09-07 15:20:29 +00:00
Zeev Suraski
677d4b9913 Send $HTTP_POST_FILES to the right place 2000-09-07 04:12:31 +00:00
Sascha Schumann
4d2515d6be 4.0.3-dev 2000-09-06 16:52:33 +00:00
Daniel Beulshausen
81daa0899e deleted unnecessary defines
i also plan to let windows build with crypt() support
2000-09-06 10:00:34 +00:00
Zeev Suraski
bfa301dfd0 Fix ordering 2000-09-06 04:56:22 +00:00
Zeev Suraski
12adebbc3a - Fix leak
- Remove redundant php_ini code
2000-09-05 21:18:00 +00:00
Zeev Suraski
4647bbb71a broken logic fixed. I'm getting old 2000-09-05 20:50:41 +00:00
Zeev Suraski
eb32144902 - Remove track_vars - it is now always on
- Make the various $HTTP_*_VARS[] arrays be defined always,
  even if they're empty
- Fix Win32 build and warnings
2000-09-05 19:06:29 +00:00
Stig Venaas
d57e56ab4c using emalloc and efree, instead of malloc and free 2000-09-05 17:37:44 +00:00
Stig Venaas
24633f5987 renamed hostconnect() to php_hostconnect() 2000-09-05 16:36:56 +00:00
Stig Venaas
b83427db64 using the new hostconnect() for the http wrapper 2000-09-05 15:59:08 +00:00
Stig Venaas
4a7f22123f hostconnect now supports IPv6 if getaddrinfo exists, and also tries to
connect to all addresses of a host before giving up. It should also be
thread safe when using getaddrinfo.
2000-09-05 13:56:11 +00:00
Zeev Suraski
efdd39207c Protect arrays as well. 2000-09-04 22:26:01 +00:00
Sterling Hughes
9f86ff884f @Add a php.ini option session.use_trans_sid to enable/disable trans-sid. (Sterling) 2000-09-04 22:21:10 +00:00
Zeev Suraski
5dca99232e Prevent exploit in [tmp_name] as well 2000-09-04 22:05:00 +00:00
Zeev Suraski
60825fab88 Fix the logic. Tested. 2000-09-04 21:23:41 +00:00
Zeev Suraski
388170ffa5 3rd time's a charm 2000-09-04 20:47:52 +00:00
Zeev Suraski
b47050630b Fix the fix 2000-09-04 20:46:10 +00:00
Zeev Suraski
ed453cc9b4 Fix the file upload security problem with no side effects (untested) 2000-09-04 19:07:50 +00:00
Sascha Schumann
96128460b7 Include "php.h", otherwise we don't have access to the PHP and autoconf
macros.
2000-09-04 12:58:08 +00:00
Rasmus Lerdorf
43fefff150 Quick-fix for the file upload security alert
@Quick-fix for the file upload security alert (Rasmus)
2000-09-04 05:09:46 +00:00
Andi Gutmans
6bfed632c7 - This shouldn't have been commited.
There are quite a few modules which are using VIRTUAL_DIR. I don't think
  this should be happening.
2000-09-04 04:22:47 +00:00
Andi Gutmans
341a0d465a - Found my bug and managed to move the V_* macros to TSRM 2000-09-04 04:18:04 +00:00
Andi Gutmans
e47d4fe249 - Increase buffers of output buffering to 40KB and 10KB increments which
makes more sense when web pages are typically like 10KB-20KB.
  I think it would be best to change the reallocation algorithm at least to
  redoubling when it's full instead of incrementing and possibly use
  a data structure similar to Zend/zend_static_allocator which uses memory
  blocks and not realloc().
2000-09-03 19:57:06 +00:00
Andi Gutmans
799a00f19a - Before removing php_virtual_cwd.[ch] #if 0 them to make sure nothing
is broken by this.
2000-09-03 19:44:35 +00:00
Stig Venaas
f0962c33a1 Added timeout argument, but not used yet 2000-09-03 19:12:28 +00:00
Andi Gutmans
6c6471b160 - Move to virtual cwd in TSRM 2000-09-03 18:45:02 +00:00
Zeev Suraski
2183e2b0be Make gcc happy 2000-09-03 15:58:50 +00:00
Zeev Suraski
48f13455be Fix init bug 2000-09-03 15:56:54 +00:00
Stig Venaas
7f8917932f Added network.c 2000-09-03 09:34:33 +00:00
Stig Venaas
ad95450fc4 To be included by code using functions in network.c 2000-09-03 09:33:14 +00:00
Stig Venaas
c94933b2fa Network related functions, only for internal use by other PHP code. Tries
to hide the details of address families/protocols, and to reduce duplication
of code.
2000-09-03 09:30:41 +00:00
Andi Gutmans
299d1295b6 - Remove another TSRM->Zend dependency 2000-09-02 18:40:41 +00:00
Zeev Suraski
cf8e389799 @- Added support for an optional output handler function for output
@  buffering.  This enables transparent rendering of XML through XSL,
@  transparent compression, etc. (Zeev)
2000-09-02 18:03:58 +00:00
Andi Gutmans
97d509cc95 - Get rid of unused code and stop including PHP's win95nt.h 2000-09-02 16:08:24 +00:00
Zeev Suraski
e065c308e9 - Fix dir.c
- Begin cleanup of php_error_cb()
2000-09-01 12:06:52 +00:00
Sascha Schumann
df273c9d01 Hopefully last round of fixing varargs use.
We don't need to create the log message twice, and by doing it only
once we also avoid the orig_args trap.
2000-09-01 09:54:32 +00:00
Andi Gutmans
27de50012b - Use emalloc() for opened_path now. This was a potential leak before.
- This patch has potential to break stuff but I tested it as much as I
- could. Fixes should be easy.
2000-08-31 22:24:20 +00:00
Andi Gutmans
e8e5c9d97e - Remove redundant IS_SLASH
- Reverse config.w32.h patches
- Use IS_ABSOLUTE_PATH() in one place in fopen-wrappers.c
2000-08-31 19:49:36 +00:00
Stanislav Malyshev
ed3c85261b Make main.c compile again 2000-08-31 16:15:31 +00:00
Zeev Suraski
0bc2bb05d4 Safer shutdown process. Continue to shut down even if we bail out in the middle of a certain part. 2000-08-31 16:02:51 +00:00
Daniel Beulshausen
95ee791d97 should be easier when compiling the modules 2000-08-30 21:07:16 +00:00
Andi Gutmans
ca5e0330ca - Missed a space 2000-08-30 20:32:29 +00:00
Andi Gutmans
4a2fa70fc9 - Fix bug when using safe_mode and doc_root together 2000-08-30 20:31:17 +00:00
Zeev Suraski
47f8af85f5 This is no longer relevant... 2000-08-30 18:06:17 +00:00
Zeev Suraski
0e482b1b30 - Truly fix varargs handling - the current situation was a sure-fire crash in most platforms
(the older code worked, even though it didn't compile well for some very odd reason, probably
  a compiler bug;  The new code would cause PHP to crash if both display_errors/log_errors and
  track_errors were enabled)
2000-08-30 18:02:00 +00:00
Zeev Suraski
3a10285392 Go 4.0.2 2000-08-29 15:49:44 +00:00
Stig Bakken
1b4d8c0fb6 @Added PHP API for Zend's ticks
Added PHP API for registering tick functions.  Ticks is a per-instruction
callback in Zend that allows us to implement cooperative multitasking
within PHP.  Example:

In extension code:

php_add_tick_function(my_tick_func);

void my_tick_func(int count) {
    php_printf("[tick %d]", count);
}

In PHP code:
<?php

declare(ticks = 1) {
    print "there should be two ticks here.\n";
}

?>
2000-08-29 09:18:48 +00:00
Sascha Schumann
e783d75ed3 sizeof(old_cwd) evaluated to sizeof(char *) after last commit, so old_cwd
was not set correctly.
2000-08-27 20:51:30 +00:00
Andi Gutmans
ecbc0255d9 - Use do_alloca()/free_alloca() for old_cwd. This will ensure speed in
- non-ISAPI environments but in ISAPI will use emalloc()/efree() to save
- stack space. MS only gives us 10KB those bastards.
2000-08-27 19:56:22 +00:00
Andi Gutmans
827672cd78 - Reverting Sascha's patch although I don't like doing these kind of things
- but as it is Sascha who has reverted a zillion patches I don't feel that
- bad about it :)
- The patch is morally incorrect and it actually also has a crash bug which
- I won't point out because it shouldn't be there.
- SG(path_translated) should be set by the SAPI module correctly and if it
- isn't the SAPI module should be fixed and not add code to PHP. There is
- enough special case code in PHP and I would like to clean it up and not
- add more.
- Last but not least, old_cwd takes 4KB of stack space. We should probably
- malloc() it because in ISAPI we only have 10KB of stack space.
2000-08-27 19:51:50 +00:00
Sascha Schumann
390d1cd1b7 Initializing new_path once is enough 2000-08-27 19:40:21 +00:00
Sascha Schumann
3f969d0b84 If a SAPI module does not pass an absolute path as primary_file to
php_execute_script(), we will now change the filename to point to
the absolute path.
2000-08-27 19:38:18 +00:00
Sascha Schumann
626fc9a773 Export IS_ABSOLUTE_PATH to the outside world. 2000-08-27 19:36:35 +00:00
Sascha Schumann
ab458219ec Real fix for this rule. 2000-08-27 19:32:28 +00:00
Andi Gutmans
eea3a56973 - This should be more efficient.
- Post 4.0.2 it's time to move the whole opened_path and virtual stuff
- to emalloc() and friends including some alloca() improvements where
- possible but I don't want to break anything before
2000-08-27 19:20:53 +00:00
Sascha Schumann
58abfc5426 Fix internal_functions.c rule. This should also work better with BSD make's
VPATH support.
2000-08-27 18:54:28 +00:00
Andi Gutmans
0b8ca80e57 - Remove some unused stuff. 2000-08-27 18:27:37 +00:00
Andi Gutmans
989203cf9c - Test commit msg. This is Andi and it seems to come from Zeev. 2000-08-27 18:18:34 +00:00
Zeev Suraski
1f7b735290 - Forgot to fix non-ZTS CHDIR_FILE macro 2000-08-27 18:06:12 +00:00
Andi Gutmans
39770d99ea - Try and fix problem with opening wrong file. 2000-08-27 18:01:17 +00:00
Sascha Schumann
35a9a1878e Fix strlcpy use at this place. 2000-08-27 09:48:03 +00:00
Sascha Schumann
2eb8688f29 Refine PHP_STRLCPY comment 2000-08-27 09:38:33 +00:00
Sascha Schumann
b2cecd9d8b newtype has a length of newlen+1, 'len' refers to the length of *mimetype
here.
2000-08-27 09:32:23 +00:00
Sascha Schumann
365edaddd4 Add PHP_STRLCPY macro. This macro should be used in new code instead of
strlcpy/strlcat which are intended for fixing broken code.
2000-08-27 09:30:15 +00:00
Stig Bakken
03471b21ee @Added ob_get_length function (Stig)
Added ob_get_length() function (returns size of buffer)
2000-08-25 03:10:42 +00:00
Zeev Suraski
c542f9a3f4 - Fix IMAP build problem
- Allow external DLLs to use warn_not_available
2000-08-24 18:49:49 +00:00
Sascha Schumann
19741cc37a The macro CONVERT_TO_WIN_FS is not used anywhere. 2000-08-21 09:57:13 +00:00
Sascha Schumann
8e0ae5d152 Cleaning up some mess 2000-08-21 09:50:53 +00:00
Andi Gutmans
99d3b9bfe8 - Remove old/deprecated version of expand_filepath 2000-08-21 04:30:25 +00:00
Andi Gutmans
c799959568 - Change PHP_SEPARATOR to PHP_DIR_SEPARATOR 2000-08-20 19:56:24 +00:00
Andi Gutmans
892e949196 - Checking for ".." isn't enough. include_once() could mess up even if both
- names didn't include ".." but were referenced different directories which
- were symlinked to each other.
2000-08-20 19:49:10 +00:00
Andi Gutmans
80d878279b - Sascha's patch should make PHP in VIRTUAL_DIR mode also change to the
- right directory so this shouldn't be needed anymore.
2000-08-20 18:12:16 +00:00
Sascha Schumann
1d68a02df3 The status quo in PHP is that the current directory is initialized
to the directory where the executing script is located.

Since this needs to be implemented for all SAPI modules anyway, this
change moves the functionality to php_execute_script() and gets rid
of the per-module code.
2000-08-20 14:29:00 +00:00
Sascha Schumann
320105bcd8 Use size_t as parameter type in the getenv member of struct sapi_module 2000-08-20 14:20:21 +00:00
Sascha Schumann
6358dad0e1 const'ify virtual-cwd API 2000-08-20 14:11:50 +00:00
Sascha Schumann
c8b8a908ca Provide PHP_SEPARATOR which expands to the default directory separator
on the target platform.
2000-08-20 14:02:57 +00:00
Sascha Schumann
d3aeebdd1f Fix prototype of virtual_real_chdir_file. 2000-08-20 13:09:57 +00:00
Sascha Schumann
c86ec8b1a9 Add virtual_real_chdir_file. Silly name for a useful function. 2000-08-20 12:49:56 +00:00
Sascha Schumann
fbdf502307 Remove php_realpath from build.
It was broken and should not be used in any way.
2000-08-20 05:27:59 +00:00
Zeev Suraski
f112b68668 Avoid an endless loop situation in case of an error situation while sending headers 2000-08-19 16:38:19 +00:00
Andi Gutmans
0c57780b11 - Centralize more fopen-wrappers functionality. 2000-08-18 23:03:49 +00:00
Andi Gutmans
c675a39b73 - The beginning of an attempt to cleanup fopen-wrappers.
- I started with trying to localize the V_FOPEN's so that we can have a
- version which won't really open the file for include_once/require_once to
- work faster and have less chance of a race which would cause a fd leak.
- What I did will, therefore, change but I want to do this step by step
- because the code is extremley messy so first of all I want to make sure
- that the isolating of the V_FOPEN code doesn't break anything.
- How about moving URL stuff out of this file?
- php_fopen_url_wrapper() copy and pasted the second part of
- php_fopen_wrapper() (incorrectly). Please try not to copy&paste code but
- centralize functionality. Need to think of a nice way to nuke one of the
- copies and have both functions use the same one.
2000-08-16 19:26:21 +00:00
Sascha Schumann
ce635bdb3c Fix varargs handling. The assignments are not necessary at all and
cause problems on various platforms, so we get rid of them.
2000-08-15 17:05:37 +00:00
Zeev Suraski
c9dca64075 Sync with Zend 2000-08-15 16:46:43 +00:00
Stanislav Malyshev
5090b1e8d5 Fix zend_fiel_handle handling. Should fix URL include
and various opened_path inconsistencies.
2000-08-13 18:00:50 +00:00
Andi Gutmans
26300a8ebf - Move compat macros to php3_compat.h 2000-08-10 19:38:29 +00:00
Zeev Suraski
a6c6f6a5c3 Update to be consistent with the new Zend API 2000-08-09 19:23:53 +00:00
Stanislav Malyshev
40fd4fb21b Standartize full path handling - everything now goes via expand_filepath
Add errno to open_basedir checking function
2000-08-08 16:36:25 +00:00
Stanislav Malyshev
b5f74d44e9 fix return code for virtual_file_ex 2000-08-08 16:30:42 +00:00
Zeev Suraski
97893e6a19 Reverse this patch - it really shouldn't be in the error handler, but in the place
that generates the error...
2000-08-06 21:42:54 +00:00
Sascha Schumann
a8a1bbe921 Including utime.h once is enough. 2000-08-06 18:14:46 +00:00
Stanislav Malyshev
d9ab6333ea Add utime include 2000-08-06 17:53:04 +00:00
Sascha Schumann
23ebf6e916 Include <utime.h> in php_virtual_cwd.h. 2000-08-06 17:42:54 +00:00
Stanislav Malyshev
57c54a093b Replace min() - not everyone has it 2000-08-06 16:34:37 +00:00
Stanislav Malyshev
10f300094b fix stupid bug 2000-08-06 16:32:22 +00:00
Andi Gutmans
c756ae2d9f Virtualize realpath, chmod, chown and utime
This should fix #5935 and #5904
@- Virtualize realpath, chmod, chown and utime (Stas)
2000-08-06 16:22:07 +00:00
Rasmus Lerdorf
da1b7847b3 Support content-encoding headers in file upload mime parts
@- Support content-encoding headers in file upload MIME parts
@  (Ragnar Kjørstad)
2000-08-06 06:40:28 +00:00
Rasmus Lerdorf
a8f0c5a316 decouple this check just in case we hit a weird system that has one
and not the other.  And we specifically check for this, so we should
use the information.
2000-08-06 04:55:17 +00:00
Hartmut Holzgraefe
b04a02660e changed default sendmail flags from '-t' to '-t -i' (bugid#5374) 2000-08-04 22:42:11 +00:00
Stanislav Malyshev
688268727e If we can't find a protocol in URL wrapper, try it as a filename (fix #5931) 2000-08-03 15:09:27 +00:00
Rasmus Lerdorf
ff0a08f508 Leave this initialization in 2000-08-02 22:53:55 +00:00
Rasmus Lerdorf
76a2d2538c Heads up! I have moved the headers_only and response_code checks out of
SAPI and down into the individual SAPI modules.  I have made the
appropriate changes in all the SAPI modules, but please verify these.
The reason for this change is that Apache sometimes will feed PHP
a request_method of GET but have r->header_only set to true.  This happens
in an ErrorDocument redirect.  In this same scenario we want to preserve
the status code as well instead of just overwriting it with a 200 and
losing this information.  For now the other sapi modules act exactly as
before since they probably do not make this distinction, and they may
not even have a valid response code this early in the request.
@ Fix HEAD request bug on an Apache ErrorDocument redirect and preserve
@ the status code across the redirect as well.  (Rasmus)
2000-08-02 22:48:45 +00:00
Hartmut Holzgraefe
b59e98b87c "undefined function" error message will now suggest similar named
functions as jikes compiler for java does (typo protection)
2000-08-01 07:57:19 +00:00
Zeev Suraski
c5c973d16f - Get rid of whitespace. 2000-08-01 00:41:35 +00:00
Stanislav Malyshev
a790966b15 Fix file upload types array handling (#5836) 2000-07-30 11:22:18 +00:00
Rasmus Lerdorf
677df784c1 This url symbol was a bit too generic. Change it to php_url instead.
It was clashing with a similar typedef in the UdmSearch integration I am
working on.
2000-07-29 22:32:21 +00:00
Zeev Suraski
52ff887db5 Made ob_start() and friends reentrant. It's now possible to implement this
long-requested functionality, now that output buffering is re-entrant:

function eval_ret($code)
{
	ob_start();
	eval($code);
	$retval = ob_get_contents();
	ob_end_clean();
	return $retval;
}
2000-07-29 14:46:09 +00:00
Zeev Suraski
d8a4278ab4 - Update .dsp's
- Make non ZTS Win32 build again
2000-07-29 10:48:57 +00:00
Hartmut Holzgraefe
1a7f851985 added '-l' option to command line / CGI version for 'syntax check only'
plus a little cleanup and rearranging in command line option parsing

@ CGI aka. command line version has now an option '-l' for syntax check
@   without execution (Hartmut)
2000-07-28 15:21:20 +00:00
Stanislav Malyshev
ba8d49dce7 Fix realpath not to die on non-existing files (bug #5790)
Thanks to china@thewrittenword.com
2000-07-27 13:48:50 +00:00
Stanislav Malyshev
a9606d1d4e Make browscap parameter names lowercase
Fix . handling in browscap names
2000-07-25 18:50:50 +00:00
David Croft
0836e10a15 various version 2.0 and 2.01 licenses -> 2.02 2000-07-24 05:41:02 +00:00
David Croft
83513d9580 Changed lots of PHP 3 licence headers to PHP 4, mainly in .h files.
Added a few RCS $Id$ tags.

# Note: I have avoided changing any .h files if the corresponding .c file
# had not already been changed as I am not sure if there are any legal
# issues here. So some extensions still have PHP 3 headers.
2000-07-24 01:40:02 +00:00
Stanislav Malyshev
b410eaf6d4 Make browscap not to lowercase its arguments
# Why it is doing it? Parent matching doesn't work with lowercase
# If there was any reason to it, please tell
2000-07-23 11:27:48 +00:00
Joey Smith
4caea0bb7a BROKEN_SPRINTF should be PHP_BROKEN_SPRINTF 2000-07-23 08:25:27 +00:00
Zeev Suraski
206b83f009 Fix Win32 build 2000-07-21 15:54:10 +00:00
Stig Bakken
7bb67a6200 @Set default include_path so PEAR files can be reached (Stig) 2000-07-18 11:02:28 +00:00
Zeev Suraski
aa8d04a87c Fix disable_functions feature 2000-07-13 17:52:00 +00:00
Thies C. Arntzen
88113794fd (php_error) only set php_errormsg if we (still) have an active_symbol_table. 2000-07-12 11:59:09 +00:00
Zeev Suraski
168ccfc133 Disable the hash_apply() protection on hashes that persist across requests - it's unsafe
because we may be aborted at any point
@- Fixed a possible data corruption in case of a huge amount of aborted requests (Zeev)
2000-07-11 14:29:38 +00:00
Sascha Schumann
e8101d4f7b Unify use of my email address 2000-07-10 10:09:15 +00:00
Sascha Schumann
2cfa840eb5 Restore INI entries after the request shutdown of modules.
This fixes the problems users of the session module encountered when
using a save handler other than files.
2000-07-09 13:20:27 +00:00
Uwe Steinmann
68f35d5539 - fixed handling of fdf data (application/vnd.fdf) 2000-07-05 08:57:37 +00:00
Stig Bakken
23ca7b9f1a Added "html_errors" directive to optionally disable HTML formatting of error
messages.  The default is on. (Stig)
2000-07-04 09:15:06 +00:00
Sascha Schumann
0db7994248 Rename macros which begin with underscore to valid macros. 2000-07-03 00:45:21 +00:00
Sascha Schumann
cd754d7825 Rename macros which begin with underscore to appropiate macros. The general
rule is:

	macro_name=`echo $filename|tr a-z A-Z|sed 's/\./_/'`
2000-07-03 00:41:19 +00:00
Sascha Schumann
16017f6d78 Change header protection macros to conform to standard.
Draft 3 of IEEE 1003.1 200x, "2.2 The Compilation Environment"

  All identifiers that begin with an underscore and either an uppercase
  letter or another underscore are always reserved for any use by the
  implementation.
2000-07-02 23:46:51 +00:00
Stanislav Malyshev
10342b4b9e react only on CORE_ERROR 2000-07-02 16:36:31 +00:00
Stanislav Malyshev
d3afeb5b4e Be strict on errors in modules startup 2000-07-02 16:23:43 +00:00
Rasmus Lerdorf
2b61d55b1d This is documented to not be case sensitive and it is not case sensitive
in PHP 3, so let's not make it case sensitive.
@Make the special Header("http/...") response be case insensitive like 3.0 (Rasmus)
2000-07-01 18:06:11 +00:00
Zeev Suraski
397df3ca87 - Revert bogus time.h commit
- Fixed a problem under some versions of Windows that could cause PHP to hang
  on startup if errors occured, e.g. in the php.ini file
2000-06-30 13:23:08 +00:00
Thies C. Arntzen
930b212c23 hmm, this file is not really auto-generated. 2000-06-30 12:31:24 +00:00
Zeev Suraski
37fb71b9ba Set version number on DLLs 2000-06-30 12:16:58 +00:00
Andi Gutmans
1f828a6e88 - Fix problem with DICARD_PATH being defined in windows 2000-06-29 13:31:52 +00:00
Andi Gutmans
da8843aa55 - Fix problem with VIRTUAL_DIR and relative paths containing .. 2000-06-28 17:30:30 +00:00
Andi Gutmans
eaa2a158c8 - Fix bug with VIRTUAL_DIR, .., and symlinks. 2000-06-27 18:18:18 +00:00
Zeev Suraski
cacbf1ea28 Support boolean NOT in the php.ini processor 2000-06-26 18:15:49 +00:00
Andrei Zmievski
4010b422dd Separate plain name returned by php_sapi_module() and pretty name
used for output.
2000-06-26 18:05:55 +00:00
Zeev Suraski
16c363182d TRACK_VARS is really no longer necessary... 2000-06-26 17:11:28 +00:00
Zeev Suraski
c51ba263dd - Fix bug in virtual dir under Windows when using absolute paths without
- drive letter
2000-06-26 16:24:28 +00:00
Zeev Suraski
6614e8edb4 - I wrote a long msg but the commit didn't go through.
- So here is the short version:
- a) Start moving to binary opens in Windows
- b) Give checkuid_mode() a small face lift including the fopen-wrappers.c
- The mode to this function should at least be a #define but that is for
- another day. Anyway this whole stuff should be given more face lifts in
- the future.
2000-06-25 17:02:59 +00:00
Andi Gutmans
303dc9e96a - Forgot to remove comment 2000-06-24 16:24:01 +00:00
Andi Gutmans
4b5e7d6618 - Only use VIRTUAL_DIR in ZTS mode until it is thoroughly tested.
- Mutex popen() in Windows as the UNIX trick doesn't work there.
2000-06-24 16:10:18 +00:00
Zeev Suraski
d1a6a64675 - Make the output globals accessible from the outside world
- Fix Win32 compilation
2000-06-24 13:27:34 +00:00
Andi Gutmans
d8a75cf7e5 - COMPILE_ERROR should only be used in Zend 2000-06-23 13:05:06 +00:00
Sascha Schumann
2456af596f Remove some unnecessary CLS_FETCH()s. 2000-06-23 00:53:33 +00:00
Zeev Suraski
3998034acb Update to 4.0.1 2000-06-22 18:35:09 +00:00
Sascha Schumann
322be14458 HAVE_MEMORY_H is not used by PHP. 2000-06-21 21:48:14 +00:00
Andi Gutmans
bd900fb66b - Make Windows compile 2000-06-16 08:02:33 +00:00
Zeev Suraski
c885f468aa Improve timeout support - ini_get("max_execution_time", ...) works now 2000-06-16 02:27:47 +00:00
Zeev Suraski
f29eae1302 Move timeout code to Zend, allow Win32 timeouts
@- Implemented max_execution_time under Win32 (Zeev)
2000-06-16 01:53:35 +00:00
Andi Gutmans
e3ae196da8 - Don't need to check doc_root's length twice 2000-06-16 01:25:02 +00:00
Andi Gutmans
f8ecf34bf1 - Last one for tonight. Make sure that we don't check uninitialized
- memory
2000-06-16 01:23:03 +00:00
Andi Gutmans
b73a6f883d - Last patch for tonight. A more optimized way to check for absolute path
- in Windows. This should be fixed to use the virtual cwd macro for
- ABSOLUTE_DIR() but I need to have time to understand the logic first
2000-06-16 01:14:08 +00:00
Andi Gutmans
70b8e3e8f6 - Missed a bracket 2000-06-16 01:08:39 +00:00
Andi Gutmans
cbfa4c88d9 - Beautify fopen-wrappers a bit.
- Still needs quite a lot of improvement in order to treat Windows well
2000-06-16 00:56:38 +00:00
Andi Gutmans
7d5cfd3766 - virtual_fopen() should fail on empty path 2000-06-15 18:36:46 +00:00
Andrei Zmievski
aa49d4af62 Plus a leak when both register_globals and track_vars are off. 2000-06-13 20:59:23 +00:00
Zeev Suraski
fce92e3ca2 Avoid using E_CORE_* errorlevels in any place which is not in the global startup sequence 2000-06-12 20:22:17 +00:00
Andi Gutmans
719d995a9d - On UNIX support popen() which works with current working directory
- when in VIRTUAL_DIR mode.
2000-06-12 19:39:04 +00:00
Andi Gutmans
02c42362ff - Start of popen() fix for UNIX. Still unclear what we'll do on Windows. 2000-06-12 18:48:18 +00:00
Zeev Suraski
5be482030e Killed <?php_track_vars?> 2000-06-12 16:07:25 +00:00
Andrei Zmievski
eb4b5ffd22 (php_readdir_r) Revert that bad patch. 2000-06-12 14:11:39 +00:00
Andrei Zmievski
e008af1364 (php_readdir_r) Last argument to readdir_r was missing. 2000-06-12 13:20:38 +00:00
Sascha Schumann
fd7153b0f3 Change directory name from core to main. 2000-06-11 18:51:17 +00:00
Sascha Schumann
6df3a21309 Prepare move of the top-level source files to the core directory. 2000-06-11 18:16:37 +00:00
Thies C. Arntzen
bd593d3da6 (set_time_limit) converted to new API.
# for some weird reason this fixes a newly introduced crash.
2000-06-11 10:27:36 +00:00
Andi Gutmans
a1c036b8cf - Fix bug in virtual_file_ex when the resulting path is the root. 2000-06-10 15:15:28 +00:00
Andi Gutmans
97de5b2106 - Fix PostgreSQL project file a bit.
- Remove some HAVE_* from config.w32.h. More can be removed. Right now
- most HAVE_*'s in config.w32.h can actually be removed as they usually are
- only used by the module itself and not by PHP. MSQL is an exception as
- log can use it too
2000-06-10 10:15:53 +00:00
Sascha Schumann
8f58728e2b Real fix for std_syslog issue on OpenServer. This is limited to the native
development system (/bin/cc and icc) and does not show up with the UDK.
2000-06-09 17:21:40 +00:00
Andrei Zmievski
e52889acd9 @- Changed WDDX to always serialize arrays as structs. (Andrei)
Changed WDDX to always serialize arrays as structs. PR #4924
2000-06-09 13:50:39 +00:00
Zeev Suraski
897bb1b572 - Parse errors in the php.ini files under Windows will no longer mess up the
HTTP headers in CGI mode and are now displayed in a message box
2000-06-09 02:18:50 +00:00
Hartmut Holzgraefe
eb8cd900a6 @ fopen_wrappers() are now extensible via modules
so here it finaly is, the more general approach to fopen wrappers
# see what i'll break this time
2000-06-08 09:43:12 +00:00
Sascha Schumann
d180634e07 Add PHP_BROKEN_SPRINTF check here.
Also remove unnecessary #ifdef's for PACKAGE and VERSION.
2000-06-08 06:16:22 +00:00
Hartmut Holzgraefe
02b0cef4d8 cyscape's "current" browscap.ini file doesn't terminate the last line
in the file with a newline character
this resulted in a parse error
2000-06-07 05:47:24 +00:00
Zeev Suraski
34c40031ca @- Made the short_tags, asp_tags and allow_call_time_pass_reference INI directives work
@  on a per-directory basis as well, e.g. from .htaccess files (Zeev)
2000-06-06 19:16:57 +00:00
Andi Gutmans
d7ac0f2c9d - I didn't have anything to do with this buggy code. Just kidding :) 2000-06-06 18:54:00 +00:00
Sascha Schumann
102c6ce4b8 Move main.h to php_main.h. 2000-06-05 23:24:42 +00:00
Andi Gutmans
7e0baa7a1d - Revert Thies' locale patch. It was screwing up language level things.
- We could add support for locale in some specific output functions at a
- later time to make everyone happy
2000-06-05 15:34:11 +00:00
Zeev Suraski
4a1da8b6f9 Fix Win32 build 2000-06-04 22:00:17 +00:00
Stanislav Malyshev
5af7dff758 add opendir to VIRTUAL_DIR 2000-06-04 08:29:11 +00:00
Stanislav Malyshev
375474ce86 chdir returns -1 on error, so should V_CHDIR 2000-06-04 07:59:32 +00:00
Rasmus Lerdorf
76061b701e @ Add support for both indexed and non-indexed arrays of file uploads
@ eg. name="file[]" type="file" (Rasmus)
Add support for both indexed and non-indexed arrays of file uploads
eg. name="file[]" type="file" (Rasmus)
2000-06-04 05:46:28 +00:00
Zeev Suraski
d1f1d40527 - Make the INI entries sorted in phpinfo() 2000-06-03 03:05:29 +00:00
Zeev Suraski
06388f5181 Use the new error code
@- Added set_error_handler() to allow custom error handling functions,
@  instead of the built-in error handling code (Zeev, Zend Engine)
@- Renamed user_error() to trigger_error();  user_error() remains
@  defined for compatibility (Zeev, Zend Engine)
2000-06-02 12:35:53 +00:00
Sascha Schumann
dc5af6decc s/sys_syslog/std_syslog/ 2000-06-01 00:48:28 +00:00
Thies C. Arntzen
ccacfd880b @- ignore_user_abort=Off is now default. (Thies) 2000-05-31 14:02:36 +00:00
Zeev Suraski
8fb954ae4f Fix startup sequence. It should do it this time. 2000-05-29 18:45:06 +00:00
Zeev Suraski
7213c743f0 - Added disable_functions php.ini support
- Fixed Win32 build
2000-05-29 17:22:35 +00:00
Hartmut Holzgraefe
ae1043ba0d warn_not_available() will be used by other modules besides
ext/standard in the (very near) future
2000-05-29 17:08:01 +00:00
Andi Gutmans
a0e46521e3 - License is at 2.02 2000-05-29 17:03:24 +00:00
Rasmus Lerdorf
ebd9e89fcf Clean up EXIF code and give up on extracting the embedded thumbnail for
now.  Will return to it when I find some real specs on it.
Also added a couple of missing copyright headers
2000-05-29 16:34:19 +00:00
Zeev Suraski
949574d027 Remove stale reference to .h file 2000-05-29 16:22:26 +00:00
Zeev Suraski
1ae552c7d1 Creat is creat is creat, no open 2000-05-29 11:45:20 +00:00
Andi Gutmans
9786b16e9f - Move zend_activate_modules() to later on. 2000-05-28 17:19:49 +00:00
Sascha Schumann
833339c692 Remove win32/php_registry.h from include list. That slipped in by accident. 2000-05-28 16:27:25 +00:00
Sascha Schumann
0d9c0616f9 Use php_syslog() for system call. On OpenServer 5, syslog is defined to
var_syslog/sys_syslog which causes various problems.

Submitted by: Paul Gardiner <I.T.Manager@barleychalu.co.uk>
2000-05-28 16:22:28 +00:00
Thies C. Arntzen
44cf237a72 (php_execute_script) fix leak for phpinfo() images.
# maybe the activate/deactivate should be moved outside php_execute_script()?
2000-05-28 12:30:06 +00:00
Hartmut Holzgraefe
fb39eda0d8 a second (cleaner?) try on warnings about unsupported functions 2000-05-27 19:27:20 +00:00
Andi Gutmans
afccb58612 - I'm not sure if PHP_NOT_IN_THIS_BUILD is the way to handle these
- functions but in any case I have changed it to PHP_NOT_IN_THIS_BUILD()
2000-05-27 18:55:11 +00:00
Andi Gutmans
8c82566b48 - Fix problem in sessions module under Win32. Need to use ; as an options
- delimiter in save_path instead of :.
2000-05-27 16:38:49 +00:00
Hartmut Holzgraefe
69d1e788c0 if a module provides a function it should also do so if the function
is not functional due to configure findings
the function should offer a meaningful warning if it is not supported
instead of just beeing undefined
i had already changed this in 'gd', now this is doing it for 'standard'
2000-05-26 17:04:02 +00:00
Sascha Schumann
8a86e37d69 The behaviour for result == NULL || entry == NULL is undefined. 2000-05-24 14:46:13 +00:00
Sascha Schumann
faf4f764b7 If no further directory exists, php_readdir_r() returns success and sets
*result to NULL.
2000-05-24 14:41:28 +00:00
Sascha Schumann
25df65b0b8 Support old-style readdir_r() 2000-05-24 11:06:57 +00:00
Sascha Schumann
ff4031585a Avoid building two versions of the time-related reentrant functions. 2000-05-24 10:44:57 +00:00
Hartmut Holzgraefe
df4547a3df another bunch of proto fixes 2000-05-23 23:13:02 +00:00
Andi Gutmans
617266e33e - Virtual current working directory is now enabled
- Added support for mkdir()/rmdir() and more
2000-05-23 17:02:21 +00:00
Sascha Schumann
112525ea9f Some systems don't have dirent.h. Wrap include appropiately. 2000-05-23 15:15:48 +00:00
Sascha Schumann
2aaa538aef Use reentrant version of readdir. If the target platform does not support
the POSIX-like readdir_r, we fall back to readdir. In ZTS mode, this will
cause php_readdir_r calls to be serialized.
2000-05-23 15:13:16 +00:00
Sascha Schumann
be6afb3fcc Add POSIX-like readdir_r for Win32 2000-05-23 14:58:43 +00:00
Andi Gutmans
521f03c184 - Support virtual unlink() 2000-05-23 14:36:27 +00:00
Thies C. Arntzen
cf1d0f1844 fixed newly introduced crash 2000-05-23 10:36:18 +00:00
Thies C. Arntzen
61ceb9e5ab bump version to 4.0.1-dev 2000-05-23 07:49:23 +00:00
Hartmut Holzgraefe
1ec84f9c21 fix for bug #2852 : argc inconsistency 2000-05-22 23:24:55 +00:00
Andi Gutmans
7f689fc044 - Move activate_models() back to where it was. I don't want to make such
- an optimization right before 4.0.0. Who knows, maybe one of the phpinfo()
- functions depends on some information only available after RINIT.
- In any case, my fix for .phps stays in.
2000-05-21 18:05:04 +00:00
Andi Gutmans
dc5cd319e5 - Fix Apache php source highlighting mode. It was crashing due to the
- module shutdown functions being called when the startup functions weren't
- being called.
2000-05-21 16:36:16 +00:00
Thies C. Arntzen
92437e9db1 fix the fix (it's still a hack) 2000-05-19 10:48:05 +00:00
Thies C. Arntzen
bad35f5484 make sigchild handler more robust. 2000-05-19 10:40:34 +00:00
Zeev Suraski
0f82e6de23 Minor output mods 2000-05-19 08:28:53 +00:00
Thies C. Arntzen
674f4bac47 added new option "--enable-sigchild" (default is off)
when using this option php will setup it's own SIGCHLD handler.
when using oracle-libraries >= 8.1 on linux you need this option
if you are connecting using the BEQ interface - elsewise you will
see <defunc> processes whenever a php-script disconnects from oracle.
2000-05-18 19:45:34 +00:00
Zeev Suraski
7e0a18d014 Package 4.0.0 2000-05-18 17:43:19 +00:00
Zeev Suraski
e043439ff6 Update the license with the new clause 6 2000-05-18 15:34:45 +00:00
Andi Gutmans
a704be730c - Fix Win32 build 2000-05-17 23:42:18 +00:00
Hartmut Holzgraefe
31c3dfdf52 proto-takeover from php3 2000-05-17 19:45:46 +00:00
Zeev Suraski
efb51322c1 Only allow loading of extensions only during .ini file parsing 2000-05-17 15:41:32 +00:00
Sascha Schumann
69223ccebd ANSIfy declarations/prototypes 2000-05-16 23:38:51 +00:00
Sascha Schumann
46e672243a Remove extra declarations of cwd_globals(_id) 2000-05-16 23:11:18 +00:00
Andi Gutmans
0aa5f2ea3c - Reverse the patch until I have time to look at it. The global id should
be defined by ZEND_DECLARE_GLOBALS(cwd)
2000-05-16 14:59:30 +00:00
Andi Gutmans
4e6e741af8 - Commit Sascha's patch to the virtual_cwd code. Will test it on Windows
soon.
2000-05-16 14:47:55 +00:00
Sascha Schumann
17b84ad7e7 Planning for 4.0RC2 on Monday 2000-05-06 01:48:35 +00:00
Sascha Schumann
e905fabe0d s/strtok_r/php_strtok_r/ 2000-05-04 11:36:33 +00:00
Sascha Schumann
f2a236ff83 Missed localtime_r/ctime_r. Prefix them with php 2000-05-04 11:31:58 +00:00
Sascha Schumann
d0f3764ee2 Change reentrancy API to always use the php prefix.
Check for the declaration of reentrant functions, so that we can use
them in non-ZTS mode on all platforms.
2000-05-04 10:38:17 +00:00
Sam Ruby
6fb3301416 Correct build breakage - win32 2000-05-03 11:26:29 +00:00
Sascha Schumann
fca9539d63 Preset extension_dir to the installation directory of PHP modules.
This effectively means that dl() will work without having an installed
configuration file.
2000-05-02 14:46:20 +00:00
Sascha Schumann
c801cfb879 php_reentrancy.h is needed for strtok_r 2000-05-01 03:43:07 +00:00
Andi Gutmans
e13285ded7 - Take Sascha's advice and create on V_OPEN() which replaces open().
- Unlike the other macros its argument has to have braces around it, for
- example, open(filename, flags) becomse V_OPEN((filename, flags))
- Made small conversion to new Zend macros. The ugly (*foo)->value.str.val
- now becomes Z_STRVAL_PP(foo). PP means pointer pointer, there also exist
- single P's for example foo->value.str.val becomes Z_STRVAL_P(foo).
2000-04-30 16:32:36 +00:00
Sascha Schumann
be00d130e6 Fix virtual_open() by adding ellipse 2000-04-30 03:06:00 +00:00
Andi Gutmans
f1d5167ae3 - Implement V_OPEN() V_OPEN_CREAT() and V_CREAT().
Next step is to substitute all open()'s and creat()'s in the PHP tree
2000-04-29 19:01:58 +00:00
Zeev Suraski
1a8683f976 - Never mind. Seems like we're still missing the open() functionality 2000-04-29 17:57:47 +00:00
Zeev Suraski
aecae7c3af - Give VIRTUAL_DIR another try after testing it extensively on our web site 2000-04-29 17:51:28 +00:00
Hartmut Holzgraefe
5c5ccc9844 no more broken scripts by erroneously terminating header()'s argument
with a CR-LF
2000-04-28 16:47:19 +00:00
Zeev Suraski
3220bb570e - Fix an invalid trick (it was valid when header() was using
zend_get_parameters(), but it became invalid when someone switched it
  to zend_get_parameters_ex(), and I decided to remove it anyway).
- Remove a redundant function call
2000-04-28 13:03:13 +00:00
Thies C. Arntzen
b9387791a8 (php_module_startup) is now doing setlocale(LC_ALL, "") instead of just setlocale(LC_CTYPE, ""). suggested by Jon Forsberg <zzed@cyberdude.com>
# this change simply seems "right" as setlocale(LC_ALL, "") also happens in RSHUTDOWN(basic)
2000-04-28 11:09:57 +00:00