Commit Graph

2888 Commits (599b4f05c8ccebd0c06074972824b930afc9c832)
 

Author SHA1 Message Date
Glenn Strauss 599b4f05c8 [core] fix 1.4.52 regression in mem use with POST (fixes #2948)
(thx rgenoud)

x-ref:
  "[regression][Bisected] lighttpd uses way more memory with POST since 1.4.52"
  https://redmine.lighttpd.net/issues/2948
4 years ago
Glenn Strauss e757978497 [core] remove repeated slashes in http-parseopts
remove repeated slashes in server.http-parseopts
with url-path-dotseg-remove, including leading "//"

(prior to this patch, leading "//" was skipped)
4 years ago
Glenn Strauss 32120d5b8b [core] fix abort in http-parseopts (fixes #2945)
fix abort in server.http-parseopts with url-path-2f-decode enabled

(thx stze)

x-ref:
  "Security - SIGABRT during GET request handling with url-path-2f-decode enabled"
  https://redmine.lighttpd.net/issues/2945
4 years ago
Glenn Strauss 107fa1f282 [mod_wstunnel] fix ping-interval for big-endian (fixes #2944)
fix wstunnel.ping-interval for big-endian architectures

(thx ste_p_james)

x-ref:
  "[patch] wstunnel.ping-interval ineffective"
  https://redmine.lighttpd.net/issues/2944
4 years ago
Glenn Strauss b135b4d24d [core] clear FDEVENT_RDHUP if no POLLRDHUP
(fix for poll() on FreeBSD 11)
4 years ago
Glenn Strauss f2ac4cdfc5 [core] off_t upload_temp_file_size 4 years ago
Glenn Strauss a78404cfbf [core] fdevent_mkstemp_append() (shared) 4 years ago
Glenn Strauss 97d4c11ba6 [core] __attribute__((fallthrough)) for GCC 7.0 4 years ago
Glenn Strauss 1f7afa9c70 [doc] minor adjust create-mime.conf.pl regex match (#2942)
'-' in char class should be at beginning or end, or escaped with \-
so that it does not signify a char range in the char class

(In the prior regex, the misuse permitted matching the comma char,
which while mostly harmless, was not what was intended)

x-ref:
  "incorrect behaviour of create-mime.assign.pl"
  https://redmine.lighttpd.net/issues/2942
4 years ago
Glenn Strauss f60f1a279e [core] extend dir redirection to take HTTP status
extend http_response_redirect_to_directory to take HTTP status code
and to set Location if HTTP status >= 300, or else set Content-Location
4 years ago
Glenn Strauss 5440f04e8a [core] fix assertion with server.error-handler (fixes #2941)
(thx andpr)

x-ref:
  "failed assertion on incoming bad request when server.error-handler option is used"
  https://redmine.lighttpd.net/issues/2941
4 years ago
Glenn Strauss 37bd124ae4 [core] pass conf.follow_symlink in more places 4 years ago
Glenn Strauss 2f46736edc [build] remove -Wdeclaration-after-statement
Declarations after statements has been permitted since C99.
(That was 20 years ago!)
4 years ago
Glenn Strauss 8064b7483a [mod_magnet] fix invalid script return-type crash (fixes #2938)
(thx flynn)

x-ref:
  "Lighttpd crashes on wrong return type in lua script"
  https://redmine.lighttpd.net/issues/2938
4 years ago
Glenn Strauss 78f24ba141 [core] silence coverity warning 4 years ago
Glenn Strauss b9e2be50c9 [mod_auth] HTTP Auth Digest algorithm=SHA-256
(also support Digest algorithm=SHA-512-256 if library support present)

enable additional algorithms by configuring lighttpd.conf auth.require
with new optional keyword "algorithm" => "MD5|SHA-256"

default algorithm remains MD5 if "algorithm" not specified

Tested with: curl --digest -u "user:pass" ... (which supports SHA-256)

x-ref:
  "HTTP Digest Access Authentication"
  https://tools.ietf.org/html/rfc7616
4 years ago
Glenn Strauss 1fb0d7e295 [core] no SOCK_NONBLOCK on QNX 7.0
QNX 7.0 has SOCK_CLOEXEC but not SOCK_NONBLOCK

(thx supergaute)

github: closes #98

x-ref:
  "Fix compile error when system has SOCK_CLOEXEC but not SOCK_NONBLOCK"
  https://github.com/lighttpd/lighttpd1.4/pull/98
4 years ago
Glenn Strauss 28895ab297 [mod_auth] pass http_auth_require_t for 401 Unauth
pass (http_auth_require_t *) to mod_auth_send_401_unauthorized_digest()
for configured digest algorithms for 401 Unauthorized
4 years ago
Glenn Strauss 60f4cf3ad8 [mod_auth] http_auth_info_t digest abstraction 4 years ago
Glenn Strauss 07fef25867 [mod_auth] http_auth_digest_hex2bin()
replace http_auth_md5_hex2bin() with more generic function to handle
digests of different lengths
4 years ago
Glenn Strauss 9113011d5b [core] pass (fdnode *) for registered fdevent fd
inline fdevent_fdnode_interest()
avoid array lookup for (fdnode *) for various ops
4 years ago
Glenn Strauss 0e108390e5 [core] modify config parser to handle multiple }
modify config parser to handle multiple '}' on same line
4 years ago
Glenn Strauss d76756ca10 [core] perf: pass (fdnode *) to epoll and kqueue 4 years ago
Glenn Strauss c83fff1dda [core] release empty chunk buf when nothing read 4 years ago
Glenn Strauss 41384a3657 [core] isolate fdevent processing 4 years ago
Glenn Strauss 1a99aad1c0 [core] pull server load checks out of main loop 4 years ago
Glenn Strauss 99f8ae0d0d [mod_openssl] use 16k static buffer instead of 64k
better match size used by openssl
(avoid unused, oversized reads)
4 years ago
Glenn Strauss 4e6e787a0d [core] remove redundant check for allow_http11
(conf.allow_http11 is handled in http_response_prepare())
4 years ago
Glenn Strauss 800e9b7349 [core] remove fde_ndx member outside fdevents
(isolated to fdevent framework internals)
4 years ago
Glenn Strauss 0a46f7ec23 [core] some fdevent code streamlining
isolate fde_ndx to fdevent framework internals
4 years ago
Glenn Strauss 8441c9e8e8 [core] config option to allow GET w/ request body
server.http-parseopts = ( "method-get-body" = "enable" )
4 years ago
Glenn Strauss 8167497899 [mod_proxy] pass Content-Length to backend if > 0
pass Content-Length to backend if > 0, even if GET or HEAD method
(and pass Content-Length: 0 for other methods if no request body)
4 years ago
Glenn Strauss 8efa6a34f4 [mod_openssl] default: ssl.cipher-list = "HIGH" 4 years ago
Glenn Strauss 3e200717cc [mod_openssl] inherit cipherlist from global scope
inherit cipherlist from global scope if not set in $SERVER["socket"]
4 years ago
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
4 years ago
Glenn Strauss fca9e5a0b1 [core] prefer memchr() over strchr() 4 years ago
Glenn Strauss fc914ae442 [core] map FDEVENT_* to OS system event frameworks
(avoid need to translate event flags between OS and lighttpd FDEVENT_*)
4 years ago
Stefan Bühler 9232145024 [core] poll: fdarray uses fd as index, not fde_ndx 4 years ago
Stefan Bühler 1bd1d559b5 [core] don't call fd event handlers more than once, they might already be gone (fixes segfault) 4 years ago
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.
4 years ago
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
4 years ago
Glenn Strauss 13f957d283 [core] simpler loops to run plugin hooks 4 years ago
Glenn Strauss c38eddfc29 [core] skip plugins_call_cleanup if not init'ed 4 years ago
Glenn Strauss b1a9f335c6 [core] connection_handle_write() updates con state
(return value was always 0, so remove checks for other values)
4 years ago
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)
4 years ago
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.)
4 years ago
Glenn Strauss 31b546e367 [core] fix gw_backend spelling of directive in err
fix gw_backend spelling of bin-path directive in error message
4 years ago
Glenn Strauss 74b18c385c [core] no keep-alive if POLLRDHUP,empty read queue
send Connection: close if POLLRDHUP received and read queue is empty
4 years ago
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/
4 years ago
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/
4 years ago