Age | Commit message (Collapse) | Author |
|
The HTTP request parser has been mostly rewritten, and now it is able to
parse header lines. This makes it possible to get the cookie string from
the request and pass it to CGI scripts, which was needed for the cflip
forum to retain login status.
It is now possible to run the forum through cfws, log in and submit
threads and posts!
|
|
Now if the server encounters an executable file that doesn't have a .php
extension, it will run it as a CGI script. There should maybe be better
heuristics for determining whether a file actually is a CGI script
(sometimes files copied from Windows can be marked as executable) but
this works for now.
|
|
|
|
|
|
This makes it possible to both read from and write to the standard I/O
in php-cgi so that the request body can be written to its stdin and the
script can access POST request data.
Unfortunately, this isn't quite enough for the user login on the cflip
forum to work, since cookies (and other HTTP headers) aren't passed to
the script yet.
|
|
This prevents an issue where the previous query string would persist on
requests without a query string.
|
|
|
|
php-cgi is now run without any command line arguments and information
such as the script filename and the query string are passed in via
environment variables.
|
|
This makes it possible to load image files, and doesn't spam write() as
much.
|
|
This new strategy involves finding the local file path for the given
URI, determining what method to use to fulfill the request (read file
from disk, use php-cgi, or error), then it writes the response to the
client socket.
|
|
The most significant change is that the functions for reading a file and
such write directly to the socket instead of attempting to fill buffers.
|
|
|