Commit Graph

138 Commits

Author SHA1 Message Date
Sascha Schumann
e3831c2ef5 Add "log to stdout" feature 2003-02-11 00:58:54 +00:00
Sascha Schumann
ba32a619ae use SUCCESS/FAILURE instead of 0/-1 2003-02-09 21:15:55 +00:00
Sascha Schumann
ebedf060a5 Fix POST handling once and for all. The daemon now never blocks and handles
uploads of up to 2GB on 32 bit platforms.

Uploads >16KB are put into a file-backed mmap area.

SG(request_info).content_type got corrupted somewhere. As a workaround,
we provide SAPI with a duplicate of the original string.
2003-01-17 18:53:22 +00:00
Sebastian Bergmann
2c5d4b8c23 Bump year. 2002-12-31 15:59:15 +00:00
Sascha Schumann
95fead0b9f add missing line 2002-11-29 11:34:08 +00:00
Sascha Schumann
09f463ddae Add sapi_get_fd() and implement it for the Apache/thttpd SAPIs. 2002-11-26 05:15:55 +00:00
Sascha Schumann
a8136b4dba Defend against pipelined requests on persistent connections as used by
IRCG. These could cause thttpd to start a second request in the same
connection context, and thereby causing real damage.

Mozilla 1.0.1 is buggy in that context: When HTTP/1.1 pipelining is
enabled (defaults to off), it will send any number of requests over
a persistent connection (which is fine), even after it has received
a "Connection: close" header field in a subsequent response header.
This blatantly violates RFC 2616, section 8.1.2. Because it cannot
receive any response on the dead connection, the download manager
pops up and tries to download a file (which never arrives).

Also, we don't try to send a 400 message anymore, if the connection
dies.
2002-11-10 15:21:13 +00:00
Sascha Schumann
f2f443f066 s/PHP_API/PHP_API_VERSION/ 2002-11-08 13:29:32 +00:00
Sascha Schumann
8d25447f30 let this source file compile with php 4.2.x 2002-11-07 11:56:02 +00:00
Sascha Schumann
eb0141913c Add two missing entries 2002-11-07 11:38:03 +00:00
Sascha Schumann
10a861f93c - use TCP_DEFER_ACCEPT
- don't timeout connections which are managed by IRCG
- don't generate invalid HTTP replies, if the client did not send a
  request line yet
2002-11-06 17:31:03 +00:00
Sascha Schumann
082d9c4936 Simplify handler dispatching mechanism 2002-11-01 11:51:35 +00:00
Sascha Schumann
1a7a5b3982 Add missing return statement. 2002-11-01 11:44:50 +00:00
Sascha Schumann
1d2eb7c485 update 2002-11-01 11:41:08 +00:00
Sascha Schumann
7d504b230c improve host header checking, only affects systems which have virtual
hosting enabled
2002-11-01 11:40:26 +00:00
Sascha Schumann
55879b3543 first step towards asynchronous content body processing 2002-10-30 19:09:49 +00:00
Sascha Schumann
ed15104099 s/-// 2002-10-26 22:27:45 +00:00
Sascha Schumann
40b93fa16d add phppat/phpspat configuration file support and
fix some indention
2002-10-26 22:22:34 +00:00
Sascha Schumann
e077e0debe update and extend 2002-10-26 22:22:07 +00:00
Sascha Schumann
7a0850a344 Fix build and .phps support 2002-10-26 21:06:10 +00:00
Sascha Schumann
01bdc2e369 experimental .phps support 2002-10-26 20:55:41 +00:00
Sascha Schumann
c46ed2114e not sure what this async_send is doing in here, so relieve it from its duty. 2002-10-26 20:45:35 +00:00
Sascha Schumann
7b3bea0b41 Donate "Fast Accept Loop" from Premium thttpd which speeds up processing
new connections when the connection table contains lots of entries.
2002-10-26 19:41:27 +00:00
Sascha Schumann
467fea036a Donate "Periodic Connection Expiring" from Premium thttpd, because
it is simple and gives a +40% improvement in terms of requests/s
when serving static files.
2002-10-26 18:14:45 +00:00
Sascha Schumann
b9135d74e9 some system headers (irix) define sa_len
prefix sa_len with x
2002-10-26 15:47:22 +00:00
Sascha Schumann
0a80a78670 thttpd initializes contentlength to -1, so we need to transfer that to 0
for SAPI/PHP.  Otherwise, SAPI will try to read (unsigned long) -1 bytes
from the connection.
2002-10-25 01:10:50 +00:00
Sascha Schumann
47a1421d89 Redo the patch on Linux, the cygwin diff seems to be a bit broken. 2002-10-13 11:54:08 +00:00
Sascha Schumann
356f7503fa PHP + thttpd (+IRCG) build using CYGWIN now 2002-10-13 11:50:16 +00:00
Sascha Schumann
4f61b16768 Remove set .x 2002-10-13 11:28:34 +00:00
Sascha Schumann
240cdb743e Use if block rather than an or expression 2002-10-13 11:28:06 +00:00
Sascha Schumann
1f18eaadee Force /nocache/ entities to be delivered completely, even if a
broken proxy ignores our anti-cache headers and sends an IMS request.
2002-09-23 15:41:44 +00:00
Sascha Schumann
625e7b202b Use generic getnameinfo for address-to-name translation, if available.
This adds support for IPv6 addresses.
2002-09-23 00:49:12 +00:00
Sascha Schumann
c74f96333f Immediately unmap /nocache/ entries, so that the mmc cache does not get
polluted too much.
2002-09-21 17:23:15 +00:00
Zeev Suraski
76312b4508 another startup initialization fix - only ISAPI and CGI SAPI's tested,
minor compile buglets might occur in other SAPIs, but should be trivial
to fix...
2002-09-18 21:57:42 +00:00
Sascha Schumann
8fd3f14ab1 Fix segfault due to unchecked null pointer 2002-07-26 16:16:12 +00:00
Sascha Schumann
1326c95b29 refine 2002-07-16 16:24:15 +00:00
Sascha Schumann
fa3d840cd1 integrate the public keep-alive patch
the patch did not handle pipeling at all, so that some code had to be added
from Premium thttpd

persistent connections are supported, if a script sets the Content-Length
header
2002-07-14 18:01:08 +00:00
Sascha Schumann
b4c28fba7f thttpd blocks in rare circumstances where it cannot write out a small HTTP
response (happened at customer sites).  The response is now written out
using the standard state machine.

the buffer which is handed to thttpd by php is now simply dealt with as if
it were a thttpd generated response (avoids code duplication).
2002-07-14 13:48:46 +00:00
Sascha Schumann
402cc031cd make the sapi module hand off a buffer to thttpd for final data delivery,
instead of blocking the whole process
2002-07-14 13:10:34 +00:00
Sascha Schumann
d7edeee55f Improve readability of the header send function 2002-05-17 21:22:30 +00:00
Sascha Schumann
a643a467e3 Add a note regarding which version we support 2002-03-11 12:28:16 +00:00
Sascha Schumann
9d9d39a0de Please welcome the new build system.
If you encounter any problems, please make sure to email sas@php.net
directly.

An introduction can be found on

http://schumann.cx/buildv5.txt
2002-03-07 14:20:02 +00:00
Sascha Schumann
5c2d995f0b Provide access to ini settings.
Properly block the thread, if IO is not ready on a fd.
2001-12-13 11:15:56 +00:00
Sebastian Bergmann
38933514e1 Update headers. 2001-12-11 15:32:16 +00:00
Sascha Schumann
92a6f2c344 Sent proper encodings for gzip/compress files, otherwise IE won't
display them.

Refer to section 3.5, RFC 2616 -- these are IANA registered.

Patch submitted to author.
2001-12-10 14:09:08 +00:00
Sascha Schumann
ef72a765bf Add a nocache feature: If documents are stored under /nocache/,
appropiate HTTP headers will be sent which prevent client/proxy caching.
2001-12-10 13:31:41 +00:00
foobar
f43b57190c Added missing cvs ids and unified configure messages. 2001-11-30 19:01:32 +00:00
Sascha Schumann
1f6f91035e Get rid of post_off-hack which was only suitable for POST data
which fit into the small thttpd read buffer.  Do a small recv
after content-length bytes have been read to accomodate non-conforming
user-agents.
2001-10-27 12:08:10 +00:00
Sascha Schumann
a3368ababa Improved handling of posts 2001-10-27 11:27:39 +00:00
Sascha Schumann
49b44d537f Make the information available whether we are using HTTP/1.1 2001-10-09 15:15:55 +00:00