Commit Graph

702 Commits

Author SHA1 Message Date
Andi Gutmans
9a28132876 - Fix indentation and remove comment. 2001-02-22 11:30:53 +00:00
Shane Caraveo
09c7116f6e zend_compile_file returns a NULL on error, check for that before
calling destroy_op_array unless we like crashes :-)
2001-02-21 20:50:49 +00:00
Hartmut Holzgraefe
b14d2cc0dc will now initialize dynamic extensions *after* static ones 2001-02-21 01:43:15 +00:00
Zeev Suraski
93f4fa8d73 cleanup time... 2001-01-13 13:16:56 +00:00
Zeev Suraski
7b7d1d962d Remove some more useless code 2001-01-13 13:14:49 +00:00
Zeev Suraski
fc1cdda10d Remove stale code 2001-01-13 13:10:50 +00:00
Zeev Suraski
7235542cee Change get_ini_entry to get_configuration_directive 2001-01-07 18:38:38 +00:00
Zeev Suraski
bd0ac7fe14 Many patches. I hope I remember them all:
- Make sapi_module available to external modules (PHPAPI)
- Make the php.ini path reported in phpinfo() always point to
  real full path of the php.ini file
- Optimized the ISAPI module not to read unnecessary server
  variables and read necessary variables at most once.
2001-01-02 22:49:31 +00:00
Zeev Suraski
338b9b0819 - Make the INI mechanism thread safe (fix necessary API changes from Zend)
- Make the Win32 non-TS configuration build again
2000-12-27 15:43:05 +00:00
Zeev Suraski
2672602e30 Output buffering was being enabled all the time - fixed 2000-11-29 01:02:27 +00:00
Zeev Suraski
888f376e4c Very initial work on chunked output buffering. It's really unoptimized at
this time, and it can crash under some circumstances, but that's the
concept...
2000-11-23 18:43:18 +00:00
Sascha Schumann
0222f92358 Return the exit status from php_execute_script() 2000-11-22 04:23:26 +00:00
Frank M. Kromann
19555e57a8 removing compiler warning by including credits.h 2000-11-20 22:31:38 +00:00
Zeev Suraski
0f7f5c2c0e - Import Jade Nicoletti's transparent gzip encoding support as an output
handler.  Works quite nicely!
- Fix buglets in output buffering
- Add output_handler INI directive
2000-11-13 18:54:37 +00:00
Zeev Suraski
9e40204f00 @- In CGI mode, $HTTP_SERVER_VARS now includes all of the environment variables
@  as well (Zeev)
2000-11-07 18:25:29 +00:00
Sascha Schumann
43ff395b65 Const'ify part of sapi_request_info.
query_string, post_data, path_translated, request_uri, auth_user,
auth_password and argv0 are modified, so they cannot become const.
2000-11-02 15:47:02 +00:00
Zeev Suraski
e8e3be00d5 Fix a few warnings 2000-11-02 14:18:34 +00:00
Hartmut Holzgraefe
00b8b66132 generalization of image handling in phpinfo 2000-10-31 17:21:52 +00:00
Zeev Suraski
fc466bebd8 Fix memory_limit build problem 2000-10-31 12:46:07 +00:00
Sascha Schumann
13183ed5c3 Add php_handle_aborted_connection()
Call this from your SAPI module to signal an aborted connection.
2000-10-29 16:00:42 +00:00
Zeev Suraski
19dad410ec Fix Windows build 2000-10-29 11:56:42 +00:00
Zeev Suraski
1fd09132c2 Initial steps to move the INI mechanism to the Zend engine 2000-10-29 11:38:26 +00:00
Sascha Schumann
3b02d88b8e Initialize auth_(user|password) to NULL, if data was not suitable. 2000-10-27 10:28:57 +00:00
Sascha Schumann
85b52234e4 Utility function for sapi modules (it is not in SAPI.c, because it
relies on php_base64_encode).
2000-10-27 10:16:54 +00:00
Sascha Schumann
f367b3dfc8 Move some code to php_handle_special_queries(). 2000-10-26 21:16:12 +00:00
Sascha Schumann
5583203e91 Move some initialization code from php_execute_script() to
php_request_startup() where it should be. AFAICT, it does not
cause any problems, but please it test it with your favorite SAPI
module.
2000-10-26 18:32:38 +00:00
Andrei Zmievski
7b4983c8f8 Mega-patch to get better resource information for modules.
* Fixed a bug in zend_rsrc_list_get_rsrc_type()
  * Switched register_list_destructors() to use
    zend_register_list_destructors_ex() instead
  * Updated all relevant modules to provide the resource type name
    to register_list_destructors() call
  * Updated var_dump() to output resource type name instead of number

@- Made resource type names visible, e.g. var_dump() and
@  get_resource_type() display "file" for file resources. (Andrei)
2000-10-20 18:25:16 +00:00
Zeev Suraski
98bbb11780 Fix a crash in CGI mode, in case no file is provided 2000-10-17 18:12:31 +00:00
Hartmut Holzgraefe
6d5f1d97f8 now it works for me as CGI and APXS, with or without --enable-debug ... 2000-10-13 10:04:17 +00:00
Hartmut Holzgraefe
cae27179ce fopen wrappers cleanup
- comfiguration is now done by an ini parameter
    instead of a compile time option
  - the implementations of the three standard wrappers
    now live in seperate files in ext/standard
  - the compiler is happy again, no more warnings
2000-10-13 00:09:31 +00:00
Andi Gutmans
d37b140601 - Fix VC++ warning 2000-10-03 14:43:04 +00:00
Andi Gutmans
2622eba31d - Cleanup some output functions 2000-09-30 16:13:48 +00:00
Zeev Suraski
ec4a36ec12 complementary PHP patch 2000-09-27 19:46:47 +00:00
Stanislav Malyshev
1ccac6ed55 Add additional parameter to parse_str for saving result (thanks to
John Bafford <dshadow@zort.net>)
@ Added second parameter for parse_str to save result (John Bafford)
2000-09-11 14:50:26 +00:00
Derick Rethans
eba1b6221d - Fixed missing parameter in php_atoi 2000-09-09 23:21:44 +00:00
Zeev Suraski
b7ecaacd07 More security-related (control) patches:
- Avoid displaying errors during startup, unless display_startup_errors is enabled.
- Implemented post_size_max limit.  Defaults to 8MB.
- Implemented file_uploads on/off directive (defaults to on).
2000-09-09 15:02:15 +00:00
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
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
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
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
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
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
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
Andi Gutmans
39770d99ea - Try and fix problem with opening wrong file. 2000-08-27 18:01:17 +00:00
Sascha Schumann
8e0ae5d152 Cleaning up some mess 2000-08-21 09:50:53 +00:00
Andi Gutmans
c799959568 - Change PHP_SEPARATOR to PHP_DIR_SEPARATOR 2000-08-20 19:56:24 +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
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
Zeev Suraski
a6c6f6a5c3 Update to be consistent with the new Zend API 2000-08-09 19:23:53 +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
Hartmut Holzgraefe
b04a02660e changed default sendmail flags from '-t' to '-t -i' (bugid#5374) 2000-08-04 22:42:11 +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
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
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
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
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
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
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
Zeev Suraski
37fb71b9ba Set version number on DLLs 2000-06-30 12:16:58 +00:00
Zeev Suraski
16c363182d TRACK_VARS is really no longer necessary... 2000-06-26 17:11: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
Sascha Schumann
2456af596f Remove some unnecessary CLS_FETCH()s. 2000-06-23 00:53: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
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
Zeev Suraski
5be482030e Killed <?php_track_vars?> 2000-06-12 16:07:25 +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
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
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
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
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
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
Andi Gutmans
9786b16e9f - Move zend_activate_modules() to later on. 2000-05-28 17:19:49 +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
Thies C. Arntzen
cf1d0f1844 fixed newly introduced crash 2000-05-23 10:36:18 +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
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
e043439ff6 Update the license with the new clause 6 2000-05-18 15:34:45 +00:00
Hartmut Holzgraefe
31c3dfdf52 proto-takeover from php3 2000-05-17 19:45:46 +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
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
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
Zeev Suraski
dc8980bab2 Change to using macros 2000-04-27 20:22:40 +00:00
Zeev Suraski
39aa59bdec More error handling work (still completely disabled) 2000-04-27 18:37:02 +00:00
Colin Viebrock
7ecf70047b *** empty log message *** 2000-04-19 23:18:15 +00:00
Zeev Suraski
9cbcade6c9 Support E_USER_* error types 2000-04-19 15:10:14 +00:00
Zeev Suraski
f0c7e0275f Remove unnecessary argument 2000-04-15 14:30:18 +00:00
Andi Gutmans
1665cba750 - Change PHP_ to V_ (directory & file functions) 2000-04-15 14:20:01 +00:00
Zeev Suraski
81138a641a Forgot to commit the php4 fixes 2000-04-15 13:53:20 +00:00
Rasmus Lerdorf
6727342b7a Make error_prepend_string and error_append_string work
@Make error_prepend_string and error_append_string work
2000-04-14 14:00:32 +00:00
Andi Gutmans
897b413c2d - Try and resolve the problem with current working directories not being
set to the script directory
2000-04-10 17:39:11 +00:00
Andi Gutmans
9df7df3293 - Baby steps... Use PHP_FOPEN() 2000-03-30 22:41:13 +00:00
Andi Gutmans
5b2bad3825 - Nuke hash_*_ptr() functions 2000-03-24 11:16:24 +00:00
Andi Gutmans
7acbcc9601 - Adjust for change in zend_startup() 2000-03-21 19:04:34 +00:00
Sascha Schumann
caeaaf4d98 Fix build on systems which lack snprintf or vsnprintf.
PR: #3786
2000-03-12 15:47:34 +00:00
Thies C. Arntzen
9d0c2484c0 @- connection_aborted() and friends work again. (Thies) 2000-03-10 03:09:49 +00:00
Sam Ruby
64df92e053 Fix traps due to sapi_global not being initialized when ZTS is set
Don't trap if php.ini can't be read
2000-03-05 21:37:47 +00:00
Zeev Suraski
7a955aa1c1 @- Fixed a (fairly common) situation where error_reporting values would not be
@  properly restored after a call to error_reporting(), in between requests (Zeev)
2000-02-26 23:50:11 +00:00
Zeev Suraski
5222c8872d Verified $HTTP_*[] protection 2000-02-26 22:14:49 +00:00
Andrei Zmievski
137e1a1379 (php_hash_environment)
Fixed a bunch of memory leaks from the recent HTTP_*_VARS[] protection
patch.
2000-02-26 21:20:38 +00:00
Zeev Suraski
e5c8aeb3f1 - Protect $HTTP_POST_FILES[] as well 2000-02-26 18:59:29 +00:00
Zeev Suraski
0e90b9dc83 @- The various $HTTP_*_VARS[] are now protected, and cannot be manipulated by
@  user input (Zeev)
This patch is untested!  I'll only have time to test it thoroughly in a couple of hours...
2000-02-26 16:36:57 +00:00
Zeev Suraski
1261271839 Allow the INI callbacks to know at what stage PHP is 2000-02-26 15:36:23 +00:00
Zeev Suraski
88b31ecb28 @- The string None is now recognized as a keyword by the php.ini processor, and
@  can be used to denote an empty string (Zeev)
- Added None keyword support to the INI parser
- Removed specialized "none" code
2000-02-26 14:29:27 +00:00
Sam Ruby
28a6ba5fc0 Win32 build error:
warning C4020: 'sapi_activate' : too many actual parameters
2000-02-25 23:31:42 +00:00
Stig Bakken
d23e5d837a @- Implemented default_charset and default_mimetype config directives (Stig)
Implemented default_charset and default_mimetype configuration directives.
Started implementing ticks in PHP.
2000-02-25 21:27:03 +00:00
Stig Bakken
ba03c9f2aa started implementing directives for default mimetype/charset 2000-02-24 22:00:47 +00:00
Andrei Zmievski
7a22bb09d7 Revert the y2k ini patches.
# Adam's right, it shouldn't be here
2000-02-24 15:41:34 +00:00
Andrei Zmievski
f5cc1929eb Turn on y2k_compliance by default. 2000-02-24 15:16:07 +00:00
Zeev Suraski
9b621d1c8f Get the license right... (this won't make it to RC1 of B4) 2000-02-19 23:21:46 +00:00
Zeev Suraski
1c4532dcbf *** empty log message *** 2000-02-19 13:11:02 +00:00
Stig Bakken
2f633d91ca typo 2000-02-17 20:32:51 +00:00
Zeev Suraski
a6393de6f7 Make POST handling the way it should be. RFC1867, and any future POST handlers we might
have in the future now obey to the variables_order directive, and there's a real way modular
way to handle POST content.
This is all untested, BEFORE_SAPI_POST_PATCH_17_FEB_2000 tagged before submission
@- Made multipart/form-data content obey to the variables_order directive (Zeev)
2000-02-17 20:23:59 +00:00
Zeev Suraski
a5c143f415 - Update .dsp's
- Fix auth_user issue
2000-02-16 16:46:01 +00:00
Stig Bakken
e24bb8c492 @Re-introduced "none" for disabling auto_prepend/append_file (Stig)
Made auto_prepend_file and auto_append_file accept "none" as parameter
to disable, like in PHP 3.0.
2000-02-14 15:36:45 +00:00
Andi Gutmans
3811b58a7d - Improve startup speed a bit by using the hash_*_ptr() functions 2000-02-13 13:25:01 +00:00
Zeev Suraski
003ef1aa74 Trap bailout of shutdown functions 2000-02-13 00:26:54 +00:00
Andrei Zmievski
a60e91b313 (request_shutdown) Prevent infinite loop on shutdown if there is an error
in shutdown function.
(php_array_walk) Print a warning if the walk function doesn't exist.

Split shutdown function call into a separate function that's called with
zend_hash_apply() instead of as destructor to keep hash consistent.

This fixes bug #3419.
2000-02-11 21:14:42 +00:00
Zeev Suraski
80bdd19e03 Fine tune Andi's patch 2000-02-11 15:59:30 +00:00
Andi Gutmans
f9e0d94a65 - Baby steps with PHP_WIN32 :) 2000-02-11 12:56:54 +00:00
Zeev Suraski
49e98c3ddd request_info.c is dead! long live SAPI
@- Finished the server abstraction layer;  All of the PHP code is now shared
@  across different servers (Apache, CGI, IIS, etc.), except for thin
@  interface modules (Zeev)
2000-02-10 20:13:08 +00:00
Zeev Suraski
6723bdd920 request_info.c is giving up 2000-02-10 20:03:17 +00:00
Zeev Suraski
5bdd18caf1 Yes, you guessed it... More cleanup 2000-02-10 18:44:33 +00:00
Andi Gutmans
091acff312 - PHP_WIN32 2000-02-10 17:15:49 +00:00
Andi Gutmans
f452c7762f - Introduce PHP_WIN32 2000-02-10 17:14:05 +00:00
Zeev Suraski
945e9c3f20 More cleanup 2000-02-10 16:52:07 +00:00
Zeev Suraski
073b148167 More abstraction 2000-02-10 16:44:59 +00:00
Zeev Suraski
59b53ea2c8 Always use getopt with CGI, never use it for anything else 2000-02-10 16:27:28 +00:00
Zeev Suraski
404bbe1f26 Move the logging mechanism to SAPI 2000-02-10 15:55:10 +00:00
Thies C. Arntzen
1616b5193c @- Fixed signal() bug that could cause the Apache master process to
@  die. (Thies)

the problem was that we *did* register the signal in the apache
master process as well.
php_module_startup() -> REGISTER_INI_ENTRIES() -> OnChangeMaxExecutionTime() -> php_set_timeout().

from now on the .ini mechanism only sets PG(max_execution_time) and that gets
"converted" to a timeout-signal() in php_request_startup()!

we still need to think about the ZTS timeout mechanism.
2000-02-05 19:32:27 +00:00
Zeev Suraski
3a816341f9 Cleanup patches 2000-02-05 15:16:12 +00:00
Zeev Suraski
8055da9830 Use the new state functions
@- If header information is sent after output has already been sent, the warning
@  message will now state the filename and line number at which the first output
@  was made (Zeev)
2000-02-04 14:54:30 +00:00
Zeev Suraski
430571d62c Initial work on the protected env vars stuff 2000-01-30 20:31:41 +00:00
Zeev Suraski
680d2dae32 Fix buglets in the argv/argc code 2000-01-29 12:57:08 +00:00
Zeev Suraski
b2449f929c - Change the argument order of php_register_variable() to something more
intuitive.
- Make the authentication variables be a part of the HTTP_SERVER_VARS[] array
2000-01-29 11:55:44 +00:00
Zeev Suraski
99f079a349 - A few fixes
- Added register_argv_argc directive to allow disabling of argv/argc
2000-01-28 18:29:37 +00:00
Zeev Suraski
ab16816eb8 Rename gpc_globals to register_globals 2000-01-28 17:43:41 +00:00
Andrei Zmievski
e02d610df8 Use sizeof on the proper string. 2000-01-28 17:29:37 +00:00
Zeev Suraski
9ab35ae393 Tried to centralize global variable registration as much as possible:
- Added $HTTP_ENV_VARS[] and $HTTP_SERVER_VARS[] support, which similarly
  to $HTTP_GET_VARS[], contain environment and server variables.  Setting
  register_globals to Off will now also prevent registration of the
  environment and server variables into the global scope (Zeev)
- Renamed gpc_globals to register_globals (Zeev)
- Introduced variables_order that deprecates gpc_order, and allows control
  over the server and environment variables, in addition to GET/POST/Cookies
  (Zeev)
2000-01-28 17:24:53 +00:00
Zeev Suraski
fc678100cd post.c really had nothing to do with POST anymore, and it belongs to the top level directory 2000-01-28 13:31:12 +00:00
Zeev Suraski
97f64988e2 NULL out the ticks callback until Stig implements it 2000-01-24 19:03:50 +00:00
Zeev Suraski
f6ac18841d Make the phpinfo() images work properly again 2000-01-18 19:15:45 +00:00
Zeev Suraski
ec386cc9fd - Remove the pre-request-shutdown hooks, they should no longer be necessary.
The session module may not work due to an unknown (and until now, IMO, misdiagnosed) problem,
if it does, please report it!
2000-01-16 21:03:49 +00:00
Zeev Suraski
2dea694ab4 Remove the post-startup callback support. Modules are now started only after
the entire engine is started.  People - please make sure that the session module
works properly for you.
2000-01-16 19:43:34 +00:00
Thies C. Arntzen
4352cb55f1 move call to php_execute_pre_request_shutdown() into php_request_shutdown()
so it will be called when script terminated due to call to exit().
2000-01-16 14:34:28 +00:00
Thies C. Arntzen
83097f136a fixes #3220, #3221 finally 2000-01-16 12:34:18 +00:00
Thies C. Arntzen
437e396455 nother go on #3220, #3221 2000-01-16 11:12:44 +00:00
Thies C. Arntzen
840697c69b hopfully fixes #3220, #3221 2000-01-16 10:51:55 +00:00
Sascha Schumann
c7667cec62 Initialize/destroy hook lists implicitly. 2000-01-15 13:30:32 +00:00
Thies C. Arntzen
3ff75e5b8b - don't set php_errormsg on errors that will cause a zend_bailout().
using zend_hash_update() can make things worse in this situation.
- new function php_register_pre_request_shutdown(). this way modules
  can register callbacks that will be called as soon as execution of
  the script is done but *before* any cleanup (global symbol_table etc)
  has taken place.
2000-01-15 13:02:54 +00:00
Zeev Suraski
24156db252 @- Added implicit_flush INI directive (Zeev) 2000-01-13 20:39:33 +00:00
Sascha Schumann
43ae2bffbb Happy Y2K patch! Happy new year (or the new millennium, depending on whether
you start counting at 0 or 1).
2000-01-01 01:32:05 +00:00
Zeev Suraski
235386b245 Change ALLOC_ZVAL() semantics 1999-12-26 21:21:33 +00:00
Zeev Suraski
c517633b49 namespace protection 1999-12-26 20:45:42 +00:00
Andi Gutmans
3bf1b04cb4 - Move more stuff to ALLOC_ZVAL(). We need to add those FREE_ZVAL()'s now. 1999-12-24 17:39:27 +00:00
Zeev Suraski
e538fcbf10 @- Fixed a bug in ODBC error reporting (Zeev)
@- Added PHP_Logo_GUID() and Zend_Logo_GUID() functions, that return the GUIDs
@  of the PHP and Zend logos used in phpinfo() (Zeev)
1999-12-21 20:35:43 +00:00
Andrei Zmievski
0f1acb60a1 php3 -> php prefix work 1999-12-21 19:43:38 +00:00
Andrei Zmievski
80bab9d939 We're using ZVAL's now. 1999-12-21 17:14:31 +00:00
Zeev Suraski
4d2b0715d1 libzend -> Zend 1999-12-19 21:02:54 +00:00
Andi Gutmans
28bfab716b - Make Win32 compile again 1999-12-18 17:44:56 +00:00
Zeev Suraski
fb1c77bd4f - Made PHP_VERSION and PHP_OS work again
- More php3_ cleanup
@- Restored the PHP_VERSION and PHP_OS constants (Zeev)
1999-12-17 20:55:31 +00:00
Zeev Suraski
a3c6514332 More php3_ annihilation 1999-12-17 19:51:39 +00:00
Zeev Suraski
02d3b39420 More php3_ annihilation 1999-12-17 19:16:50 +00:00
Zeev Suraski
d8000684bf - Implement ability to turn off support for call-time pass by reference 1999-12-15 21:20:34 +00:00
Andrei Zmievski
158979f838 (return_one) removed.
(OnChangeMemoryLimit) Only defined if MEMORY_LIMIT is defined.
1999-12-15 17:41:19 +00:00
Andrei Zmievski
b68f3af503 Added date/time stamping to PHP error log file. Idea credit goes
to Joey.
@ Added date/time stamping to PHP error log file. (Andrei, Joey)
1999-12-15 17:37:05 +00:00
Sascha Schumann
63e8df2320 Postpone the execution of post request startup handlers until the symbol_table is populated 1999-12-14 00:01:08 +00:00
Sascha Schumann
4762285e40 Disable global lock for now. We will have to find a way to test subsystems
for thread-safety, and lock them appropiately, if they aren't thread-safe.
1999-12-12 10:49:03 +00:00
Sam Ruby
8abf724678 Provide basis for shared libraries/dlls to contain internal extensions 1999-12-07 20:49:01 +00:00
Sascha Schumann
4a60eed469 Fix some warnings 1999-12-05 16:25:32 +00:00
Rasmus Lerdorf
dfd0f8824c More maintainer-mode cleanups 1999-12-05 14:16:37 +00:00
Sascha Schumann
5b983c944f Clean up php3.*\.h files. The files itself are renamed, and references in all
.*\.[ch] files were changed. There is a slight chance that my script missed
a few changes, please correct them manually.
1999-12-04 19:19:57 +00:00
Sascha Schumann
8713ce5d38 Remove code references to serverapi 1999-12-04 18:06:15 +00:00
Andrei Zmievski
20190c966d Session variables now obey track_vars and gpc_globals settings.
If track_vars is on then decoded variables appear in $HTTP_STATE_VARS
array. If gpc_globals is on, then session vars are decoded into global
variables. If both are on, then globals and $HTTP_STATE_VARS contents
are references to each other.

The /decoder functions now just need to call php_set_session_var()
this behavior.

@ -Session vars are now decoded into $HTTP_STATE_VARS[] array and the
@ globals, depending on track_vars and gpc_globals settings (Andrei)

# Encoding source is currently only globals. We may want to change this
# in the future.
1999-12-04 17:02:04 +00:00
Zeev Suraski
da5464b145 - zend_file_handles must now flag whether their .filename property should be
free by Zend or not (uses e*() functions)
1999-12-04 13:25:41 +00:00
Sascha Schumann
39a99dd695 2<<30 (== 1<<31) overflows 32-bit signed int, reverting to 1<<30 1999-12-03 15:16:32 +00:00
Sascha Schumann
639c491da4 Add X-Powered-By header in all configurations to ease PHP usage metering 1999-12-03 12:21:57 +00:00
Rasmus Lerdorf
162adb778e @ PHP 4 scripts will now obey the max_execution_time setting and actually
@ time out (Rasmus)
# Note that Apache clears all signal handler including SIGPROF before
# calling the content handler, so even though we set our itimer before
# this in the PHP_INI stuff, Apache kicks sand in our face and we need
# to set the timer again just before we start parsing
1999-12-03 05:03:16 +00:00
Rasmus Lerdorf
c92db34492 # just some symbol cleanup while I am browsing through looking for this
# timeout problem
1999-12-02 20:00:16 +00:00
Sascha Schumann
94c36e8846 Make fsock module thread-safe 1999-12-01 17:07:25 +00:00
Andi Gutmans
2337d110f9 - Added opened_path to php_fopen_wrapper() and the URL fopen wrapper (it's not
always properly set, it's a TODO for all of us).  This enables us to implement
  true 'use' support.
@- Added support for the 'use' keyword - behaves like 'require', but will not
@  use the same file more than once (Andi & Zeev, Zend library)
1999-11-30 20:18:11 +00:00
Sascha Schumann
fe48f6ed6a Use thread-safe versions of asctime and localtime 1999-11-26 16:32:02 +00:00
Zeev Suraski
442f8b3c3c *** empty log message *** 1999-11-25 15:24:49 +00:00
Sascha Schumann
d462115341 Killing some unused variable warnings 1999-11-24 17:56:31 +00:00
Sam Ruby
5385610450 errors during startup trap server 1999-11-23 03:10:46 +00:00
Zeev Suraski
9820dd0927 Fixed a leak when using automatic output buffering
@ Fixed a leak when using automatic output buffering (Zeev)
1999-11-22 20:58:56 +00:00
Sascha Schumann
4bb5e353d5 Add post request startup handlers. These are called at the end of the
request startup function, and can use the initialized structures like
the symbol table.
1999-11-17 23:01:27 +00:00
Sam Ruby
d5233c482b configuration failures trap server 1999-11-05 17:52:00 +00:00
Andrei Zmievski
26c019eaa1 Revert my patches to error functions. 1999-10-19 19:11:02 +00:00
Andrei Zmievski
e906d4548a Small tweak in the error format. 1999-10-15 20:32:47 +00:00
Andrei Zmievski
b625bbd14a (php3_log_err): Don't output error message to stderr when
running as CGI binary.
1999-10-15 20:27:38 +00:00
Andrei Zmievski
3ee9dbea0c (php_error): finally get rid of those annoying html tags
when running as CGI binary
1999-10-15 19:55:18 +00:00
Sascha Schumann
965c9c2187 Use correct data type for mutex. 1999-10-08 16:29:33 +00:00
Sascha Schumann
9c995e93d7 Implement temporary workaround for thread-safety issues. This
serializes all request accesses. To disable, define NO_GLOBAL_LOCK
1999-10-08 16:24:31 +00:00
Thies C. Arntzen
b357d0eaf8 i swear, i compiled (at least) before i committed! 1999-10-04 10:39:32 +00:00
Thies C. Arntzen
0dbabb9871 "cc -32" on IRIX 6.4 does not like (PHP_TRACK_VARS?"1":"0") - at least not if PHP_TRACK_VARS is 0. 1999-10-04 09:56:52 +00:00
Stig Bakken
2a854ca8b9 Generalized server-API build process on UNIX. Each SAPI
implementation now has its own directory under sapi/, just like
extensions have theirs under ext/.  To make the final targets appear
in the main dir, the top-level Makefile includes sapi/NN/Makefile.inc
from the selected sapi backend.  This is a plan Makefile stub without
any autoconf substitutions.  Each SAPI backend also has its own
config.m4 like extensions (read at the end of diversion 2) and
config.h.stub files.

Each SAPI backend has to contain:

config.m4: just like for extensions, this file contains
autoconf/automake directives that end up in the configure script.  The
only difference is that the sapi config.m4 files are read in diversion
(output block) 2 instead of 3.  The sapi config.m4 files should set
two variables: PHP_SAPI (which sapi backend to choose) and SAPI_TARGET
(the name of the resulting library or program, previously BINNAME).
If they are not specified, they will default to "cgi" and "php",
respectively.

Makefile.inc: has to exist, has to define "INSTALL_IT" to the command
used to install the final target (or ":" for no operation).  It also
has to define a plain Makefile rule (without autoconf substitutions)
to build $(SAPI_TARGET)

Makefile.am: just what you think.  Make sure your target is called
"libphpsapi_NNN.a", where NNN is the value of PHP_SAPI.

Some testing and fixing probably remains.  To make everything hang
together, I've done some ugly tricks that I can imagine causing some
problems.  I've built and run the CGI version and built the Apache
DSO.
1999-09-27 16:34:28 +00:00
Sascha Schumann
61f288ced3 0' flag ignored with precision specifier and X' format 1999-09-17 01:16:54 +00:00
Zeev Suraski
98d95dd88e - Added support for unknown POST content types (Zeev)
- Introduce the convert_to_*_ex() API in strlen()
1999-09-16 23:18:15 +00:00
Zeev Suraski
9e3315799c That's important enough to be cached 1999-09-12 20:36:48 +00:00
Zeev Suraski
a1784083e9 Time to do that - rename the output layer prefix 1999-09-12 03:25:02 +00:00
Andrey Hristov
99caa5d43b Use OnUpdateBool for Boolean entries. 1999-09-11 20:36:47 +00:00
Zeev Suraski
7afbcb4fef Rename allow_builtin_links to expose_php 1999-09-11 16:32:08 +00:00
Zeev Suraski
27afe4e49b More cleanup 1999-09-11 16:16:16 +00:00
Zeev Suraski
15fee4d3a6 - Seriously optimize and clean php_parse_gpc_data()
- Added gpc_globals directive to turn global definitions of GPC variables on/off
(untested)
1999-09-11 15:04:45 +00:00
Zeev Suraski
1b6ccfe86c Cleanups & optimizations 1999-09-11 14:09:29 +00:00
Zeev Suraski
959ad0e9ea A couple of BoundsChecker fixes 1999-09-06 22:40:27 +00:00
Sascha Schumann
8aa0c92bc6 fix warning 1999-09-05 19:59:28 +00:00
Andi Gutmans
7ebbe20fb0 - Should fix short_tags and co. problem. 1999-09-05 19:49:54 +00:00
Andi Gutmans
04b0bc4c70 - php_error(E_ERROR,...) won't ever return so change the connection_status
before it is called.
1999-09-05 05:15:42 +00:00
Rasmus Lerdorf
d3439023d3 Catch a timeout and add user-level interface for connection handling 1999-09-04 21:10:39 +00:00
Rasmus Lerdorf
82d975d671 Might as well bail as soon as we know we should since this is now
possible.  We still need to set our connection status bit field so a
shutdown function can figure out if a script was terminated due to an
abort, timeout or finished normally.
1999-09-04 20:37:24 +00:00
Rasmus Lerdorf
0bede914ab First part of the connection_status work. No user-callable functions
yet.  That is coming next.  Have also only done Apache and CGI so far.
Will have to crack open my ISAPI book to do that one.

Also changed the SAPI output functions to return an int.  We'll check
the connection status inside each one, but we might need the return
code at some other level and I don't see a good reason for just tossing
these return codes.
1999-09-04 20:12:47 +00:00
Sascha Schumann
5b293ecd4d - add global startup/shutdown handlers
- improve genif.sh to also consider all header files for inclusion
  (checks for phpext_)
- use vsnprintf in main.c to avoid buffer overflows
- improve sessions's mm module to cope better with OOM situations
  within the shared memory segment
- fix typo wrt session.auto_start
1999-09-03 17:46:39 +00:00
Zeev Suraski
276c876171 - Fixed several problems with output buffering and HEAD requests (Zeev)
- Fixed HTTP Status code issue with ISAPI module (Zeev)
1999-09-03 02:39:36 +00:00
Andi Gutmans
b6789ae332 - Add sessions module to standard win32 build. 1999-09-01 19:28:07 +00:00
Stig Bakken
788b25ccf8 fix for bug #2165 1999-08-31 15:39:13 +00:00
Sascha Schumann
053712c95d when "track_vars" is disabled and a script which contains <?php_track_vars?> is
accessed for the first time, track vars were not created properly.
1999-08-28 14:00:44 +00:00
Zeev Suraski
4628f3021b New relay code 1999-08-28 11:17:28 +00:00
Zeev Suraski
f681b37c7b *** empty log message *** 1999-08-27 04:51:49 +00:00
Zeev Suraski
1dadb97552 Log date&time on script logs 1999-08-27 04:31:53 +00:00
Andi Gutmans
7a9ad9d0c8 Make fopen() work with URL's in Win32 1999-08-25 16:24:14 +00:00
Zeev Suraski
7e250d06f5 Add output_buffering directive 1999-08-24 23:12:50 +00:00
Andi Gutmans
aeec4e198a - Fixed memory leaks. tsrm resource id deallocation still needs to be implemented. 1999-08-19 16:52:53 +00:00
Andi Gutmans
7145d1a21a - Make the non-threadsafe version compile again 1999-08-14 09:55:43 +00:00
Zeev Suraski
58e24ac18a - Add PHP Modules workspace
- Get the MySQL module to compile&work under thread-safe Win32
- Fix various thread safety issues with dynamic modules
1999-08-13 21:03:27 +00:00
Philippe Verdy
2d3ef1b8ae no return warning removed. fixed TSRM constructor prototype 1999-08-12 11:05:43 +00:00
Zeev Suraski
1e6c159422 Built-in phpinfo() links are now turned off by default. They can be
turned on using the allow_builtin_links INI directive
1999-08-07 18:21:35 +00:00
Thies C. Arntzen
2c73cc3b29 hope i haven't missed anything - but we're no longer in the 3.x tree 1999-08-05 07:42:46 +00:00
Zeev Suraski
3cb1eb0471 Removed '3' from key functions in PHP (maintained compatibility through
php3_compat.h)
1999-08-02 19:17:14 +00:00
Zeev Suraski
afeb7704c9 Fix problem with include/require of URLs 1999-07-31 18:57:41 +00:00
Andrey Hristov
e1a84e442e Fix for bug #1907. 1999-07-30 13:17:29 +00:00
Andrey Hristov
736f4831a5 A bunch of grunt work updating function entries and declarations. 1999-07-24 22:16:54 +00:00
Zeev Suraski
fff675c448 Congrats Andrey 1999-07-24 20:36:31 +00:00
Zeev Suraski
68e32f6ac3 * Make Win32 build work again
* Make error_reporting value prior to the standard initialization be
  set so that errors show up
1999-07-24 16:52:00 +00:00
Andrey Hristov
adbf932744 *** empty log message *** 1999-07-21 15:10:04 +00:00
Zeev Suraski
614b4b781e I was sure I committed these already. Weird 1999-07-17 19:17:42 +00:00
Zeev Suraski
c5724cbd14 License update 1999-07-16 13:13:16 +00:00
Zeev Suraski
e883283590 * Update logos
* Move from PreAlpha 1 to Beta 1.
1999-07-14 23:33:00 +00:00
Zeev Suraski
c43c235427 Don't touch refcount and EA directly 1999-07-09 20:45:55 +00:00
Zeev Suraski
5f62c347c7 Step 2:
Rename is_ref to EA
1999-07-09 17:44:41 +00:00
Zeev Suraski
1a33277e3d Avoid sending NULL argument to printf 1999-07-08 17:15:43 +00:00
Zeev Suraski
6132bc3111 Support x-httpd-php-source 1999-07-03 23:15:10 +00:00
Zeev Suraski
36416f1109 Protect against NULL arguments in filename 1999-06-26 12:27:49 +00:00
Zeev Suraski
acddd0f13c Fix compile-time definition of track_vars default 1999-06-22 19:07:01 +00:00
Zeev Suraski
943a911485 *** empty log message *** 1999-06-19 22:56:34 +00:00
Zeev Suraski
bb190f8565 Implement new get_ini_entry() for Zend 1999-06-19 19:23:24 +00:00
Stig Bakken
117a2fba07 * fixed some #if/#ifdef issues
* hand-patched in php3 changes from 3.0.6 to HEAD in these files:
   fopen-wrappers.[ch] ext/standard/file.[ch] ext/standard/fsock.[ch]
   ext/standard/php3_string.h ext/standard/string.c
* added some new file/socket macros for more readable code:
   FP_FGETS(buf,len,sock,fp,issock)
   FP_FREAD(buf,len,sock,fp,issock)
   FP_FEOF(sock,fp,issock)
   FP_FGETC(sock,fp,issock)
1999-06-16 17:06:53 +00:00
Zeev Suraski
4b062fdfec Print out include_path in include/require failures 1999-06-11 11:59:35 +00:00
Zeev Suraski
1798a0183a * Fix a buglet in the session module
* Make some renames in the session module - avoid having a function called 'delete'
  so that we don't piss any C++ compilers.  Also rename the {startup,shutdown}_globals
  to {startup,shutdown}_session_globals, so that they're a bit less general names,
  and made them static.
* Remove uselss variables
1999-06-11 09:23:00 +00:00
Zeev Suraski
bbce669cea Move shutdown order into Zend 1999-06-05 19:00:56 +00:00
Zeev Suraski
4ea6d477ec thread-safety fix 1999-05-31 19:58:20 +00:00
Zeev Suraski
5f12a05aa3 *** empty log message *** 1999-05-31 17:40:15 +00:00
Sascha Schumann
31da7331fe kill some warnings 1999-05-30 12:00:06 +00:00
Sascha Schumann
52463124be getopt.h conflicted with system include file 1999-05-29 13:53:59 +00:00
Zeev Suraski
7a167cd0c1 * Use new Zend macros for standardized definition of classes.
* Reverse bogus shutdown order.
* Use the new object/class support of Zend to make the dir functions work again.
1999-05-28 11:09:39 +00:00
Rasmus Lerdorf
f1f4e6f478 Some innocent cleanups 1999-05-28 03:54:15 +00:00
Zeev Suraski
83cdc9476d Generate Visual Studio compatible error messages when compiling under Win32 1999-05-27 03:14:57 +00:00
Zeev Suraski
d62a739cca More fixes. Should hopefully work well now. 1999-05-22 12:19:57 +00:00
Zeev Suraski
9b4d71205b * Minor fixes
* Better handling for multiple repeated memory leaks (libzend updated)
1999-05-22 10:56:36 +00:00
Zeev Suraski
a08e3925b1 Time to rename the child 1999-05-22 09:24:21 +00:00
Zeev Suraski
58a0ae7b35 Small fix 1999-05-22 01:15:25 +00:00
Zeev Suraski
c57c0e9cd5 * Fix error handling startup on the thread-safe CGI version
* A failed require() is a compile-time error, consider it as one
1999-05-21 19:22:17 +00:00
Zeev Suraski
59a539f6ad Use OutputDebugString() or fprintf(stderr,) for memory leaks 1999-05-20 19:06:28 +00:00
Zeev Suraski
5eaed486e1 * HTTP-auth bugfix
* Patch the regex thread safe code to compile in thread safe mode
1999-05-13 15:54:49 +00:00
Zeev Suraski
49b01a4b3d Support HTTP Auth under ISAPI. Now, these short pieces of code took *A LOT* of
research :(
1999-05-12 21:35:16 +00:00
Zeev Suraski
ba88c0c47c * Move unclean_shutdown from PHP to Zend.
* The Master/Local headers in the phpinfo() table were reversed.
* Fix a gpc bug
1999-05-11 16:52:58 +00:00
Zeev Suraski
dc5ed5a3fb beatify Apache's info func 1999-05-11 00:43:46 +00:00
Zeev Suraski
0b77132507 * Get Apache to work. POST doesn't work yet.
* There are now -I directives for the absolute path of php4, php4/libzend and the builddir for
  the Apache module, so we can #include any php/Zend header.
* Rename config.h to php_config.h
1999-05-11 00:01:47 +00:00
Andrey Hristov
ea0f19850e A couple of fixes. 1999-05-10 20:41:42 +00:00
Zeev Suraski
928e322038 Weed out all BoundsChecker-found bugs 1999-05-10 19:48:23 +00:00
Zeev Suraski
5ba4b3311d Several minor fixes 1999-05-09 13:55:15 +00:00
Zeev Suraski
bc415d5a88 * Finalizing the PHP version of SAPI. Support POST and cookies among other things.
* Fully implement ISAPI support - POST and cookies among other things.
* Almost completely rewrote phpinfo().  Allow modules to easily display their
  information in phpinfo() without modifying phpinfo() itself (prototype for
  the module info function was changed, thus the large amount of updated module
  files).
* Initial extended SAPI support for Apache, completely untested.
* CGI now uses SAPI fully as well.
1999-05-09 08:48:05 +00:00
Zeev Suraski
ade1117ebd * Get output buffering to work again
* Warn about adding header information after headers are sent
* Several fixes
1999-05-06 21:58:49 +00:00
Zeev Suraski
6f1c611868 Fixes 1999-05-05 21:29:26 +00:00
Zeev Suraski
aee864e9d8 Get CGI to work with the new headers code.
Now Apache is the only interface that doesn't use it.
1999-05-05 21:05:44 +00:00
Zeev Suraski
2740382c2c ISAPI WORKS! 1999-05-05 19:53:15 +00:00
Andi Gutmans
537cc54acd Added initial headers support in SAPI
*untested*
It definitely broke the thread-safe CGI, it may have broken other stuff as well.
1999-05-05 18:25:20 +00:00
Zeev Suraski
a5ab6b9638 Move path_info to the SAPI structure 1999-05-02 19:54:02 +00:00
Andi Gutmans
5dbe924660 - Make ISAPI hook in as an extension too.
- Some work on moving stuff to SAPI.
1999-05-02 18:07:41 +00:00
Zeev Suraski
d843632629 Remove redundant code 1999-04-28 21:29:31 +00:00
Zeev Suraski
a877f6d380 Additional generalization of the INI mechanism. Avoid needing specialized
message handlers in 99% of the cases.
1999-04-28 21:14:47 +00:00
Zeev Suraski
66476011dd A step towards generalizing the INI mechanism even more 1999-04-28 20:26:33 +00:00
Andi Gutmans
a74b342612 - Small startup fix. 1999-04-28 17:38:24 +00:00
Zeev Suraski
1245356128 * Get rid of the memory leak messages in case of fatal errors or exit()
* .dsp fixes
* Minor fixes
1999-04-27 10:00:54 +00:00
Zeev Suraski
9b56453566 * Small startup fix
* Fix min() and max()
1999-04-26 20:20:12 +00:00
Zeev Suraski
3cd0af11ee * Get the Apache module to compile again
* Get rid of php3_rqst, use SG(server_context) instead (there's still Apache-specific code,
  but it nuked a global)
1999-04-26 17:26:37 +00:00
Zeev Suraski
7942eaf381 * Plenty of thread safety and Win32 work.
* Changed PHP4 to compile as a DLL, both ISAPI and the the CGI run with the same DLL.
* Switched to using the DLL runtime library under Win32.  PHP will NOT work if
  compiled against the static library!
* Removed yesterday's php4libts project (with php4dllts, it's obsolete).

This *does* affect thread-unsafe Windows as well - the thread unsafe CGI is also
dependant on the thread-unsafe DLL.
1999-04-26 14:00:49 +00:00
Andi Gutmans
9c51acdc17 -More 1999-04-26 03:03:36 +00:00
Andi Gutmans
4ebb4060f9 * Fix a couple of thread safety issues
* Add initial ISAPI support.  Very very experimental.
* In the thread safe version, generate php4 as a library so that we can link it with both
php.exe and the ISAPI dll.  We should probably consider doing that under all circumstances,
under UNIX as well.

The thread-unsafe version *should* be unharmed.
1999-04-25 19:35:44 +00:00
Zeev Suraski
125275b084 Small fixes 1999-04-24 16:51:15 +00:00
Zeev Suraski
6ecc81c097 We'd have to find a different way of allowing timeouts in Win32 1999-04-24 16:17:04 +00:00
Zeev Suraski
0818d96c97 A lot of cleanups... Removed old thread-safe code and other redundant code and files 1999-04-24 00:12:00 +00:00
Zeev Suraski
05d24c6022 Remove redundant code 1999-04-23 22:45:01 +00:00
Zeev Suraski
09946676d2 Thread-safe header_is_being_sent 1999-04-23 20:20:30 +00:00
Zeev Suraski
6f7c0edee3 Remove tls.[ch] 1999-04-23 20:06:01 +00:00
Zeev Suraski
f9cdc88471 Testing unified diffs 1999-04-23 10:26:49 +00:00
Zeev Suraski
8a2f6371fe *** empty log message *** 1999-04-23 03:36:17 +00:00
Stig Bakken
2c0ad3ee25 last bunch of extensions moving to ext/
fhttpd module taken out of functions, functions is ready to go.
The only extensions I have tested are gd+freetype and odbc(solid).
Please try compiling in your favourite extensions and let me know how it
works.
1999-04-22 02:48:28 +00:00
Stig Bakken
ff37732997 moved fdf, hyperwave, informix and some smaller files 1999-04-22 00:25:57 +00:00
Zeev Suraski
7aad231327 Thread safety patch. It works now with just-in-time resource initialization! 1999-04-21 17:28:54 +00:00
Zeev Suraski
c5af324ec3 More thread safety work 1999-04-21 04:02:11 +00:00
Zeev Suraski
1390eadc14 Ah, so that file is generated too 1999-04-18 20:59:54 +00:00
Zeev Suraski
5e8c322859 Make Win32 happy with the recent changes. 1999-04-18 15:58:27 +00:00
Zeev Suraski
2e8fb4e329 Win32 registry support 1999-04-18 15:09:46 +00:00
Stig Bakken
257de2bade First commit of re-structuring phase one. We have started using automake in
sub-directories and started to move extension code into ext/<name>.  For now,
I have moved the "standard" extension (which is quite a mix of everything
right now) and the GD extension into their own subdirs in ext/.
The configure script now also runs configure in the libzend directory
automatically and makes sure php4 and libzend use the same config.cache file.
To avoid running configure in libzend, use the --no-recursion option.
"make" in php4 also builds libzend now.
The Apache module doesn't compile right now, but a fix for that is
coming up.
1999-04-17 00:37:12 +00:00
Andi Gutmans
8cf2d74b76 - Make the memory leak message print PHP4. 1999-04-16 08:12:51 +00:00
Zeev Suraski
4869bd3bfc Test patch... 1999-04-10 21:39:23 +00:00
Zeev Suraski
3b53a8ad0f test patch 1999-04-10 21:34:53 +00:00
Zeev Suraski
1c23f75627 Oops 1999-04-10 21:30:49 +00:00
Zeev Suraski
4b98f345d1 php3_ini? What's that? 1999-04-10 17:39:08 +00:00
Zeev Suraski
bb6dff9c67 Buh-bye php3_ini 1999-04-10 16:25:23 +00:00
Zeev Suraski
e3d2234b80 A lot of php3_ini -> php_ini work 1999-04-10 13:32:47 +00:00
Zeev Suraski
79f9f0ce88 Move safe_mode to the new php_ini mechanism 1999-04-10 12:17:20 +00:00
Zeev Suraski
7685b44c4b Move asp_tags and short_open_tag to the new php_ini mechanism 1999-04-10 11:22:18 +00:00
Zeev Suraski
e95ebe0453 testing 123 1999-04-09 21:10:11 +00:00
Zeev Suraski
f92db069c3 test, ignore 1999-04-09 21:08:34 +00:00
Zeev Suraski
3e58450513 * A lot of work on php_ini stuff
* A lot of work on getting rid from php3_ini
1999-04-09 19:09:29 +00:00
Zeev Suraski
6a97e1662d * Add arguments to shutdown function
* Bring php_ini uptodate
1999-04-08 21:32:57 +00:00
Zeev Suraski
9d1a9331b3 Fix for php -v 1999-04-08 14:55:42 +00:00
Zeev Suraski
aceaabceff PHP 4.0 1999-04-07 21:05:13 +00:00