Commit Graph

2963 Commits (4fb5a791b08f4817cca93564d435e6624b4edb74)
 

Author SHA1 Message Date
Glenn Strauss 4fb5a791b0 [core] __attribute_pure__ 4 years ago
Glenn Strauss 32a8f0b3b5 [core] fix compile error on Solaris (fixes #2959)
(thx pyhalov)

x-ref:
  "Release 1.4.54 does not compile on an Open Solaris clone"
  https://redmine.lighttpd.net/issues/2959
4 years ago
Glenn Strauss 51a46f0211 - next is 1.4.55 4 years ago
Glenn Strauss 445ce2c44f [doc] NEWS 4 years ago
Glenn Strauss ae9cafecea [mod_authn_ldap] ldap_set_option LDAP_OPT_RESTART (fixes #2940)
ldap_set_option LDAP_OPT_RESTART to handle EINTR on SIGCHLD from CGI

(ldap uses poll(), which is not restartable with sigaction SA_RESTART)

x-ref:
  "mod_authn_ldap/mod_cgi race condition, "Can't contact LDAP server""
  https://redmine.lighttpd.net/issues/2940
4 years ago
Glenn Strauss 4ac239c401 [mod_maxminddb] MaxMind GeoIP2 support 4 years ago
Glenn Strauss ef0a211733 [core] adjust http_chunk read() retry loop 4 years ago
Glenn Strauss cb1c49a74a [mod_magnet] expose server addr (local IP) to lua
expose server addr (local IP) to lua via
lighty.env["request.server-addr"] (read-only)
4 years ago
Glenn Strauss 42942ec97c [core] use high precision stat timestamp on OS X 4 years ago
Glenn Strauss d5774fc6b3 [tests] skip mod-secdownload HMAC-SHA1,HMAC-SHA256
skip mod-secdownload.t HMAC-SHA1, HMAC-SHA256 tests if crypto algorithms
are not available (e.g. lighttpd build without openssl)
4 years ago
Glenn Strauss da6a94efbb [tests] has_feature() helper func
has_feature() helper func so that tests
can be skipped if support is not present
4 years ago
Glenn Strauss 64b0f7229e [core] buffer_reset() should not be passed NULL 4 years ago
Glenn Strauss a86ea83b5a [core] chunkqueue perf: read small files into mem 4 years ago
Glenn Strauss 8ae0646748 [core] chunkqueue perf: skip opening 0-length file 4 years ago
Glenn Strauss d9e2dd4b2e [core] chunkqueue perf: specialized buffer.h funcs 4 years ago
Glenn Strauss 6572976e06 [core] chunkqueue perf: code reuse
code reuse, simplification, and inlining
remove excess calls to chunkqueue_remove_finished_chunks()

(it may still be possible for there to be an empty chunk in chunkqueue
 if nothing were written to a temporary file (need to verify this), so
 preserve some calls to chunkqueue_remove_finished_chunks() for now)
4 years ago
Elan Ruusamäe 4f0261e5e1 [doc] systemd socket activation config example
(minor edits by gstrauss)

github: closes #96

x-ref:
  "doc/systemd: add example lighttpd.socket for systemd socket activation"
  https://github.com/lighttpd/lighttpd1.4/pull/96
4 years ago
Glenn Strauss 146ea6bad0 [mod_webdav] invalidate parent dir in stat_cache
invalidate directory in stat_cache when a new file or dir is created
within that directory
4 years ago
Glenn Strauss dd3d20c3d0 [mod_webdav] doc Microsoft-WebDAV-MiniRedir bugs 4 years ago
Glenn Strauss e9abd76acc [mod_webdav] workaround Microsoft-WebDAV-MiniRedir
workaround Microsoft-WebDAV-MiniRedir bugs
4 years ago
Glenn Strauss 9bb01a49df [core] check if splay_tree NULL before invalidate 4 years ago
Glenn Strauss 003fd0f8c3 [core] store log_state_handling flag on stack 4 years ago
Glenn Strauss b0ae5fcbcd [core] support weak etags with If-None-Match
support weak etags with If-None-Match

(but require strong etags for Range requests)
4 years ago
Glenn Strauss 1a325a196c [mod_openssl] use SSL_CTX_set_client_hello_cb()
use SSL_CTX_set_client_hello_cb() when available

(obsoletes SSL_CTX_set_tlsext_servername_callback()
 and SSL_CTX_set_tlsext_servername_arg())
4 years ago
Glenn Strauss 52c489837f [build] detect FreeBSD elftc_copyfile() 4 years ago
Glenn Strauss ec94594504 [scons] help scons on FreeBSD find sys/event.h 4 years ago
Glenn Strauss 3abbb8dc4b [cmake] help cmake on FreeBSD find sys/event.h
sys/event.h does not compile standalone, so check_include_files() fails

Add compiler flags -include sys/types.h so that the compile check passes

This allows cmake builds on FreeBSD to detect and use kqueue.
4 years ago
Glenn Strauss d836d20317 [stat_cache] fix compilation error for cmake 4 years ago
Glenn Strauss 1cf68f79eb [core] behavior change: stricter URL normalization
behavior change: stricter URL normalization

Prior behavior can be obtained by configuring lighttpd.conf with:
      server.http-parseopts = (“url-normalize” => “disable” )
although this is not recommended.

This behavior change was pre-announced with the releases of
  lighttpd 1.4.52 (2018.11.28)
  lighttpd 1.4.53 (2019.01.27)

The recommended settings are:
      server.http-parseopts = (
        "header-strict"            => "enable",
        "host-strict"              => "enable",
        "host-normalize"           => "enable",
        "url-normalize"            => "enable",
        "url-normalize-unreserved" => "enable",
        "url-normalize-required"   => "enable",
        "url-ctrls-reject"         => "enable",
        "url-path-2f-decode"       => "enable",
        "url-path-backslash-trans" => "enable",
        "url-path-dotseg-remove"   => "enable",
        "url-query-20-plus"        => "enable"
      )

The lighttpd defaults with this commit are slightly less strict:
      server.http-parseopts = (
        "header-strict"            => "enable",
        "host-strict"              => "enable",
        "host-normalize"           => "enable",
        "url-normalize"            => "enable",
        "url-normalize-unreserved" => "enable",
       #"url-normalize-required"   => "enable",
        "url-ctrls-reject"         => "enable",
        "url-path-2f-decode"       => "enable",
       #"url-path-backslash-trans" => "enable",
        "url-path-dotseg-remove"   => "enable",
       #"url-query-20-plus"        => "enable"
      )
4 years ago
Glenn Strauss 49e9f0acdc [doc] highlight relevance of module load order (fixes #2946)
x-ref:
  "modules.conf order unhelpful (setenv vs. redirect)"
  https://redmine.lighttpd.net/issues/2946
4 years ago
Glenn Strauss 77c2883da9 [mod_webdav] quiet coverity warnings 4 years ago
Glenn Strauss 84db583e3e [stat_cache] FAM: whitespace-only change
whitespace-only changes in stat_cache_handle_fdevent_in()
4 years ago
Glenn Strauss 60a4b5f118 [stat_cache] FAM: separate routine for FDEVENT_IN 4 years ago
Glenn Strauss 8cc189f4c6 [stat_cache] FAM: improve monitoring, cache 16 sec
improve FAM monitoring to use reference counting in internal cache

revalidate entries upon use after 16 sec to recover from missed events

(see comments in commit for more details about limitations)
4 years ago
Glenn Strauss f56800e86a [stat_cache] no longer stat() and open() for stat
do not open file in stat_cache_get_entry()
no longer stat() followed by open() and close() just for stat()

callers should open() file to validate readability (and then reuse fd)
4 years ago
Glenn Strauss 44156bbe81 [multiple] open target file earlier in some cases
open target file earlier in some cases to validate readability
4 years ago
Glenn Strauss 470a692211 [core] http_chunk_append_file_fd() 4 years ago
Glenn Strauss 8f0adfe043 [core] emit trace using path before clearing path 4 years ago
Glenn Strauss 61e8d799f0 [scons] adjustment for static build under CentOS
x-ref:
  "Trying to compile under CentOS 6.10"
  https://redmine.lighttpd.net/boards/2/topics/8572
4 years ago
Glenn Strauss 338c73fd28 [core] use high precision stat timestamp in etag
use high precision stat timestamp (on systems where available) in etag
4 years ago
Glenn Strauss 311f258ab3 [mod_webdav] update stat_cache after file mod
update stat_cache entries after file modifications (PUT)
invalidate stat_cache entries after file movement (COPY MOVE DELETE)
4 years ago
Glenn Strauss 57470365a2 [stat_cache] interfaces to invalidate entries 4 years ago
Glenn Strauss f89f9191f4 [stat_cache] FAM: funcs to invalidate entries 4 years ago
Glenn Strauss c7eaa502ec [stat_cache] FAM: ignore event with no valid match 4 years ago
Glenn Strauss 18faa0910c [stat_cache] FAM: check hash collision before add
skip monitoring new entry if there is a hash collision in stat_cache
data structure associated with FAM
4 years ago
Glenn Strauss 8772e85cea [stat_cache] FAM: ignore follow-symlink config
no distinction needs to be made whether or not server.follow-symlink set
4 years ago
Glenn Strauss 1971da13db [stat_cache] FAM: improve handling modified file 4 years ago
Glenn Strauss 38ce790657 [stat_cache] FAM: use entry hash index as userdata
Upon receipt of FAM event, validate that entry exists in splaytree
instead of blindly accessing memory through the pointer returned in
userdata by FAM
4 years ago
Glenn Strauss a3d171526a [stat_cache] FAM: check FAMNextEvent() return code 4 years ago
Glenn Strauss cc49703372 [stat_cache] FAM: reduce string copying 4 years ago