Commit Graph

2811 Commits (40ded06b083e15930aedacdf544f8b0a0d99eed2)
 

Author SHA1 Message Date
nicorac 3d257ec3a9 [core] fix build --disable-ipv6 (fixes #2832)
x-ref:
  "Build error on systems without IPV6 support (regression from 1.4.46)"
  https://redmine.lighttpd.net/issues/2832

github: closes #87
6 years ago
Marco Angaroni 3faf042847 [mod_webdav] fix crash if stat fails, not ENOENT
fix crash in mod_webdav_subrequest_handler_huge()
when stat_cache_get_entry() returns HANDLER_ERROR
but errno is not ENOENT

x-ref:
  "fix crash in mod_webdav_subrequest_handler_huge()"
  https://github.com/lighttpd/lighttpd1.4/pull/86

github: closes #86
6 years ago
Glenn Strauss 6a17133a75 - next is 1.4.48 6 years ago
Glenn Strauss f558fc9735 [doc] NEWS 6 years ago
Glenn Strauss 875e339faf [core] fix 1.4.46 regression in Last-Modified
fix 1.4.46 regression in Last-Modified string cache

(thx avij)

x-ref:
  "Oversized request-header"
  https://redmine.lighttpd.net/boards/2/topics/7686
6 years ago
Glenn Strauss 0c1aed55d5 [doc] use https:// URLs to .lighttpd.net resources 6 years ago
Glenn Strauss f5ff2a011d [core] normalize config addrs for eq and ne (#2830)
address strings need to have DNS resolved and port added
for consistency when matching other config conditionals

x-ref:
  "1.4.46 regression: $SERVER["socket"] matches when it shouldn't"
  https://redmine.lighttpd.net/issues/2830
6 years ago
Glenn Strauss 3549fc8280 [core] normalize config addrs for != match (#2830)
address strings need to have DNS resolved and port added
for consistency when matching other config conditionals

x-ref:
  "1.4.46 regression: $SERVER["socket"] matches when it shouldn't"
  https://redmine.lighttpd.net/issues/2830
6 years ago
Glenn Strauss 585206616d [core] fix 1.4.46 regression in config match (fixes #2830)
address strings need to have DNS resolved and port added
for consistency when matching other config conditionals

x-ref:
  "1.4.46 regression: $SERVER["socket"] matches when it shouldn't"
  https://redmine.lighttpd.net/issues/2830
6 years ago
Glenn Strauss 60b5826849 [core] stricter validation of request-URI begin
check that request-URI begins with '/', "http://", "https://",
or is OPTIONS * request, or else reject with 400 Bad Request unless
server.http-parseopt-header-strict  = "disable" (default is enabled)

x-ref:
  https://redmine.lighttpd.net/boards/3/topics/7637
6 years ago
Glenn Strauss 6be68f569f [mod_authn_gssapi] needs -lcom_err under Darwin 6 years ago
Glenn Strauss 5780d6cc58 - next is 1.4.47 6 years ago
Glenn Strauss f07bcb145c [doc] NEWS 6 years ago
Glenn Strauss 3f2561dec5 [core] translate DNS to IP str for cond socket cmp
translate DNS to IP string for conditinal socket comparison
in lighttpd.conf for $SERVER["socket"] == ...
6 years ago
Glenn Strauss 168f67a1b1 [core] perf: more efficient fdevent_sched_run()
perf: more efficient fdevent_sched_run() over fds pending close
6 years ago
Glenn Strauss cddc481411 [core] reproducible build: hide __DATE__ __TIME__ (fixes #2828)
reproducible build: hide __DATE__ __TIME__ unless compiled with
-DNONREPRODUCIBLE_BUILD

x-ref:
  "Reproducible builds"
  https://redmine.lighttpd.net/issues/2828
6 years ago
Stefan Bühler 0fcd756766 [cmake] link mod_cml with memcached 6 years ago
Stefan Bühler c7c106c3c0 [cmake] fix attr header detection and linking 6 years ago
Stefan Bühler 4634a05c0d [cmake] handle WITH_WEBDAV_LOCKS option 6 years ago
Glenn Strauss 41eb4d323c [core] adjust parser for valid variable expansion
adjust config parser for valid variable expansion
Return only the value when a variable is expanded so that the
array element keeps its state as value-only or part of key-value

(thx nicorac)

x-ref:
  "https://redmine.lighttpd.net/boards/2/topics/7600"
6 years ago
Glenn Strauss 77bdaa3a93 [mod_openssl] ssl.read-ahead="disable" by default
set ssl.read-ahead = "disable" by default (modifies commit f4e1357d)

Given various reports from users of embedded systems, the default is
being changed to do the sane thing for these systems.  This is the
right setting on slow embedded systems for which decoding SSL input
is slower than receiving that input over the network.

On the other hand, for faster systems, ssl.read-ahead = "enable" is
recommended for a slight performance gain and should be explicitly set
in the global or $SERVER["socket"] configuration blocks in lighttpd.conf

x-ref:
  "https POST requests buffered in RAM since v1.4.41?"
  https://redmine.lighttpd.net/boards/2/topics/7520
6 years ago
Glenn Strauss 7f82ddab3f [core] remove fdevent_sched_run from fdevent_libev (#2827)
remove fdevent_sched_run from fdevent_libev.c
(redundant since commit 8ed588ce)

x-ref:
  "POST to mod_cgi sometimes hangs"
  https://redmine.lighttpd.net/issues/2827
6 years ago
fbrosson 9b0e095c9f [core] add back REQUEST_SCHEME for backends
x-ref:
  "[core] Add back REQUEST_SCHEME (for use in e.g. mod_ssi)"
  https://github.com/lighttpd/lighttpd1.4/pull/85

github: closes #85
6 years ago
Glenn Strauss fa1eef0071 [core] permit LF to end lines if !header-strict
permit LF to end header lines if
  server.http-parseopt-header-strict = "disable"
(instead of requiring CR LF)

(makes it easy to use 'openssl s_client -connect <IP:port>' on unix)

(Note: care taken to minimize diff in this commit,
 but header parsing code should be revisited and overhauled)
6 years ago
Glenn Strauss 0ff8904a72 [mod_openssl] remove erroneous SSL_set_shutdown()
remove erroneous call to SSL_set_shutdown()
(historical from commit:3888c103)
(erroneous since lighttpd 1.4.40 moved to bidirectional input/output)

x-ref:
  "wstunnel sample config"
  https://redmine.lighttpd.net/boards/2/topics/7600
6 years ago
Glenn Strauss 7661587f01 [mod_openssl] copy data for larger SSL packets
copy small mem chunks into single large buffer before SSL_write()
to reduce number times write() called underneath SSL_write() and
potentially reduce number of packets generated if socket TCP_NODELAY
6 years ago
Glenn Strauss a4d40da9f2 [core] remove fd interest if create_env returns
remove fd interest in FDEVENT_OUT to backend if create_env hook returns
a status that is not HANDLER_GO_ON, HANDLER_FINISHED, or HANDLER_ERROR
(e.g. HANDLER_WAIT_FOR_EVENT or HANDLER_WAIT_FOR_FD or HANDLER_COMEBACK)
6 years ago
Glenn Strauss d3f4a62c10 [mod_dirlisting] custom js date parse func (fixes #2823)
lighttpd mod_dirlisting produces a directory listing with the date in a
certain format, and lighttpd calls setlocale(LC_TIME, "C"), so strftime
date used in mod_dirlisting is predictable.  Use a custom date parse
routine to replace Date.parse() in the javascript sorting functions.

x-ref:
  "Directory listing / sort by last modified does not work on Safari"
  https://redmine.lighttpd.net/issues/2823
6 years ago
Glenn Strauss 7bd46d1984 [core] fix $REQUEST_HEADER[...] parsing in config (#1556)
x-ref:
  "Allow matching against any arbitrary HTTP header in the configuration file regexps"
  https://redmine.lighttpd.net/issues/1556
  https://redmine.lighttpd.net/boards/2/topics/7609
6 years ago
Glenn Strauss 8ed588ce32 [core] handle fds pending close after poll timeout (fixes #2827)
handle fds pending close whether or not new events are triggered

(thx davidm)

x-ref:
  "POST to mod_cgi sometimes hangs"
  https://redmine.lighttpd.net/issues/2827
6 years ago
Glenn Strauss 60a98ebaf4 [core] quiet coverity warning 6 years ago
Glenn Strauss 513e407b06 [mod_wstunnel] remove invalid appended '\0'
remove invalid appended '\0' in code originating from Norio Kobota
mod_websocket_frame.c.  /* needs '\0' char to send */ is not valid

x-ref:
  "wstunnel sample config"
  https://redmine.lighttpd.net/boards/2/topics/7600
6 years ago
Glenn Strauss ef11fa42da [mod_wstunnel] set Sec-WebSocket-Protocol if bin
set Sec-WebSocket-Protocol: binary in response if request header
Sec-WebSocket-Protocol: binary provided by client in Upgrade: websocket
request, or if wstunnel.frame-type = "binary" in lighttpd config
6 years ago
Glenn Strauss d8dba4ae6a [core] gateways might Upgrade con before body read
some gateways might Upgrade connection before request body is read

(mod_wstunnel sets con->file_started = 1 and -1 == hctx->wb_reqlen
 and sends Connection: upgrade and Upgrade: websocket before reading
 request body)

x-ref:
  "wstunnel sample config"
  https://redmine.lighttpd.net/boards/2/topics/7600
6 years ago
Glenn Strauss b8e6419f3a [core] return from http_response_read if small rd
return from http_response_read() if read smaller than available buffer
6 years ago
Glenn Strauss 0528e2e712 [core] limit use of TCP_CORK
limit use of TCP_CORK to when chunkqueue contains a non-MEM_CHUNK
(in addition to restricting to Linux, more than one chunk, and TCP)
6 years ago
Glenn Strauss f22b5d69da [core] inline chunkqueue_is_empty() 6 years ago
Glenn Strauss 9a69f31b20 [core] compare listen addrs after DNS resolution
compare listen addrs after DNS resolution when starting up server
6 years ago
Glenn Strauss 5c25f629ab [core] /dev/stdin listener for inetd wait yes
server.bind = "/dev/stdin" for use with inetd wait yes

(experimental)

x-ref:
  "inetd/wait mode with auto-shutdown after idle timeout"
  https://redmine.lighttpd.net/issues/2824
6 years ago
Glenn Strauss 00d976b130 [core] cleaner code; remove goto from network.c 6 years ago
Glenn Strauss 878dd9be49 [core] use sun_path for addr string for AF_UNIX (fixes #2826)
(occurs when lighttpd is configured to listen on unix socket path)

x-ref:
  "stale REMOTE_ADDR when using AF_UNIX socket"
  https://redmine.lighttpd.net/issues/2826
6 years ago
Glenn Strauss 7aff5046ac [unittests] consolidate base64 test code
consolidate base64 test code

use char type for tables to reduce memory use
  (potentially increase cache hits)
6 years ago
Glenn Strauss c49f515096 [network] do not append port to unix socket paths
x-ref:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=877039
6 years ago
Glenn Strauss 513887fa52 [core] URI scheme is case-insensitive
check case-insensitive scheme if full URI provided in request-line

RFC7230:
  The scheme and host are case-insensitive and normally provided
  in lowercase; all other components are compared in a case-sensitive
  manner.

x-ref:
  "https://redmine.lighttpd.net/boards/3/topics/7637"
6 years ago
Stefan Bühler 428cd963d6 [lemon] fix gcc implicit-fallthrough warning 6 years ago
Stefan Bühler f46b1b1d53 [algo_sha1] fix compile break and warnings
size_t requires <sys/types.h> or <unistd.h>, <stdint.h>/<inttypes.h> is
not enough.

also use `const` consistently for the passed data.
6 years ago
Glenn Strauss 46719b8925 [mod_wstunnel] fix NULL ptr deref
fix NULL ptr deref if wstunnel.server configured inside a conditional
and not in global scope

(thx nicorac)

x-ref:
  "https://redmine.lighttpd.net/boards/2/topics/7600"
6 years ago
Glenn Strauss a156fdbc7b [core] fix triggered assert on HTTP chunked input (fixes #2822)
(thx AlxT)

x-ref:
  "Segmentation fault on HTTP chunked input"
  https://redmine.lighttpd.net/issues/2822
6 years ago
Glenn Strauss cbb5ee621c [core] disable Nagle if streaming to backend
disable Nagle algorithm if streaming to backend and content-length
is unknown at the point where lighttpd is about to begin sending
data to backend
6 years ago
Glenn Strauss 09b2b146e1 [core] make strftime_cache_get() 16-element cache
Prior code was effectively a 1-element cache after the initial fill
of the array since only the first element was replaced after the
initial fill.  New code does round-robin replacement.

(whether or not #define FILE_CACHE_MAX 16 is appropriately sized here
 is a question for another day)
6 years ago