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
Glenn Strauss
05d20bcac2
[mod_webdav] compare COPY, MOVE Destination scheme
...
compare COPY, MOVE Destination scheme with request URI scheme
2019-01-22 01:04:23 -05:00
Glenn Strauss
b31e7840d5
[multiple] quiet clang --analyze where trivial
...
quiet clang --analyze warnings where trivial to do so
2019-01-21 18:05:10 -05:00
Glenn Strauss
a929de7ae5
[multiple] calloc match ptr type (clang --analyze)
2019-01-21 17:58:22 -05:00
Glenn Strauss
69d17e04cd
[mod_expire] look up expire fallback "" explicitly
...
equivalent to prior code, but more direct (legibile in code) to look up
empty string than to walk array. Might be marginally faster to walk
array when the list is short, but the lookup is also fairly quick in
that case, too.
2019-01-21 17:54:25 -05:00
Glenn Strauss
4608ddec2f
[build] autotools: try mysqlclient.pc and mariadb.pc ( fixes #2925 )
...
(thx helmut)
x-ref:
"autotools cross build failure with lighttpd"
https://redmine.lighttpd.net/issues/2925
2019-01-19 17:42:12 -05:00
Glenn Strauss
ce7b47c015
[core] systemd socket activation support
2019-01-19 17:42:08 -05:00
Glenn Strauss
5b0e27f8ad
[core] network_srv_sockets_append() shared code
2019-01-18 01:55:33 -05:00
Glenn Strauss
6b77372ae7
[core] move /dev/stdin graceful restart handling
...
move /dev/stdin graceful restart handling special-case up out of
network_server_init()
2019-01-18 00:16:55 -05:00
Glenn Strauss
b2ee667a3d
[core] move winsock init to network_init()
2019-01-13 23:56:54 -05:00
Stefan Bühler
9b7a32ea70
[doc/conf] resolve some mime type conflicts from debian buster, regenerate mime.conf
2019-01-13 15:26:27 -05:00
Glenn Strauss
a70cf6e5dc
[core] cache rev DNS for localhost for dir redir
2019-01-11 19:54:43 -05:00
Glenn Strauss
629b16f188
[core] send Connection: close if reqbody not read ( fixes #2924 )
...
send Connection: close if it is known that request body has not finished
being read and will not finish being read
x-ref:
"Suboptimal keep-alive handling when request body is not read"
https://redmine.lighttpd.net/issues/2924
2019-01-10 02:18:14 -05:00