summaryrefslogtreecommitdiffstats
path: root/usr.sbin/httpd/httpd.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove a limitation that only allowed to specify a server name once.reyk2014-09-051-1/+11
| | | | | | | | | The key has been changed to server name + address + port and now it is possible to use the same server name for multiple servers with different addresses, eg. http://www.example.com and https://www.example.com/. OK doug@ florian@
* Replace the code to get the FastCGI Status header with a proper way toreyk2014-09-011-1/+35
| | | | | | | parse and write the headers using the http response descriptor. This allows to add other tweaks, like support for chunked encoding, later. OK florian@
* Provide a failsafe version of the path_info() function that doesn'treyk2014-08-131-13/+18
| | | | | | | need a temporary path variable. Based on an initial diff from chrisz@. "Commit any failsafe version and I'm ok with it" chrisz@
* fix early loop termination in httpd path_info()chrisz2014-08-131-2/+2
| | | | | | | without this fix httpd always put at least the first path component in SCRIPT_NAME even when it did not exist. Now for completely non-existant paths everything goes into PATH_INFO.
* Improve logging to allow per- server/location log files. The logreyk2014-08-051-1/+7
| | | | | | | files can also be owned by root now: they're opened by the parent and send to the logger process with fd passing. This also works with reload. ok deraadt@
* add a config option to specify the chroot directoryjsg2014-08-051-1/+5
| | | | ok reyk@
* Add initial support for log files in /var/www/logs/. Logging withreyk2014-08-041-3/+57
| | | | | | syslog is still supported but disabled by default. ok deraadt@
* Implement PATH_INFO and add DOCUMENT_ROOT.reyk2014-08-041-1/+26
| | | | | | PATH_INFO was requested by naddy@ who successfully tested it with "cvsweb". ok naddy@
* httpd doesn't support SSL/TLS yet, remove the remaining bits.reyk2014-08-041-3/+1
| | | | The secrect plan is to add it later using the ressl wrapper library.
* spacingreyk2014-08-021-2/+2
|
* remove the global "log updates/all" option that came from relayd.reyk2014-08-011-4/+1
|
* bzero is over, memset is cool. pointed out by halex@reyk2014-07-261-2/+2
|
* Canonicalize the request path once without the docroot and prepend thereyk2014-07-251-11/+2
| | | | docroot only only when it's needed. Suggested by deraadt@.
* Add support for "virtual hosts" aka. server blocks aka. multiplereyk2014-07-251-1/+97
| | | | | | servers with the same or "overlapping" IP address but a different name. ok beck@
* Plug a memleak by correctly free'ing the HTTP descriptor that containsreyk2014-07-241-3/+1
| | | | all the headers etc. of a connection.
* When canonicalizing the path, it is better to fail on truncation.reyk2014-07-231-2/+6
| | | | Pointed out by Doug Hogan.
* I wanted to know if people pay attention.reyk2014-07-231-5/+2
| | | | Doug Hogan found an off-by-one. More improvements will follow.
* The media_encoding is not used in parse.y but stack garbage could leadreyk2014-07-231-1/+6
| | | | | | to a double free; set it to NULL. This should fix a problem that was found by deraadt@
* Add canonicalize_path() to canonicalize the requested URL path.reyk2014-07-231-1/+64
|
* Add support for media types (aka. MIME types): the types section isreyk2014-07-131-3/+78
| | | | | | compatible to nginx' mime.types file which can be included directly. If not present, use a few built-in defaults for html, css, txt, jpeg, gif, png, and js.
* Add httpd(8), an attempt to turn the relayd(8) codebase into a simplereyk2014-07-121-0/+737
web server. It is not finished yet and I just started it today, but the goal is to provide an HTTP server that a) provides minimal features, b) serves static files, c) provides FastCGI support, and d) follows common coding practices of OpenBSD. It will neither support plugins, nor custom memory allocators, EBCDIC support, PCRE or any other things that can be found elsewhere. httpd(8) is not intended to provide a fully-featured replacement for nginx(8) or the Apache, but it will provide enough functionality that is needed in the OpenBSD base system. ok deraadt@