Glenn Strauss
3e200717cc
[mod_openssl] inherit cipherlist from global scope
...
inherit cipherlist from global scope if not set in $SERVER["socket"]
2019-03-07 00:32:17 -05:00
Glenn Strauss
1542e44bb7
[core] use openssl to read,discard request body
...
use openssl to read,discard request body after response has been sent
on a TLS connection, at least until SSL close notify has been sent
x-ref:
"HTTPS POST upload hangs when i reach maximum supported request size"
https://redmine.lighttpd.net/boards/2/topics/8491
2019-03-07 00:32:14 -05:00
Glenn Strauss
fca9e5a0b1
[core] prefer memchr() over strchr()
2019-02-17 19:51:12 -05:00
Glenn Strauss
fc914ae442
[core] map FDEVENT_* to OS system event frameworks
...
(avoid need to translate event flags between OS and lighttpd FDEVENT_*)
2019-02-17 18:35:05 -05:00
Stefan Bühler
9232145024
[core] poll: fdarray uses fd as index, not fde_ndx
2019-02-16 11:26:50 +01:00
Stefan Bühler
1bd1d559b5
[core] don't call fd event handlers more than once, they might already be gone (fixes segfault)
2019-02-16 10:52:49 +01:00
Glenn Strauss
f5f221eda8
[core] dispatch events from within event framework
...
event framework now calls interface to dispatch events rather than
itself implementing multiple interfaces for fdevent_process() to
be able to dispatch events generically.
2019-02-13 21:34:59 -05:00
Glenn Strauss
9459c05468
[core] fix mixed use of srv->split_vals array ( fixes #2932 )
...
regression in mod_evhost in lighttpd 1.4.53
regression in mod_flv_streaming in lighttpd 1.4.51 - lighttpd 1.4.53
(thx moisseev)
x-ref:
"[regression] %0 pattern does not match hostnames without the domain part"
https://redmine.lighttpd.net/issues/2932
2019-02-13 19:54:22 -05:00
Glenn Strauss
13f957d283
[core] simpler loops to run plugin hooks
2019-02-13 02:07:53 -05:00
Glenn Strauss
c38eddfc29
[core] skip plugins_call_cleanup if not init'ed
2019-02-13 00:42:23 -05:00
Glenn Strauss
b1a9f335c6
[core] connection_handle_write() updates con state
...
(return value was always 0, so remove checks for other values)
2019-02-12 23:00:26 -05:00
Glenn Strauss
4713b6a61c
[core] con->is_ssl_sock
...
flag to indicate if socket protocol is TLS
(future use: will be needed with connection upgrade to https; not impl)
2019-02-12 22:51:17 -05:00
Glenn Strauss
d28bac32fe
[multiple] reduce code dup in list resizing
...
reduce code duplication in list resizing
realloc() of NULL ptr has behavior similar to malloc()
Note that if initial size == 0, then code used to adjust size
must be += x to ensure the size is non-zero for reallocation.
(Multiplying 0 * x, e.g. power-2 resizing, will result in 0.)
2019-02-12 22:36:04 -05:00
Glenn Strauss
31b546e367
[core] fix gw_backend spelling of directive in err
...
fix gw_backend spelling of bin-path directive in error message
2019-02-11 11:53:07 -05:00
Glenn Strauss
74b18c385c
[core] no keep-alive if POLLRDHUP,empty read queue
...
send Connection: close if POLLRDHUP received and read queue is empty
2019-02-10 22:15:59 -05:00
Glenn Strauss
9948537721
[core] discard oversized trailers
...
x-ref:
"PVS-Studio Analysis Results"
https://redmine.lighttpd.net/boards/3/topics/8459
http://www.fly-server.ru/pvs-studio/lighttpd/
2019-02-10 20:47:19 -05:00
Glenn Strauss
b2c18f480d
[mod_auth] minor: adjust config validation
...
x-ref:
"PVS-Studio Analysis Results"
https://redmine.lighttpd.net/boards/3/topics/8459
http://www.fly-server.ru/pvs-studio/lighttpd/
2019-02-10 20:47:19 -05:00
Glenn Strauss
25bb4406fa
[mod_deflate] honor request for x-gzip, x-bzip2
...
honor request for x-gzip, x-bzip2 if gzip, bzip2 not requested
x-ref:
"PVS-Studio Analysis Results"
https://redmine.lighttpd.net/boards/3/topics/8459
http://www.fly-server.ru/pvs-studio/lighttpd/
2019-02-10 20:47:19 -05:00
Glenn Strauss
859c9ae586
[multiple] minor: remove duplicated conditions
...
x-ref:
"PVS-Studio Analysis Results"
https://redmine.lighttpd.net/boards/3/topics/8459
http://www.fly-server.ru/pvs-studio/lighttpd/
2019-02-10 20:26:58 -05:00
Glenn Strauss
daa5f7c576
[mod_accesslog] attempt to reconstruct req line
...
cease http_request_parse_reqline() unconditionally copying request line,
as request line is currently used only by mod_accesslog 'r' format
2019-02-10 03:10:11 -05:00
Glenn Strauss
950832af67
[core] RFC7230 HTTP-version parse
2019-02-10 02:57:09 -05:00
Glenn Strauss
9149b56418
[core] get_http_method_key() match by strlen first
2019-02-09 16:16:20 -05:00
Glenn Strauss
b9a37291cb
[core] lift code out of request line parse loop
2019-02-09 15:48:05 -05:00
Glenn Strauss
e5d61e9a5f
[core] http_request_parse() mark error paths cold
2019-02-09 14:30:00 -05:00
Glenn Strauss
e0a35b75c0
[core] mark log_error_write*() funcs cold
2019-02-09 00:06:10 -05:00
Glenn Strauss
23b0d867c5
[core] replace con->response.keep_alive
...
set con->keep_alive = 0 to indicate backend request to close connection
2019-02-08 23:18:36 -05:00
Glenn Strauss
25185d1de0
[core] pass req hdrs buffer to http_request_parse
2019-02-08 22:49:46 -05:00
Glenn Strauss
7493d628b9
[core] prefer buffer_caseless_compare()
...
prefer buffer_caseless_compare() to strcasecmp()
2019-02-08 22:49:46 -05:00
Glenn Strauss
7f8fd8ad09
[core] make parse_request,request.request same buf
2019-02-08 22:49:46 -05:00
Glenn Strauss
d7ad5819e6
[core] copy request only if might need for logging
...
copy request header only if we may need to log it upon error
2019-02-08 22:49:46 -05:00
Glenn Strauss
a620f80b77
[core] log_request_header_on_error in one place
2019-02-08 22:49:46 -05:00
Glenn Strauss
9ab5469365
[core] parse request in connection_read_header()
2019-02-08 22:49:46 -05:00
Glenn Strauss
8426b94161
[core] perf: optimize connection_read_header()
2019-02-07 01:17:47 -05:00
Glenn Strauss
21afabb8f8
[core] helper funcs for connection_state_machine()
...
carve connection_state_machine() into separate functions per state
2019-02-04 21:50:53 -05:00
Glenn Strauss
9e55fd72b5
[core] quickly clear request buffer for reuse
2019-02-04 20:00:47 -05:00
Glenn Strauss
79aa8613e1
[core] store joblist pointer on stack
2019-02-04 19:59:51 -05:00
Glenn Strauss
b8532fe073
[mod_staticfile] search ext array if not empty
2019-02-04 03:01:33 -05:00
Glenn Strauss
c8f9658536
[core] remove server.h
2019-02-04 03:01:33 -05:00
Glenn Strauss
aa2d0fb087
[core] srv->max_fds_lowat and srv->max_fds_hiwat
2019-02-04 03:01:33 -05:00
Glenn Strauss
653b0dac7c
[core] fdevent_process()
...
process fdevents in fdevent.c
2019-02-04 03:01:33 -05:00
Glenn Strauss
aa34dfd32b
[core] some server_main_loop() cleanup
2019-02-04 02:25:48 -05:00
Glenn Strauss
fb9b8ad8ae
[core] mark startup/shutdown funcs cold
2019-02-04 02:25:48 -05:00
Glenn Strauss
413c0e557e
[core] separate server_main_loop() func, mark hot
...
move server main loop into separate func and mark hot
separate funcs for signal handling
2019-02-04 02:25:48 -05:00
Glenn Strauss
142e54b2a8
[mod_evhost] handle IPv6 literal addr; add tests
2019-02-02 18:40:47 -05:00
Glenn Strauss
40ded06b08
- next is 1.4.54
2019-01-27 04:47:20 -05:00
Glenn Strauss
4d3447fd44
[doc] NEWS
2019-01-26 23:58:59 -05:00
Glenn Strauss
2769f19ad3
[mod_openssl] ssl.privkey directive (optional)
...
ssl.privkey can be used to specify path to file containing private key
in lieu of concatenating certificate and private key into single .pem
2019-01-26 17:22:43 -05:00
Martin Storsjö
3ac7764cfe
[core] Fix recursive include_shell invocations
...
When the output of include_shell calls include_shell itself,
that second invocation must not truncate the buffer used for the
outer include_shell.
This might sound like a pathological setup in itself, but with
e.g. debian's include-conf-enabled.pl, which outputs a list of
include statements for all files in /etc/lighttpd/conf-enabled,
if any of the *.conf files in that directory invokes include_shell,
the parsing of the rest of the files in that directory is effectively
aborted.
This fixes a regression since commit
a46bc4f5de
in such setups.
github: closes #95
2019-01-26 16:30:23 -05:00
Glenn Strauss
b17d3c2407
[mod_openssl] ALPN and acme-tls/1 ( fixes #2931 )
...
ssl.acme-tls-1 = "/path/to/dir" containing .crt.pem and .key.pem
named with the SNI name ("<SNI>.crt.pem" and "<SNI>.key.pem")
x-ref:
"Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension"
https://tools.ietf.org/html/rfc7301
"ACME TLS ALPN Challenge Extension" (TLS-ALPN-01)
https://tools.ietf.org/html/draft-ietf-acme-tls-alpn-05
"Support for TLS-ALPN-01"
https://redmine.lighttpd.net/issues/2931
2019-01-25 03:04:16 -05:00
Glenn Strauss
f77cfe7ca8
[core] con->uri.scheme is maintained lowercase
...
con->uri.scheme is maintained lowercase "http" or "https"
so scheme string comparisons need not be case-insensitive
2019-01-22 01:42:39 -05:00