| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
Diff by Matthias Pressfreund <mpfr @ fn de>. Thanks.
|
| |
|
|
| |
ok millert florian
|
| |
|
|
|
| |
from Ross L Richardson <openbsd AT rlr DOT id DOT au>, Thanks
ok claudio@
|
| |
|
|
|
|
|
| |
This came from a suggestion by Andras Farkas to replace use of
XHTML self-closing tags.
ok cwen@ danj@ florian@
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a new "dark mode" for httpd(8) directory listings and error pages,
using the prefers-color-scheme css function. It uses the colorscheme already
used in OpenBSD project websites.
This version will only be displayed if the user's browser specifically sends
a "prefer darker themes if available" request.
Input from florian@, danj@ and clematis.
OK florian@, danj@ (on a previous version with the wrong background color)
|
| |
|
|
|
|
|
|
|
| |
Sometimes you want to redirect a request to another site but maintaining
the same type of connection (http or https) as the original request.
Allow a $REQUEST_SCHEME variable to be used in redirect locations to
allow this, e.g.
location "/cgi-bin/foobar*" { block return 302 "$REQUEST_SCHEME://foobar.example.org$REQUEST_URI" }
|
| |
|
|
|
|
|
|
|
|
|
|
| |
section in the config, by moving the code down where the Host: header
has been read and the correct server configuration selected.
Note that it may not be that useful to have this option per server,
because it is valid to send requests with different Host: headers over
the same tcp connection.
problem noted and diff from Tracey Emery, thanks!
ok florian@
|
| |
|
|
| |
found by Clemens Goessnitzer, ok and prodded by florian@
|
| |
|
|
| |
OK deraadt
|
| |
|
|
|
|
|
|
| |
Add a QUERY_STRING_ENC macro that is URL encoded.
Patch from Tim Baumgartner
ok reyk
|
| |
|
|
|
|
|
|
| |
instead of the rewritten path and query string.
Patch from Tim Baumgard, reminded by Mischa Peters.
ok benno, reyk
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
by including the contents of the X-Forwarded-For and X-Forwarded-Port
headers. If httpd(8) runs behind a proxy like relayd(8), this allows
tracking the origin of the requests. The format is compatible with
log analyzers such as GoAccess and Webalizer.
Patch from Bruno Flueckiger
ok benno, reyk
|
| |
|
|
|
|
| |
in the same way as the http authenticated username is loged.
From Karel Gardas, gardask at gmail dot com, Thanks!
ok florian@
|
| |
|
|
|
|
| |
Very patiently pointed out repeatedly by Tracey Emery ( tracey AT
traceyemery.net ), thanks!
OK benno
|
| |
|
|
| |
from Hiltjo Posthuma (hiltjo(at)codemadness.org)
|
| |
|
|
| |
ok florian@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
date: 2018/10/01 19:24:09; author: benno; state: Exp; lines: +7 -1;
commitid: 0O8fyHPNvPd8rvYU;
Only send 408 Timeout responses when we have seen at least part of a
request. Without a request, just close the connection when we hit
request timeout.
Prompted by a bug report from Nikola Kolev, thanks.
ok reyk@ and some suggestions from claudio@ and bluhm@
Mark Patruck (mark AT wrapped DOT cx) found a problem with it, thanks
for the report.
ok reyk@ bluhm@ sthen@ deraadt@
|
| |
|
|
|
|
|
| |
request. Without a request, just close the connection when we hit
request timeout.
Prompted by a bug report from Nikola Kolev, thanks.
ok reyk@ and some suggestions from claudio@ and bluhm@
|
| |
|
|
|
|
|
|
| |
RFC 7230 states that a server MUST NOT do so.
At least relayd chokes on this.
Pointed out & diff by Carlin Bingham (cb AT walcyrge.org), thanks!
OK benno
|
| |
|
|
|
|
|
|
|
|
|
|
| |
For example:
location match "/page/(%d+)/.*" {
request rewrite "/static/index.php?id=%1&$QUERY_STRING"
}
Requested by many.
Ok benno@
|
| |
|
|
|
|
|
|
| |
Reported by Hidvegi Gabor gaborca websivision hu
Fix found by anton@
OK anton@
|
| |
|
|
|
|
|
|
|
|
| |
This fixes a bug in the macros and log file handler that
double-encoded the query. This does not change FCGI as it was already
handling the query correctly.
Additional verification of the QUERY_STRING should be implemented as well.
OK claudio@
|
| |
|
|
|
|
|
|
|
|
|
|
| |
connection and eventually stop answering queries because of file
descriptor starvation.
Problem reported by, minimal testcase provided and testing by trondd
_AT_ kagu-tsuchi.com, thanks!
Testing Nick Holland and millert
OK deraadt
|
| |
|
|
| |
ok sthen@ phessler@
|
| |
|
|
|
| |
"block return 401". Problem reported by Jurjen Oskam.
ok florian@
|
| |
|
|
|
| |
From Rivo Nurges Rivo.Nurges AT smit.ee, thanks!
OK reyk
|
| |
|
|
|
|
| |
Fix by Rivo Nurges, fixes a problem with Atlassian JIRA
OK benno@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure that the beginning of a new request starts with an
alphabetic character. This is a quick way to detect non-ASCII
requests (eg. TLS on port 80). The full validation of the request
method is done once the input line is read.
Make sure that non-terminated lines do not exceed the
SERVER_MAXHEADERLENGTH which is 8k. As the current read watermark is
set to 64k, this means that the limit check is triggered after max.
64k of input, depending on the TCP read buffer.
OK benno@ jsing@
|
| |
|
|
| |
Tested & OK jung@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous implementation loaded all the output into a single output
buffer and used its size to determine the Content-Length of the body.
The new implementation calculates the body length first and writes the
individual ranges in an async way using the bufferevent mechanism.
This prevents httpd from using too much memory and applies the
watermark and throttling mechanisms to range requests.
Problem reported by Pierre Kim (pierre.kim.sec at gmail.com)
OK benno@ sunil@
|
| |
|
|
|
|
| |
Introduce a new variable clt_headersdone in the async HTTP parser.
OK sunil@ benno@
|
| |
|
|
| |
ok reyk@
|
| |
|
|
|
|
|
|
|
| |
specification does not define any use for such a payload, future
extensions to HTTP might use the OPTIONS body to make more detailed
queries about the target resource." The future has arrived.
Found and tested by Michael Lechtermann
OK benno@
|
| |
|
|
|
|
|
|
|
| |
requests lacking "HTTP/<version>".
This makes it more obvious that httpd(8) does not attempt to support
HTTP v0.9 (circa 1991), when "GET <url>\r\n" was valid.
ok millert@ florian@
|
| |
|
|
|
|
| |
from Hiltjo Posthuma
"do." deraadt
|
| |
|
|
|
| |
Pointed out and diff by dhill, thanks!
Tweaks and same change for error documents by me.
|
| | |
|
| |
|
|
|
|
| |
to distinguish between http and https requests.
OK florian@ reyk@ a while ago
|
| | |
|
| |
|
|
| |
From Jan Schreiber
|
| |
|
|
| |
Ok gilles@, reyk@
|
| |
|
|
| |
From Michael McConville
|
| |
|
|
|
|
|
|
|
|
| |
srv_conf->auth in serverconfig_free() because it was not allocated in
config_getserver() but assigned as a reference by id from a global
list that is maintained independently. This fixes a potential
double-free. This fix also makes srv_conf->auth "const" to emphasize
that the read-only auth pointer was not allocated here.
OK jsing@
|
| |
|
|
|
|
|
| |
handling the HTTP methods in server_http.c which resulted in a 405
method not allowed error when trying to use it.
Fix by jaminh on github
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of u_intN_t) and replace u_int with unsigned int. Mixing both
variants is a bad style and most contributors seem to prefer this
style; it also helps us to get used to it, portability, and
standardization.
Theoretically no binary change, except one in practice: httpd.o has a
different checksum because gcc with -O2 pads/optimizes "struct
privsep" differently when using "unsigned int" instead "u_int" for the
affected members. "u_int" is just a typedef of "unsigned int", -O0
doesn't build the difference and clang with -O2 doesn't do it either -
it is just another curiosity from gcc-land.
OK semarie@
|
| |
|
|
|
|
|
|
|
|
| |
Strict-Transport-Security headers. Add __format__ attribute to
kv_set() and kv_setkey() to make it easier to spot such problems.
Found by and fix from Donovan Watteau <tsoomi -AT- gmail -DOT- com>,
thanks for your help.
ok deraadt@
|
| |
|
|
|
|
| |
we need more care to find a proper fix for the fastcgi headers.
acknowledged by deraadt@
|
| |
|
|
|
|
| |
parse it. Otherwise http headers can leak into the body.
Pointed out by Jean-Philippe Ouellet on bugs@ Thanks!
OK reyk, commit ASAP deraadt@
|