Commit Graph

2974 Commits

Author SHA1 Message Date
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, 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

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")

  "Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension"
  "ACME TLS ALPN Challenge Extension" (TLS-ALPN-01)
  "Support for TLS-ALPN-01"
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)

  "autotools cross build failure with lighttpd"
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
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

  "Suboptimal keep-alive handling when request body is not read"
2019-01-10 02:18:14 -05:00
Glenn Strauss 96061c1e5e [mod_auth] permit additional auth backends to load
(For testing purposes, allow for all current auth module backends
 to be loaded and registered at the same time)
2019-01-10 02:14:00 -05:00
Glenn Strauss ed6b894127 [core] define MD5_DIGEST_LENGTH 16 2019-01-10 02:14:00 -05:00
Glenn Strauss e47ea5e2b0 [core] memeq compare rounded to 64, not next 1M 2019-01-10 02:14:00 -05:00
Glenn Strauss b541b67459 [core] use con->server_name for dir redir
use con->server_name for dir redir if con->server_name is not empty
and Host header not provided in request.
2019-01-10 02:14:00 -05:00
Glenn Strauss 81dfa7a8d2 [core] http_response_buffer_append_authority()
(shared code)
2018-12-30 14:40:25 -05:00
Glenn Strauss bceeac654e [core] use connected sock port in dir redirect 2018-12-30 14:35:13 -05:00
Glenn Strauss c2bd063ac4 [core] do not free() reused buffer 2018-12-30 14:25:21 -05:00
Glenn Strauss 8ed98ad089 [core] perf: reuse buffer to redirect to directory 2018-12-28 01:09:59 -05:00
Glenn Strauss 7d4ecd01e8 [core] perf: incremental hash of pathname w/o copy 2018-12-26 00:31:19 -05:00
Glenn Strauss a1077d18cb [tests] more test config cleanup 2018-12-18 00:08:46 -05:00
Glenn Strauss fe3dc17968 [mod_fastcgi] fix NULL ptr deref from bugfix #2922 (fixes #2923)
(thx rgenoud)

  "SIGSEGV on file upload"
2018-12-18 00:08:16 -05:00
Glenn Strauss a1b527e473 [multiple] reduce initial buffer sz if large POST (fixes #2922)
reduce initial buffer size if large POST to backend stored in temp files

regression in lighttpd 1.4.52

(thx rgenoud)

  "[regression] lighttpd gets killed after uploading a big file"
2018-12-12 20:00:07 -05:00
Glenn Strauss 4e6ef76406 [tests] update skip count in mod-fastcgi.t 2018-12-11 00:23:49 -05:00
Glenn Strauss 07517ff30a [tests] some test config cleanup
including limiting use of php in tests to mod-fastcgi.t
2018-12-10 22:36:23 -05:00
Glenn Strauss f03e5e239d [tests] t/test_keyvalue
create t/test_keyvalue to replace sparse tests in
  tests/mod-redirect.t and tests/mod-rewrite.t
remove tests/mod-redirect.t and tests/mod-rewrite.t
2018-12-10 22:36:23 -05:00
Glenn Strauss dd11144bc8 [core] use kill_signal for gw_proc_kill()
After 4 seconds, send kill() every second while waiting for child to exit.

Send host->kill_signal for next 4 seconds, then send SIGTERM (usually same
as host->kill_signal) for following 8 seconds, and finally send SIGKILL
each second after that, until the child process dies.

github: closes #94
2018-12-10 22:36:23 -05:00
Glenn Strauss c2a9692e78 [tests] include first.h and NDEBUG early 2018-12-03 23:03:04 -05:00
Glenn Strauss 5a32d0f72a [mod_access] t/test_mod_access
create t/test_mod_access to test mod_access basic logic
remove tests/mod-access.t
2018-12-03 23:03:04 -05:00
Glenn Strauss ddf95741b5 [mod_access] restructure for unit tests 2018-12-03 23:03:04 -05:00