Commit Graph

163 Commits

Author SHA1 Message Date
Ben Mansell
a40f208ab8 Thread hashtable was being initialized with a size of 1! Changed to 128 as
a more sensible number.
# Also could change the 'expected resources' parameter from 1, but I
# haven't tested that bit yet
----------------------------------------------------------------------
2001-03-06 15:09:15 +00:00
Ben Mansell
5e5f5886ff Added PHP_AUTH_USER, PHP_AUTH_PW and PHP_AUTH_TYPE environment variables
for Zeus/ISAPI, so basic authenication works.

Submitted by: daniel@zeus.com
2001-02-27 13:29:21 +00:00
Andi Gutmans
eb6ba01d1c - Fix copyright notices with 2001 2001-02-26 06:11:02 +00:00
Ben Mansell
f49d4de599 Fixed non-threadsafe code: 'isapi_special_server_variables' was a static
buffer, and not allocated per-connection. Bad bad bad!
2001-02-16 16:01:34 +00:00
Ben Mansell
12537e9787 @ Support Zeus 3.3.8
Added changes to environment variable manipulations, to support Zeus 3.3.8
and increase compatibility between Zeus/IIS/Apache. Now, URLs like
http://foo.org/file.php/a/b/c/d work correctly.
# While testing, it looks like IIS+ISAPI is mishandling URLs like the above.
# The PATH_TRANSLATED given by ISAPI includes the /a/b/c/d bit of the URL,
# so using this var to find the script file to open on disk will not work.
# We now use SCRIPT_FILENAME if it is present (in Zeus 3.3.8)
# IIS doesn't seem to set this variable, it might be necessary to mangle
# SCRIPT_NAME and APPL_PHYSICAL_PATH together?
2001-01-16 10:44:52 +00:00
Zeev Suraski
a910f8cc80 Fix output dir 2001-01-15 15:16:30 +00:00
Zeev Suraski
9877acdb32 - Implement CompareStringWithFile()
- Remove a stupid NULL assignment that slipped in the last commit
2001-01-15 15:13:50 +00:00
Zeev Suraski
47ea52ca58 - Implement quick file comparing routine
- Fix crash - wait on the threads themselves, not on Event objects.
  It takes time between the time a thread signals the event, and the
  time it actually terminates (shutdown code) - so FreeLibrary() and
  the main() termination could occur before all of the threads
  terminated...
2001-01-15 14:55:30 +00:00
Shane Caraveo
42b1b44ad4 test now produce valid OK or FAIL. 2001-01-15 01:52:47 +00:00
Shane Caraveo
ebe94513cc dont do results if not using test files 2001-01-15 01:17:44 +00:00
Shane Caraveo
1d40310fa4 clean up temp files 2001-01-15 01:13:51 +00:00
Shane Caraveo
c88be3f8b3 check files open 2001-01-15 00:57:16 +00:00
Shane Caraveo
833ba12664 fix file reading, add results 2001-01-15 00:56:23 +00:00
Shane Caraveo
dd01542bad Multithreaded stress test program for isapi module now supports phpt files
still stuff to do before it's realy done, but does run the tests, just need
to get it to compare results right now.
2001-01-15 00:29:49 +00:00
Shane Caraveo
b2cb9ac8fe ignore blank lines 2001-01-08 01:14:49 +00:00
Shane Caraveo
0a1d3aa108 add notes on this program 2001-01-08 00:10:06 +00:00
Shane Caraveo
a1c3f92ac7 stresstest is based on cgiwrap. it can be used to debug php4isapi.dll without
the use of an actual web server.
2001-01-07 23:52:18 +00:00
Shane Caraveo
f1afd6f487 define flag to turn off exception handling 2001-01-07 23:45:24 +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
a697d076bc Add Release_TSDbg support. This mode compiles PHP with the release C runtime,
but with optimizations disabled and with debug info.  Some crashes can only
be debugged using this mode.
2000-12-26 22:15:32 +00:00
Ben Mansell
fbf699adb6 Fix Zeus' behaviour with URL, SCRIPT_NAME, SCRIPT_FILENAME, REQUEST_URI
environment variables
PR:
Submitted by:
Reviewed by:
Obtained from:
2000-12-15 16:18:55 +00:00
Ben Mansell
a017a6c025 (Zeus) Re-added some server variables that will be used.
Also added DOCUMENT_ROOT, was missing before for non-Win32
2000-12-13 17:11:01 +00:00
Hartmut Holzgraefe
1f6878e912 2nd step towards auto-credits 2000-11-20 10:33:33 +00:00
Zeev Suraski
030b707296 Update SAPI modules to interface with the new TSRM.
Enable thread-safety memory debugging in ISAPI when in debug mode
2000-11-18 02:44:04 +00:00
Sascha Schumann
af87dfe204 Unify handling of aborted connections 2000-10-29 16:14:27 +00:00
Daniel Beulshausen
7883ddaf51 i'll place the reg file in the win32 folder
cause it doesn't really fit in this folder
2000-10-22 13:48:43 +00:00
Ben Mansell
fd81040420 (Zeus-specific) Don't GetServerVariable() for vars which Zeus doesn't use 2000-09-19 17:43:11 +00:00
Ben Mansell
4208c264d7 Fixed bug which could truncate PHP_SELF 2000-09-19 17:34:53 +00:00
Zeev Suraski
91c808ecc4 Restore the headers_only test to the centralized SAPI startup. If necessary, it can
be overriden in the activate() callback.
2000-09-08 14:43:57 +00:00
Zeev Suraski
4396093666 Fix ISAPI compilation 2000-09-04 20:46:46 +00:00
Andi Gutmans
570e7e9a13 - Defining TSRM_WIN32 in each and every dsp sucked. Revert this change 2000-09-02 16:28:25 +00:00
Andi Gutmans
5bc9f72e85 - More Windows build fixes 2000-09-02 16:02:53 +00:00
Andi Gutmans
69e2d48738 - Change spaces to tab 2000-08-28 19:31:56 +00:00
Daniel Beulshausen
c8eb56cc59 changed the output directorys from the windowsbuilds 2000-08-23 15:43:36 +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
Ben Mansell
ea98567404 REQUEST_URI is a handy server variable, lets pass it onto ISAPI/PHP 2000-08-18 14:18:57 +00:00
Ben Mansell
8751bcb8eb (send_headers) Removed code freeing http_status_line, this is performed
in sapi_send_headers()
# Looks like a similar problem in sapi/pi3web/pi3web_sapi.c as well.
# I can't test this though, so I'm being paranoid and not changing that code.
# Could someone please check this?
2000-08-17 13:40:40 +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
4d692049b2 Fix a couple of bugs in the ISAPI module:
- I think NTLM should work now
- Fix the DOCUMENT_ROOT code
2000-08-09 16:45:40 +00:00
Zeev Suraski
83341c39da Add DOCUMENT_ROOT 2000-08-07 11:51:21 +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
Zeev Suraski
37fb71b9ba Set version number on DLLs 2000-06-30 12:16:58 +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
Hartmut Holzgraefe
87a491d7b6 C++ // comments are evil ... 2000-06-16 18:24:02 +00:00
Zeev Suraski
02d2a5db3a Fix Windows .dsp's 2000-06-11 19:23:21 +00:00
Sascha Schumann
e49ad341bd Wipe out acconfig.h.in and rewrite some checks to use PHP_ARG_ENABLE. 2000-06-08 06:14:58 +00:00
Sascha Schumann
102c6ce4b8 Move main.h to php_main.h. 2000-06-05 23:24:42 +00:00
Zeev Suraski
5673378ea6 - Allow all functions that receive user-defined function callbacks to accept
an array that contains an object and a method name, in place of a function
  name, e.g. usort($array, array($obj, "ObjSort"))
(I checked the code in array.c and basic_functions.c, other code which uses
call_user_function() may still force the function_name argument to be of type
IS_STRING, which prevents this feature from working - and is no longer necessary)
2000-06-03 04:16:46 +00:00
Ben Mansell
d0fd31018b Fixed check for Zeus under Solaris (/bin/sh doesn't understand '!') 2000-05-22 14:39:33 +00:00
Zeev Suraski
e043439ff6 Update the license with the new clause 6 2000-05-18 15:34:45 +00:00
Ben Mansell
10503a3b92 Define PHP_SELF properly with Zeus+ISAPI 2000-05-15 12:40:12 +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
7613e064f8 Remove trailing empty lines 2000-05-01 22:38:42 +00:00
Sascha Schumann
0d36199cf9 Large test commit IV 2000-05-01 22:04:52 +00:00
Sascha Schumann
de2cea47c0 Large commit test III 2000-05-01 22:00:09 +00:00
Sascha Schumann
953fe189da Overall UNIX build system improvements:
* Makefile header is now completely dynamic
* Absolute paths in (top_)?(src|build)dir and VPATH
  (fixes Tru64 support)
* VPATH does not contain variables anymore
  (fixes UnixWare support)
2000-04-30 03:20:09 +00:00
Zeev Suraski
a81e6bc04e author fixes 2000-04-19 15:21:22 +00:00
Zeev Suraski
708811184d Improve performance of the PHP_SELF registration under ISAPI 2000-04-19 15:15:33 +00:00
Frank M. Kromann
2e2642cfb3 Adding $PHP_SELF variable for compatibility with other platforms 2000-04-15 19:20:43 +00:00
Andi Gutmans
c9911a151e - Change PHP_ to V_ (directory & file functions) 2000-04-15 14:28:48 +00:00
Ben Mansell
67f867311b @- Zeus Webserver support (version 3.3.6+) for ISAPI 2000-04-12 09:48:26 +00:00
Colin Viebrock
9130f05d08 prettying 2000-04-07 16:50:55 +00:00
Zeev Suraski
7c70003d22 The ISAPI module was incompatible with the CGI fix, which ruined POST's 2000-04-05 18:06:13 +00:00
Andi Gutmans
9c3d6304dd - Hopefully got most of them. We also need a chdir_file function like
for Apache.
2000-03-30 22:56:34 +00:00
Shane Caraveo
073b7acc90 I suppose errors should be printed prior to endthread 2000-03-19 18:24:09 +00:00
Shane Caraveo
42c874ba5f do this only on win32 2000-03-19 18:22:11 +00:00
Shane Caraveo
0bf6633452 just a little more detail in exception report 2000-03-19 17:59:05 +00:00
Zeev Suraski
a508bec819 - From CODING_STANDARDS:
[6] NEVER USE strncat().  If you're absolutely sure you know what you're doing,
      check its man page again, and only then, consider using it, and even then,
      try avoiding it.
  strncat() is your enemy!
- Fix several SAPI services, get rid of the default_content_type (it's always
  composed of the mime type and charset now).
- Win32 works again
2000-02-26 05:03:41 +00:00
Zeev Suraski
5520a43b77 - Fix Win32 build in Release_TS* modes 2000-02-24 15:56:48 +00:00
Zeev Suraski
86fa2aade2 the pipe is breaking all the time 2000-02-19 23:41:32 +00:00
Zeev Suraski
1c4532dcbf *** empty log message *** 2000-02-19 13:11:02 +00:00
Zeev Suraski
f1dac01f11 - Fix some issues with the ISAPI module, made it friendlier to non Win32 platforms
- Added .reg file for PWS setup
- Reordered some stuff in phpinfo()
2000-02-18 17:59:44 +00:00
Zeev Suraski
a5c143f415 - Update .dsp's
- Fix auth_user issue
2000-02-16 16:46:01 +00:00
Andi Gutmans
d66d7c6e3a - In IIS ISAPI when the user presses the STOP button while the script is
running make sure it stops gracefully. Before it stuck the server.
2000-02-16 13:34:07 +00:00
Zeev Suraski
e9dcdb8f97 @- Improved ISAPI module - it should no longer be necessary to set PHP as
@  an ISAPI filter, only as an ISAPI extension, unless you wish to perform
@  authentication using PHP.  This didn't yet get enough testing, but it
@  should work (Zeev)
- Fixed auth_user/auth_password memory leak (I didn't have time to test it under
  Apache, feedback welcome!)
2000-02-15 23:31:10 +00:00
Zeev Suraski
1cca60e704 Fix a few memory leaks 2000-02-13 22:17:09 +00:00
Zeev Suraski
23b633e071 Report access violations 2000-02-13 01:24:51 +00:00
Zeev Suraski
b08f85aeef Make all of the ISAPI variables register themselves as Server variables 2000-02-13 01:14:45 +00:00
Zeev Suraski
2e7093d5ef Update .dsp's 2000-02-11 16:28:50 +00:00
Zeev Suraski
5bdd18caf1 Yes, you guessed it... More cleanup 2000-02-10 18:44:33 +00:00
Zeev Suraski
0fd89aa20d More cleanup - move getenv() to SAPI 2000-02-10 17:55:01 +00:00
Zeev Suraski
7d926a0e0c More cleanup... 2000-02-10 17:26:57 +00:00
Zeev Suraski
073b148167 More abstraction 2000-02-10 16:44:59 +00:00
Zeev Suraski
404bbe1f26 Move the logging mechanism to SAPI 2000-02-10 15:55:10 +00:00
Zeev Suraski
2da5f17e52 Fix buglet 2000-02-06 22:14:34 +00:00
Zeev Suraski
6a75df6cd7 @- Protect the ISAPI module against exceptions. Stack overflows in scripts are
@  now nicely detected and handled (Zeev)
2000-02-06 21:59:58 +00:00
Andrei Zmievski
a6748c555e Fixed SAPI modules to properly register their related modules. 2000-02-02 17:19:36 +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
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
972631be71 - Added flush() support to SAPI
- Got rid of the old flush() implemenetation in favour of the new one
- Added implicit_flush() support to the output buffering layer.
@- Added implicit_flush() to control whether flush() should be called
@  implicitly after any output (Zeev)
2000-01-13 17:37:25 +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
4765396846 .dsp updates 1999-12-31 16:20:04 +00:00
Zeev Suraski
fce126bcb1 Add new Release_inline builds to Win32. Standard release versions will not use
inline under Win32.
1999-12-31 15:39:54 +00:00
Sascha Schumann
f2f8d38efa Integration of -ng changes. Changes:
- added support for externally built modules,
- improved support for in-tree shared modules,
- fixed diversion bugs,
- configure displays some informative messages,
- faster static build
  (libtool isn't used anymore for compiling non-PIC objects),
- dependencies comparable to automake's without requiring GNU make or GCC,
- working make clean for non-GNU makes.
1999-12-30 02:59:53 +00:00
Zeev Suraski
235386b245 Change ALLOC_ZVAL() semantics 1999-12-26 21:21:33 +00:00
Andi Gutmans
3f6e00e48d - Use ALLOC_ZVAL() in PHP. Finding the places to put FREE_ZVAL(z) is much
more tricky and I'm not sure how many places this is. zval allocations
  were only made directly in 11 places.
1999-12-24 15:43:39 +00:00
Sascha Schumann
a2276107ab Some cleanup 1999-12-21 22:58:04 +00:00
Sascha Schumann
ed0a307ccd Use sapi_module_struct to contain SAPI module name 1999-12-20 23:09:54 +00:00
Zeev Suraski
4d2b0715d1 libzend -> Zend 1999-12-19 21:02:54 +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