Commit Graph

711 Commits (42942ec97c591b716724209cbe553273d086b4b6)

Author SHA1 Message Date
Glenn Strauss 4d3447fd44 [doc] NEWS 4 years ago
Glenn Strauss e0d1528860 [doc] NEWS 5 years ago
Glenn Strauss c9a64d94fc - next is 1.4.52 5 years ago
Glenn Strauss 0828010eb6 [doc] NEWS 5 years ago
Glenn Strauss a9e131fa37 - next is 1.4.51 5 years ago
Glenn Strauss a2114a1c9b [doc] NEWS 5 years ago
Glenn Strauss ae54806dc2 - next is 1.4.50 5 years ago
Glenn Strauss d0d5d4267b [doc] NEWS 5 years ago
Glenn Strauss de937f47f8 - next is 1.4.49 6 years ago
Glenn Strauss 2c7d70eddb [doc] NEWS 6 years ago
Glenn Strauss 5a5ce3dc75 [doc] NEWS - fix improper format line breaks 6 years ago
Glenn Strauss 6a17133a75 - next is 1.4.48 6 years ago
Glenn Strauss f558fc9735 [doc] NEWS 6 years ago
Glenn Strauss 0c1aed55d5 [doc] use https:// URLs to .lighttpd.net resources 6 years ago
Glenn Strauss 5780d6cc58 - next is 1.4.47 6 years ago
Glenn Strauss f07bcb145c [doc] NEWS 6 years ago
Glenn Strauss b0d63e31e8 - next is 1.4.46 6 years ago
Glenn Strauss 4f00aafcde [doc] NEWS 7 years ago
Glenn Strauss 656f9e454d - next is 1.4.45 7 years ago
Glenn Strauss 367bc5fd28 [doc] NEWS 7 years ago
Stefan Bühler d352790331 [mod_authn_gssapi] fix memory leak 7 years ago
Stefan Bühler 5e3653dc5d [mod_scgi] fix segfault (fixes #2762) 7 years ago
Glenn Strauss 33e3504bcb - next is 1.4.44 7 years ago
Glenn Strauss 738ebd5b29 [doc] NEWS 7 years ago
Glenn Strauss 22c560c228 - next is 1.4.43 7 years ago
Glenn Strauss 3468974e0b [doc] NEWS 7 years ago
Glenn Strauss ccd817d3c9 - next is 1.4.42 7 years ago
Glenn Strauss 29fa805695 [doc] NEWS 7 years ago
Glenn Strauss 8f8fa606ca - next is 1.4.41 7 years ago
Glenn Strauss 268c5582b2 [doc] NEWS 7 years ago
Glenn Strauss fd6a66b463 [doc] NEWS 7 years ago
Glenn Strauss 488688301e [doc] NEWS 7 years ago
Glenn Strauss 239c7e3026 [doc] NEWS 7 years ago
Glenn Strauss 01ec2c458c [doc] NEWS 7 years ago
Glenn Strauss 0f7c068010 [doc] NEWS 7 years ago
Glenn Strauss 8f255d35df [doc] NEWS 7 years ago
Glenn Strauss 49c74fff65 [core] compile with upcoming openssl 1.1.0 release (fixes #2727)
(thx falemagn)

x-ref:
  "Won't compile with OpenSSL 1.1.0"
  https://redmine.lighttpd.net/issues/2727
7 years ago
Glenn Strauss 77bd45121c [core] retry tempdirs on partial write, ENOSPC (fixes #2588)
Previous code would fail on partial write, EINTR, and ENOSPC.
Upon any of the above errors, this patch tries next tempdir in list,
if list of tempdirs provided by config option server.upload-dirs

x-ref:
  "Problem when uploading large files"
  https://redmine.lighttpd.net/issues/2588

github:
Closes #54
7 years ago
Glenn Strauss 71ed1912c7 [config] server.listen-backlog option (fixes #1825, #2116)
See doc/config/lighttpd.conf for explanation of listen() backlog queue

Additionally, mod_fastcgi and mod_scgi backend servers can now also be
configured with separate listen-backlog settings per server

x-ref:
  "add server.listen-backlog option instead of hard-coded value (128 * 8) for listen()"
  https://redmine.lighttpd.net/issues/2116
  "Don't disable backend when overloaded"
  https://redmine.lighttpd.net/issues/1825

github:
Closes #50
7 years ago
Glenn Strauss a65c57a548 [core] open fd when appending file to cq (fixes #2655)
http_chunk_append_file() opens fd when appending file to chunkqueue.
Defers calculation of content length until response is finished.

This reduces race conditions pertaining to stat() and then (later)
open(), when the result of the stat() was used for Content-Length
or to generate chunked headers.

Note: this does not change how lighttpd handles files that are modified
in-place by another process after having been opened by lighttpd --
don't do that.  This *does* improve handling of files that are
frequently modified via a temporary file and then atomically renamed
into place.

mod_fastcgi has been modified to use http_chunk_append_file_range() with
X-Sendfile2 and will open the target file multiple times if there are
multiple ranges.

Note: (future todo) not implemented for chunk.[ch] interfaces used by
range requests in mod_staticfile or by mod_ssi.  Those uses could lead
to too many open fds.  For mod_staticfile, limits should be put in place
for max number of ranges accepted by mod_staticfile.  For mod_ssi,
limits would need to be placed on the maximum number of includes, and
the primary SSI file split across lots of SSI directives should either
copy the pieces or perhaps chunk.h could be extended to allow for an
open fd to be shared across multiple chunks.  Doing either of these
would improve the performance of SSI since they would replace many file
opens on the pieces of the SSI file around the SSI directives.

x-ref:
  "Serving a file that is getting updated can cause an empty response or incorrect content-length error"
  https://redmine.lighttpd.net/issues/2655

github:
Closes #49
7 years ago
Glenn Strauss e0bafab2db [mod_indexfile] save physical path to env (fixes #448, #892)
save physical path to environment (PATH_TRANSLATED_DIRINDEX)
when index generator is full path (not relative path)

fix uri.path when index generator is full path (not relative path)
7 years ago
Glenn Strauss 186e7073fb [mod_redirect,mod-rewrite] short-circuit if blank replacement (fixes #2085)
x-ref:
  "null redirects for mod_redirect"
  https://redmine.lighttpd.net/issues/2085
7 years ago
Glenn Strauss fa3a36ffd4 [mod_ssi] config ssi.exec (fixes #2051)
(thx benbrown)

x-ref:
  "mod_ssi Add configuration item to disable SSI exec."
  https://redmine.lighttpd.net/issues/2051
7 years ago
fbrosson 6982b1930e [mod_ssi] config ssi.conditional-requests
Summary:
A new SSI directive, "ssi.conditional-requests", allows to inform
lighttpd which SSI pages should be considered as cacheable and which
should not. In particular, the "ETag" & "Last-Modified" headers will
only be sent for those SSI pages for which the directive is enabled.

Long description:
"ETag" and "Last-Modified" headers were being sent for all SSI pages,
regardless of whether they were cacheable or not. And yet, there was
no cache validation at all for any SSI page.
This commit fixes these two minor issues by adding a new directive,
"ssi.conditional-requests", which allows to specify which SSI pages
are cacheable and which are not, and by adding cache validation to
those SSI pages which are cacheable. And since sending ETags for
non-cacheable documents is not appropriate, they are no longuer
computed nor sent for those SSI pages which are not cacheable.
Regarding the "Last-Modified" header for non-cacheable documents,
the standards allow to either send the current date and time for
that header or to simply skip it. The approach chosen is to not send
it for non-cacheable SSI pages. "ETag" and "Last-Modified" headers
are therefore only sent for an SSI page if ssi.conditional-requests
is enabled for that page.

The ssi.conditional-requests directive can be enabled or disabled
globally and/or in any context. It is disabled by default.

An index.shtml which only includes deterministic SSI commands such as:
<!--#echo var="LAST_MODIFIED"-->
is a trivial example of a dynamic SSI page that is cacheable.
7 years ago
Glenn Strauss bb95317774 [core] setrlimit max-fds <= rlim_max for non-root (fixes #2723)
x-ref:
  "setrlimit can increase RLIMIT_NOFILE up to rlim_max for non-root"
  https://redmine.lighttpd.net/issues/2723
7 years ago
Glenn Strauss 51e0f2087b [core] define __STDC_WANT_LIB_EXT1__ (fixes #2722)
x-ref:
  "define __STDC_WANT_LIB_EXT1__ for memset_s()"
  https://redmine.lighttpd.net/issues/2722
7 years ago
Glenn Strauss c63427c999 [mod_dirlisting] class for dir <tr> (fixes #2304)
x-ref:
  "special class for directories tr's in directory listing"
  https://redmine.lighttpd.net/issues/2304
7 years ago
Glenn Strauss dc9f95c75d [mod_status] table w/ count of con states (fixes #2427)
(replaces "legend")
7 years ago
Glenn Strauss c68f83aed4 [mod_status] page refresh option (fixes #2170)
e.g. http://server-address/server-status?refresh=10

x-ref:
  "server-status page should have an automatic reload"
  https://redmine.lighttpd.net/issues/2170
7 years ago
Glenn Strauss 760baed402 [mod_expire] reset caching response headers for error docs (fixes #1919)
remove Cache-Control and Expires headers before handling error docs
(caching headers may have been set by mod_expire before http status
 was determined to be an error)

x-ref:
  "mod_expires sends headers on 404 responses"
  https://redmine.lighttpd.net/issues/1919
7 years ago