Commit Graph

129 Commits

Author SHA1 Message Date
Sascha Schumann
107aa9f71a Align ZTS handling of globals with common usage 2000-12-10 23:22:20 +00:00
Sascha Schumann
0ddb725f91 Axe rest of DAV leftovers and use STD_PHP_INI_ENTRY in the INI section 2000-12-07 13:07:18 +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
Andi Gutmans
0330643ea2 - Revert patch which seems to have caused the STOP mechanism not to work.
- I'm not quite sure why this should have caused harm even if not completey
- the right way of doing it.
2000-11-01 11:23:52 +00:00
Zeev Suraski
0ee12a6488 Fix Apache build 2000-10-31 18:28:04 +00:00
Sascha Schumann
27a8480028 Add/unify aborted connection handling 2000-10-29 16:01:02 +00:00
Zeev Suraski
1fd09132c2 Initial steps to move the INI mechanism to the Zend engine 2000-10-29 11:38:26 +00:00
Zeev Suraski
ce51b94461 Fix php_value issue 2000-10-13 17:07:09 +00:00
Zeev Suraski
1abd99a443 Fixed a problem that allowed users to override admin_value's and admin_flag's 2000-10-11 16:24:35 +00:00
Andi Gutmans
2622eba31d - Cleanup some output functions 2000-09-30 16:13:48 +00:00
Sascha Schumann
3be464e4ec UnixWare defines shutdown to _shutdown, which causes problems later
on when using a structure member named shutdown. Since this source
file does not use the system call shutdown, it is safe to #undef it.

PR: #6008, #6362
2000-09-29 19:08:17 +00:00
Sascha Schumann
cd151feb19 #include "SAPI.h" once 2000-09-26 10:58:56 +00:00
Jon Parise
9a4c654606 Fix build after last commit. 2000-09-08 15:39:42 +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
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
Rasmus Lerdorf
9021105c89 Fix typo 2000-08-04 16:48:42 +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
Rasmus Lerdorf
89107a221b Missed a symbol 2000-07-31 15:07:58 +00:00
Rasmus Lerdorf
b480b8dace Fix symbol clash which caused a DSO problem on OpenBSD
@ Fix symbol clash which caused a DSO problem on OpenBSD (Rob Black and
@ anil@recoil.org)
2000-07-26 20:39:59 +00:00
Sascha Schumann
06382f01fd Fix prototype of apache_child_exit_handler and remove popen-related
preprocessor directives/macros.
2000-07-10 09:20:35 +00:00
Thies C. Arntzen
1cee6c5b78 @- Fixed closing 2000-07-10 07:57:01 +00:00
Andreas Karajannis
59604815e1 Fixed module / global shutdown for apache.
GSHUTDOWN functions are now executed and MSHUTDOWN functions are executed on child process exit
2000-07-09 12:51:01 +00:00
Stanislav Malyshev
905fb8ef82 Fix #5432: should register all variables. Thanks jeroen@darius.demon.nl. 2000-07-06 17:40:18 +00:00
Rasmus Lerdorf
f2348a4826 When using HTTP auth from PHP, fill in the %u custom log field so the
authenticated used id will get logged in the Apache access_log
@- When using HTTP auth from PHP, fill in the %u custom log field so the
@  authenticated used id will get logged in the Apache access_log (Rasmus)
2000-07-05 18:02:42 +00:00
Rasmus Lerdorf
aa83dde27b Some user-agents send 'basic' instead of 'Basic' in their Authorization
header.  ApacheBench is an example.  PHP's HTTP Auth would not work with
these.
Some user-agents send 'basic' instead of 'Basic' in their Authorization
header.  ApacheBench is an example.  PHP's HTTP Auth would not work with
these. (Rasmus)
2000-06-30 17:39:21 +00:00
Zeev Suraski
01a8f4606e I'm not sure whether this is necessary or not. Is it guarenteed that get_module_conf()
will always return a value?  Even if there were no relevant directives at all?
2000-06-28 18:27:13 +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
Sascha Schumann
102c6ce4b8 Move main.h to php_main.h. 2000-06-05 23:24:42 +00:00
Rasmus Lerdorf
81c4fd5efc @ Changed the Apache handler's return status to 'Declined' when a requested
@ PHP file could not be found.  Returning 'Not Found' caused problems
@ in the ErrorDocument handler stage in that $REDIRECT_REDIRECT_ERROR_NOTES
@ was not getting set at all.  Moving to 'Declined' shoudl fix this and I
@ can't see any other side effects.  (Rasmus)
Changed the Apache handler's return status to 'Declined' when a requested
PHP file could not be found.  Returning 'Not Found' caused problems
in the ErrorDocument handler stage in that $REDIRECT_REDIRECT_ERROR_NOTES
was not getting set at all.  Moving to 'Declined' shoudl fix this and I
can't see any other side effects.
2000-05-26 18:43:09 +00:00
Zeev Suraski
e043439ff6 Update the license with the new clause 6 2000-05-18 15:34:45 +00:00
Zeev Suraski
6d77362190 Fix crash when server_context is not longer valid (e.g., when
coming from php_apache_request_shutdown)
2000-05-17 08:11:20 +00:00
Zeev Suraski
fb20aee667 - Fix a crash bug in case output is generated in the Apache module while
in request_shutdown
2000-05-14 16:05:25 +00:00
Shane Caraveo
cad04f5579 more apachewin32 work. much better now, but still crashing in zend_execute. At least it's getting the file open now though. 2000-05-04 03:28:34 +00:00
Shane Caraveo
c7e2d8ef35 sorry, do comments right 2000-04-30 04:21:52 +00:00
Shane Caraveo
8d3ce80f48 apache module now compiles under win32, apache loads, but crashes on line 1167 main.c on page request 2000-04-30 04:15:26 +00:00
Andi Gutmans
c9911a151e - Change PHP_ to V_ (directory & file functions) 2000-04-15 14:28:48 +00:00
Rasmus Lerdorf
efabab1a34 Fix for bug #4125 2000-04-13 03:35:02 +00:00
Zeev Suraski
85e9d69f23 @- Fixed several problems with the PATH_TRANSLATED and PHP_SELF under Apache
@  (Paul Gregg & Zeev)
2000-04-08 11:16:19 +00:00
Andi Gutmans
d8e64d623e - This version of chdir_file should be compatible with the Apache one. 2000-04-02 19:45:02 +00:00
Stig Bakken
74fba75ca0 @"none" is now equivalent with "" in Apache config directives (Stig)
"none" is now equivalent with "" in Apache config directives.
2000-03-02 14:32:24 +00:00
Zeev Suraski
1bcdcebe67 Compile fix 2000-02-26 16:07: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
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
Zeev Suraski
86fa2aade2 the pipe is breaking all the time 2000-02-19 23:41:32 +00:00
Sascha Schumann
02d647b5f9 Fix warnings when compiling static Apache module 2000-02-18 10:13:15 +00:00
Zeev Suraski
9eef999b38 No need for a value (not that it seems to work anyway...) 2000-02-17 20:25:08 +00:00
Zeev Suraski
75b1316e70 @- Updated the browscap module to work with PHP 4.0 (Zeev) 2000-02-16 17:46:14 +00:00
Zeev Suraski
6d0ab6166c SAPIfication, Episode VI: Return of the SAPI
Remove mostly all references to APACHE and CGI_BINARY from the code.

- Apache include files are no longer included by any PHP code, except for the Apache SAPI module.
- No server specific code is in any of the base PHP code.

Still left to be done:
- Eliminate any references to APACHE from the few remaining modules.
- Move request_info.c's logic to SAPI
- Modify the regex function names, and globals, so that we can always
  include them, without having to fear any interference with Apache;
  Always use the bundled regex library
2000-02-10 19:41:21 +00:00
Zeev Suraski
9709f7ec73 The last patch wasn't that good, fix 2000-02-10 19:29:21 +00:00
Zeev Suraski
79726c8864 Make the CVS compile again 2000-02-10 19:24:44 +00:00
Zeev Suraski
5bdd18caf1 Yes, you guessed it... More cleanup 2000-02-10 18:44:33 +00:00
Zeev Suraski
41f6bca92f More cleanup! 2000-02-10 18:19:04 +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
Andrei Zmievski
a7063b1aee New function notice. 2000-02-08 18:03:19 +00:00
Andrei Zmievski
a6748c555e Fixed SAPI modules to properly register their related modules. 2000-02-02 17:19:36 +00:00
Andrei Zmievski
254fdd754c Initialize apache properly. 2000-02-02 16:49:39 +00:00
Andrei Zmievski
f0f00daa92 Moved ext/apache into sapi/apache. 2000-02-02 06:09:00 +00:00
Rasmus Lerdorf
796ce90c1e No comment - will explain next week 2000-01-29 12:46:59 +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
7723bdbaa7 Apache module compile fixes 2000-01-28 17:38:08 +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
62114c1806 Destructors no longer return ints, the low level problem it was intended to solve is long gone now... 2000-01-17 17:33:37 +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
Sascha Schumann
eb0971609b Make sapi_module static. This is was the majority of SAPI modules uses.
I wonder how this has worked up to now..
1999-12-28 23:48:39 +00:00
Andrei Zmievski
42847f7d5c Some more php3->php stuff. 1999-12-21 20:02:26 +00:00
Sascha Schumann
ed0a307ccd Use sapi_module_struct to contain SAPI module name 1999-12-20 23:09:54 +00:00
Sascha Schumann
1687075373 Make Apache SAPI module compile in ZTS mode 1999-12-17 14:24:39 +00:00
Rasmus Lerdorf
45f9527518 More maintainer-mode cleanups 1999-12-05 14:37:38 +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
Rasmus Lerdorf
cf0868fec8 Clean up regex header file mess. php.h now explicitly includes php_regex.h
and php_regex.h figures out which regex header files to include and
defines symbols that prevents other stuff from including the wrong versions
of regex header files.
1999-10-30 14:22:10 +00:00
Sascha Schumann
232afa4816 * archive-based convenience libraries completely replaced
with libtool components

        * SAPI targets can enable thread-safe mode and define
          shared/static/program build target

        * all configure scripts use the same config.cache

        * phplibdir is $(top_builddir)/modules to avoid
          permission problems

        * sapi/*/Makefile.inc are gone

        * runpath handling cleaned up

        * top-level Makefile.in obsoleted through Makefile.am

        * --enable-versioning uses libtool's cleaner and more
          portable -export-symbols feature
1999-10-04 15:18:26 +00:00
Stig Bakken
1cb0d88186 Decent configure speedup. Makefiles are now generated only for the
extensions you are including.  Got rid of configure.in.in.
Moved the last Apache-specific files into sapi/apache and made both
static and DSO build work again (it still doesn't run properly).
1999-09-29 15:17:02 +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