Commit Graph

573 Commits

Author SHA1 Message Date
Dmitry Stogov
5304e5631f Fix for bug #45786 (FastCGI process exited unexpectedly) 2008-08-18 10:49:35 +00:00
Dmitry Stogov
4362b07e62 Fixed double call to MSHUTDOWN in case of php-cgi -m 2008-08-15 07:30:50 +00:00
Jani Taskinen
13dff74889 fix tests 2008-08-14 20:51:35 +00:00
Jani Taskinen
e5e6f553a2 MFH 2008-08-13 00:53:28 +00:00
Dmitry Stogov
7355c3c54c Removed shebang line check from CGI sapi (it is checked by scanner) 2008-08-04 07:20:15 +00:00
Dmitry Stogov
05f3ed67d4 Fixed bug #45151 (Crash with URI/file..php (filename contains 2 dots)) 2008-07-15 13:39:17 +00:00
Dmitry Stogov
c27eba9bcf Fixed bug #45423 (fastcgi parent process doesn't invoke php_module_shutdown before shutdown) (basant dot kukreja at sun dot com) 2008-07-15 13:11:19 +00:00
Dmitry Stogov
8054f84a3c Fixed possible buffer overflow 2008-06-23 11:37:50 +00:00
Dmitry Stogov
ba8e3174ce Optimized request startup sequence for php.ini without per dir and per host configurations 2008-04-15 11:31:58 +00:00
Dmitry Stogov
9412a49006 Fixed bug #44673 (With CGI argv/argc starts from arguments, not from script) 2008-04-09 09:16:51 +00:00
Dmitry Stogov
9e4d03885e - Fixed possible stack buffer overflow in FastCGI SAPI. (Andrey Nigmatulin)
- Fixed sending of uninitialized paddings which may contain some information.
  (Andrey Nigmatulin)
2008-04-03 10:24:58 +00:00
Rasmus Lerdorf
45e327a672 Add new empty child terminate sapi hook to the rest of the sapis 2008-03-18 22:23:21 +00:00
Dmitry Stogov
8c885b8913 Implemented concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanila php.
The following pseudo-code explains how it should be used in opcode cache.

function cache_compile_file($filename) {
        if (!is_cached($filename)) {
                ...
                orig_compiler_options = CG(compiler_optins);
                CG(compiler_options) |= ZEND_COMPILE_IGNORE_INTERNAL_CLASSES |
                                        ZEND_COMPILE_DELAYED_BINDING;
                $op_array = orig_compile_file($filename);
                CG(compiler_options) = orig_copiler_options;
                ...
        } else {
                $op_array = restore_from_cache($filename);
        }
        zend_do_delayed_early_binding($op_array);
}
2008-03-18 08:36:30 +00:00
Marcus Boerger
af316021e8 - Rewrite scanner to be based on re2c instead of flex
The full patch is available as:
  http://php.net/~helly/php-re2c-5.3-20080316.diff.txt
  This is against php-re2c repository version 98
  An older patch against version 97 is available under:
  http://php.net/~helly/php-re2c-97-20080316.diff.txt
2008-03-16 21:06:55 +00:00
Ilia Alshanetsky
183267dc29 MFB: Fixed security issue detailed in CVE-2008-0599 2008-02-28 00:51:56 +00:00
Dmitry Stogov
f27c1b9d07 optimization 2008-02-15 14:45:42 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Dmitry Stogov
c34a2574be The -f option is fixed to work in the same way as in CLI sapi 2007-12-03 09:38:12 +00:00
Jani Taskinen
02d966c263 MFH:- Added support for [HOST=www.example.com] special sections
MFH:- Allowed using full path to load modules using "extension" directive
2007-11-09 16:27:43 +00:00
Antony Dovgal
46c08f53d7 fix tests 2007-11-01 12:55:42 +00:00
Dmitry Stogov
a1d37c3c7f Fixed bug #42848 (Status: header incorrect under FastCGI) 2007-11-01 11:12:33 +00:00
Dmitry Stogov
df96b455d4 Added check for HAVE_GETTIMEOFDAY 2007-10-26 04:46:12 +00:00
Jani Taskinen
9942f30a38 MFH: ws 2007-10-25 10:01:30 +00:00
Dmitry Stogov
6f7b738b71 Added CGI SAPI -T option, to measure execution time of script repeated several times. 2007-10-25 05:39:06 +00:00
Rob Richards
c4575f4c4b MFH: fix win build 2007-10-05 16:00:30 +00:00
Jani Taskinen
2bc631fb40 MFH:- Added common getopt implementation to core.
MFH:- Added long-option feature to getopt().
MFH:- Made getopt() available on win32 systems.
MFH:  Patch by: David Soria Parra <dsp@php.net>
[DOC]: These changes will be available from 5.3+

# Note: Fixed also tests and synced basic_functions.c with HEAD.
2007-10-01 12:40:54 +00:00
Jani Taskinen
09b6f37f20 MFH:
- Added ".htaccess" style user-defined php.ini files support for
  CGI/FastCGI.
- Added support for special [PATH=/opt/httpd/www.example.com/] sections
  in php.ini. All directives set in these sections will not be able to be
  overridden in user-defined ini-files or during runtime in the specified
  path.

- Improved php.ini handling:
  . Added better error reporting for syntax errors in php.ini files
  . Allowed "ini-variables" to be used almost everywhere ini php.ini files
  . Allowed using alphanumeric/variable indexes in "array" ini options
  . Fixed get_cfg_var() to be able to return "array" ini options

- Fixed bug #27372 (parse error loading browscap.ini at apache startup)
- Fixed bug #42069 (parse_ini_file() allows using some non-alpha numeric
  characters)
2007-09-28 02:05:10 +00:00
Jani Taskinen
0d3bdf23d2 MFH: ws + cs 2007-09-27 22:09:46 +00:00
Dmitry Stogov
06f43b30c1 MFH: Improved and cleaned CGI code. FastCGI is now always enabled and can not be disabled. See sapi/cgi/CHANGES for more details. 2007-09-27 08:23:58 +00:00
Dmitry Stogov
b441b275b3 Fixed bug #42699 (PHP_SELF duplicates path) 2007-09-24 11:40:05 +00:00
Dmitry Stogov
96810f0ae6 Fixed bug #42587 (behaviour change regarding symlinked .php files) 2007-09-10 10:55:26 +00:00
Dmitry Stogov
dd8c8d05e8 Added checks for malformated FastCGI requests (Mattias Bengtsson) 2007-09-07 08:26:47 +00:00
Dmitry Stogov
5d238efaa6 Fixed bug #42523 (PHP_SELF duplicates path) 2007-09-05 08:26:32 +00:00
Dmitry Stogov
39bceffc4a Fixed bug #42453 (CGI SAPI does not shut down cleanly with -i/-m/-v cmdline options) 2007-08-31 12:17:52 +00:00
Stanislav Malyshev
50293835bf remove unneeded variables 2007-08-08 23:51:57 +00:00
Dmitry Stogov
50aef7ec83 - Fixed bug #42198 (SCRIPT_NAME and PHP_SELF truncated when inside a userdir
and using PATH_INFO).
- Fixed bug #31892 (PHP_SELF incorrect without cgi.fix_pathinfo, but turning
  on screws up PATH_INFO).
2007-08-08 13:01:40 +00:00
Jani Taskinen
9c07366bb0 MFH: fix typos in comments 2007-08-08 10:00:34 +00:00
Jani Taskinen
eb923bf6fc MFH: - Changed AC_ARG_* options to PHP_ARG_* options.
MFH: - Some cleanups here and there
MFH: - Enabled PHP_CHECK_CONFIGURE_OPTIONS (checks for unknown configure
MFH:   options)
# Note to Marcus: ext/dba/config.m4 needs to be "converted" to use
# the PHP_ARG_* options. I did't touch it needs quite a lot of work to keep
# it's current behaviour regarding "enabled-by-default" parts of it.
#
# Hint: By using the PHP_ARG_* options you have the "default" option.. ;)
2007-07-11 23:20:37 +00:00
Dmitry Stogov
3a5501e0d4 ECONNABORTED is not a critical error (Andrei Nigmatulin) 2007-07-09 11:48:39 +00:00
foobar
7ed3c4536d MFH: Fix some configure --help texts 2007-07-03 17:25:43 +00:00
Dmitry Stogov
e5909f149c Fixed bug #40419 (Trailing Slash in CGI request don't work) 2007-06-26 14:47:16 +00:00
Dmitry Stogov
5d2180835a no need to return exit status of the last fastcgi request 2007-06-21 08:40:43 +00:00
Antony Dovgal
5c75e5b4f4 MFH: add missing open_basedir checks to CGI 2007-06-04 15:38:12 +00:00
foobar
ca1b7e7b47 fix test 2007-06-03 22:50:19 +00:00
Dmitry Stogov
e35679618e Removed deprecated comment 2007-05-28 08:11:59 +00:00
Antony Dovgal
ccd16d09c0 MFH 2007-05-27 19:23:09 +00:00
foobar
a894611636 - Unify installation of SAPIs: CGI is no exception anymore. 2007-05-24 23:29:59 +00:00
Dmitry Stogov
23409a4bbf Fixed crash on "php -b 1234 -unknown-option" 2007-05-21 09:08:13 +00:00
Dmitry Stogov
3040a34b21 libfcgi cleanup (Andrei Nigmatulin) 2007-05-21 08:47:51 +00:00
Ilia Alshanetsky
30dd6a45d3 Fixed a possible crash when PATH_INFO is not provided but the path contains
path info information
2007-05-20 15:56:10 +00:00
Dmitry Stogov
633aff5541 Fixed bug #41378 (fastcgi protocol lacks support for Reason-Phrase in "Status:" header) 2007-05-15 08:17:08 +00:00
Dmitry Stogov
6e8438633b Fixed bug #41291 (FastCGI does not set SO_REUSEADDR). (fmajid at kefta dot com) 2007-05-10 15:21:02 +00:00
Antony Dovgal
a10cd19d05 MFH: fix long options 2007-04-23 11:05:16 +00:00
Marcus Boerger
f62d5c9adf - MFH getopt fixes 2007-04-22 15:31:16 +00:00
Antony Dovgal
695e81c2cc fix test 2007-04-17 20:17:25 +00:00
foobar
4f54b301ef - Fix a possible leak when multiple -c parameters are used 2007-04-17 20:00:53 +00:00
Antony Dovgal
a0370cd797 add tests for CGI 2007-04-17 19:49:26 +00:00
Antony Dovgal
44066f23b7 MFH: fix leak appearing when more than one -f option specified 2007-04-17 18:51:34 +00:00
foobar
2fe7267d53 MFH: Simplify previous patch. 2007-04-15 23:06:08 +00:00
foobar
a40b6f5c4f - Allow using syntax highlighting under FastCGI mode. 2007-04-15 22:52:07 +00:00
foobar
c71b1401ff - Synch these files from sapi/cli/ and allow using s.c. long-options
with CGI.
2007-04-15 22:50:58 +00:00
Dmitry Stogov
857f992cd3 Removed wrong size_t definition 2007-04-09 15:39:59 +00:00
Sara Golemon
52b07d1895 Add missing #if check 2007-03-29 18:47:04 +00:00
Dmitry Stogov
4a119f9a79 Improved FastCGI SAPI to support external pipe and socket servers on win32 2007-03-28 15:39:22 +00:00
Dmitry Stogov
1e13ef2de5 Fixed compilation warning 2007-03-12 07:39:01 +00:00
Dmitry Stogov
c2a71f8eb1 Return HTTP 403 in case of "access denied". 2007-03-09 16:46:07 +00:00
Ilia Alshanetsky
efad70c2cc snprintf() -> slprintf() 2007-02-27 03:28:17 +00:00
Dmitry Stogov
94d7b8b004 poll() is not affected by FD_SETSIZE (Tony) 2007-02-26 09:38:44 +00:00
Dmitry Stogov
0caa2be91f Use poll() instead of select() if available 2007-02-24 11:20:43 +00:00
Marcus Boerger
50ea26760d - Avoid sprintf, even when checked copy'n'paste or changes lead to errors 2007-02-24 02:17:47 +00:00
Dmitry Stogov
2b5e7d315f Check for FD_SETSIZE limit 2007-02-21 15:46:13 +00:00
Antony Dovgal
43d788ec33 MFH: move PHP_TEST_WRITE_STDOUT to acinclude.m4 and use it in configure.in 2007-02-20 20:11:11 +00:00
Antony Dovgal
748b6fdeb3 MFH: make use of startup hooks 2007-02-20 19:20:41 +00:00
Ilia Alshanetsky
9ae588dfb1 Fixed strlcat() usage.
# Thanks Andi
2007-02-19 23:52:13 +00:00
Dmitry Stogov
2a170f0584 Initialize "retval" on each request 2007-02-19 14:13:02 +00:00
Dmitry Stogov
7c77611057 Fixed fcgi_putenv() semantic with NULL value 2007-02-19 13:21:14 +00:00
Ilia Alshanetsky
26214fc15f Eliminate strcat() usage
Fixed handling of argv[] for GET
2007-02-18 18:08:22 +00:00
Dmitry Stogov
780c66d14b Fixed bug #40286 (PHP fastcgi with PHP_FCGI_CHILDREN don't kill children when parent is killed) 2007-02-16 11:30:03 +00:00
Dmitry Stogov
a79d74b694 Fixed bug #40414 (possivle endless fork() loop when running fastcgi) 2007-02-15 12:33:16 +00:00
Dmitry Stogov
12bbbf022f Fixed Bug #40352 (FCGI_WEB_SERVER_ADDRS function get lost) 2007-02-15 12:04:59 +00:00
Andi Gutmans
71645e8c4f - Give Dmitry credit for all the FastCGI work 2007-02-14 08:12:27 +00:00
Dmitry Stogov
d44cb7fa7b Prevent flush of closed handle on php_module_shutdown() 2007-01-29 19:36:01 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Antony Dovgal
2820e6c1fa MFH 2006-12-28 22:36:53 +00:00
Dmitry Stogov
868ac7d3a3 Fixed bug #39869 (safe_read does not initialize errno). (michiel at boland dot org) 2006-12-19 09:17:04 +00:00
Dmitry Stogov
7389f59f4d Fixed FastCGI impersonation for persistent connections on Windows 2006-12-05 08:55:15 +00:00
Dmitry Stogov
8619bf8332 Removed unnecessary getenv/putenv calls 2006-11-15 13:33:41 +00:00
Dmitry Stogov
0916ac47c9 Fixed wrong ext/filter behavior. It didn't register FastCGI environment variables and made memory leaks. 2006-11-15 11:13:02 +00:00
Dmitry Stogov
5caf547a9f cgi.* and fastcgi.* directives are moved to INI subsystem. The new directive cgi.check_shebang_line can be used to ommiting checnk for "#! /usr/bin/php" line. 2006-11-14 10:31:47 +00:00
Pierre Joye
c002606a88 - fix build (var.s is for zstr) 2006-11-03 16:40:52 +00:00
Ilia Alshanetsky
6123f11021 MFH:
Added filter support for $_SERVER in cgi/apache2 sapis
	Make sure PHP_SELF is filtered in Apache 1 sapi
2006-11-03 13:51:48 +00:00
Dmitry Stogov
bf95b64376 Fixed bug #39020 (PHP in FastCGI server mode crashes) 2006-10-16 10:46:59 +00:00
Dmitry Stogov
4705155d13 Removed unused libfcgi 2006-09-28 09:37:52 +00:00
Antony Dovgal
bc81c718c8 fix CGI build 2006-09-23 12:27:40 +00:00
Ilia Alshanetsky
be18d5f345 Restore support for unquoted -d options 2006-09-22 17:41:09 +00:00
Dmitry Stogov
7d14dad02e MFH: Fixed mess with CGI/CLI -d command line option (now it works with cgi; constants are working exactly like in php.ini; with FastCGI -d affects all requests). 2006-09-19 20:33:12 +00:00
Dmitry Stogov
da09526eac Fix for bug #38757 (MultiPart Form Uploads fail with FastCGI) 2006-09-13 13:03:01 +00:00
Dmitry Stogov
567a4785b3 Don't try to do safe connection close in case of FastCGI protocol error 2006-09-11 07:22:40 +00:00
Dmitry Stogov
a5107c1803 Fixed "signed/unsigned mismatch" warning. 2006-09-04 07:26:48 +00:00
Dmitry Stogov
f9d9c4a6aa FastCGI environment variables must not be overriden by system environment variables 2006-08-31 13:11:58 +00:00
Ilia Alshanetsky
672da2daeb MFH: sa_len compile fix for IRIX
# Patch by Sascha
2006-08-20 18:24:11 +00:00
Dmitry Stogov
b9ba07f7a0 Documentation fix 2006-07-24 12:15:07 +00:00
Antony Dovgal
6c52ec1319 MFH: fix #37920 (compilation problems on z/OS) 2006-06-27 08:27:10 +00:00
Antony Dovgal
33616195b9 MFH: plug leak in CGI SAPI when running scripts with query string in console 2006-06-19 17:49:26 +00:00
Antony Dovgal
cd7d7039ac MFH: add missing ifdef and avoid "unused variable" warning 2006-06-19 11:39:02 +00:00
Nuno Lopes
6509311ebb plug memory leak in sapi_putenv, by using setenv(), that doesnt need any malloc 2006-06-17 11:08:05 +00:00
Dmitry Stogov
eb8c558966 Removed warnings 2006-06-13 14:22:46 +00:00
Dmitry Stogov
5a73f8f13f Removed warning 2006-06-13 13:55:12 +00:00
Johannes Schlüter
2f418134ff MFH 2006-06-03 22:02:02 +00:00
Dmitry Stogov
630def46f7 Fixed bug #37496 (FastCGI output buffer overrun) 2006-05-25 06:40:04 +00:00
Dmitry Stogov
6fe36adf0c Fixed bug #37256 (php-fastcgi dosen't handle connection abort) 2006-05-24 09:42:21 +00:00
Dmitry Stogov
07b8d051fa Fixed bug #37341 ($_SERVER in included file is shortened to two entries, if $_ENV gets used). 2006-05-24 07:55:19 +00:00
Dmitry Stogov
302c53fc5d Fixed bug #37496 (FastCGI output buffer overrun) 2006-05-22 09:22:20 +00:00
Antony Dovgal
52cb01a933 fix typo 2006-05-22 06:49:48 +00:00
Edin Kadribasic
52566bba75 Give exe files 8MB stack (same default as on Linux) instead of Windows default 1MB 2006-05-18 21:46:12 +00:00
Dmitry Stogov
b5cd968ffc - Removed source compatibility with libfcgi
- Optimized access to FastCGI environment using HashTable instead of linear search
- Allowed PHP_FCGI_MAX_REQUESTS=0 to disable PHP die
- Allowed PHP_FCGI_CHILDREN=0 to disable PHP spawn workers
2006-05-15 14:30:31 +00:00
Ilia Alshanetsky
57184454e9 Fixed bug #37376 (fastcgi.c compile fail with gcc 2.95.4). 2006-05-09 22:00:08 +00:00
Dmitry Stogov
b096a5de17 Fixed bug #37313 (sigemptyset() used without including <signal.h>). (jdolecek) 2006-05-05 07:05:34 +00:00
Antony Dovgal
24f0701867 MFH: plug leak 2006-05-03 19:40:58 +00:00
Dmitry Stogov
f03fe1c09d Fixed bug #37205 (incompatibility with mod_fastcgi) 2006-05-03 15:39:16 +00:00
Dmitry Stogov
79fd560e5e Fixed incompatibility with isapi_fcgi.dll 2006-05-03 13:19:57 +00:00
Dmitry Stogov
ff452441e2 Proper fix for bug #37205 2006-04-27 11:39:32 +00:00
Dmitry Stogov
e0beb7fc71 Revert wrong fix 2006-04-26 17:48:27 +00:00
Dmitry Stogov
bbda630ed9 Fixed bug #37205 (Serving binary content/images fails with "comm with server aborted" FastCGI err) 2006-04-26 11:08:10 +00:00
Dmitry Stogov
5b973c86ee iFixed compilation on Solaris 2006-04-24 09:53:57 +00:00
Dmitry Stogov
d19c105819 Fixed SUN_LEN calculation 2006-04-18 06:59:19 +00:00
Dmitry Stogov
73e4913cca Fixed memory leaks 2006-04-18 06:58:43 +00:00
Dmitry Stogov
79b3d79a95 CGI anf FastCGI assume $_SERVER and $_ENV have the same values,
so we don't need construct the same arrays twich and may just copy it
2006-04-07 13:45:23 +00:00
Dmitry Stogov
8c40d605e4 Removed unnecessary copying 2006-04-07 12:39:43 +00:00
Dmitry Stogov
cb3a53db83 Cleanup 2006-03-23 10:19:30 +00:00
Dmitry Stogov
0c1b4f45eb Allowed '-b' with UNIX sockets:
-b <hostname>:<port_number>
  -b <port_number>
  -b <unix_socket_path>
2006-03-23 10:15:01 +00:00
Dmitry Stogov
76a7240d70 Optimized FastCGI SAPI check. Check for ini options only once. 2006-03-17 09:32:30 +00:00
Alex Waugh
b8d26da1be MFH Fix for RISC OS 2006-03-07 22:37:53 +00:00
Marcus Boerger
5a69b29082 - Warning fixes by Steph 2006-02-26 10:57:00 +00:00
Frank M. Kromann
5e673e0639 Fix build on win32 2006-02-04 23:54:21 +00:00
Dmitry Stogov
aa1142eded Fixed bug #36158 (SIGTERM is not handled correctly when running as a FastCGI server) 2006-02-03 16:30:09 +00:00
Dmitry Stogov
6a176fa7b3 AIX support 2006-02-02 09:59:23 +00:00
Dmitry Stogov
7e7fcc3a07 Reimplement FastCGI interface
Due to licensing restrictions that actually don't allow anybody to use
the libfcgi code without prior approval from Open Market, which is
impossible to obtain - we decided to reimplement this interface from
scratch.  The result is actually slightly faster, and more importantly,
clear of any copyright issues.
2006-02-02 08:17:23 +00:00
foobar
5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
Dmitry Stogov
5461b5a6b1 Fixed bug #34429 (Output buffering cannot be turned off with FastCGI) 2005-12-09 17:01:50 +00:00
foobar
bde40a73db MFH: fix possible compile error 2005-12-03 01:28:16 +00:00
Michael Wallner
496fd1c041 - sapi_header_op(SAPI_HEADER_(REPLACE|ADD), {NULL, 0, 0}) caused HTTP response splitting
- sapi_send_headers() already takes care of default_content_type (left over of fix for bug #29983)
2005-11-02 14:38:13 +00:00
Johannes Schlüter
d3dc0a39bc - MFH: Fix #34557 php -m exits with "error" 1 2005-10-06 20:29:41 +00:00
foobar
20241fe16a - 2004 -> 2005 2005-08-03 11:12:19 +00:00
Dmitry Stogov
8de3367453 Fixed support for shared extensions on AIX 2005-07-07 05:54:43 +00:00
Wez Furlong
43aa6922d3 Don't crash here if there are errors (such as failing to load extensions via
php.ini) during startup.
2005-06-16 14:54:51 +00:00
foobar
51eebc6096 cs + ws 2005-06-03 23:11:51 +00:00
foobar
a20383ba06 - Unify the "configure --help" texts 2005-05-29 23:17:16 +00:00
foobar
8c2cda1251 int != long 2005-04-28 14:23:57 +00:00
foobar
03bdd1a5d4 - Added fastcgi.logging php.ini option to be able to disable
logging through the fastcgi connection
2005-04-28 13:14:26 +00:00