Commit Graph

3281 Commits (8422fa4573fefbae98c9cbdd6fbaab8f04351ad2)
 

Author SHA1 Message Date
Glenn Strauss 670b2086f8 [core] move con state handling to connections*.c
move maint code from server.c to connections.c
4 years ago
Glenn Strauss b1cc0856d2 [core] fdevent_poll() is effective periodic timer
document that USE_ALARM in server.c is not used
4 years ago
Glenn Strauss 5718a471b0 [core] improve http_headers[] data struct packing 4 years ago
Stefan Bühler 7e5dfc1a40 [cmake]: enable CMAKE_POSITION_INDEPENDENT_CODE by default 4 years ago
Stefan Bühler d7c0fc295f Also use explicit_memset (NetBSD) with cmake, scons and meson 4 years ago
Stefan Bühler 79760d935a Use explicit_memset from NetBSD if available for safe_memclear (fixes #2971) 4 years ago
Glenn Strauss 186ce8a2b1 [core] allocate unix socket paths with SUN_LEN()+1 (fixes #2962)
(thx lighthouse2)

x-ref:
  "SUN_LEN in sock_addr.c (1.4.53, 1.4.54)"
  https://redmine.lighttpd.net/issues/2962
4 years ago
Glenn Strauss cc492d438b [core] correct __attribute_pure__ syntax 4 years ago
Glenn Strauss 1300815688 [core] use buffer_eq_icase_ssn func
specialized buffer_eq_icase_ssn func replace strncasecmp()
in cases where string lengths are not known to be at least
as large as the len being compared case-insensitively.
(Separate commit in case any future changes modify the
implementation to be unsafe for shorter strings, where
strncasecmp() would stop at '\0' in either string)
4 years ago
Glenn Strauss e20b5318d5 [core] use buffer_eq_icase_ssn func
specialized buffer_eq_icase_ssn func replace strncasecmp()
in cases where string lengths are known to be at least as
large as the len being compared case-insensitively
4 years ago
Glenn Strauss 02cd38687b [core] cold func http_response_omit_header() 4 years ago
Glenn Strauss 075241c773 [mod_webdav] fix startup crash w/ multiple conds (fixes #2958)
(thx flynn)

x-ref:
  "lighttpd 1.4.54 segfaults on start in mod_webdav"
  https://redmine.lighttpd.net/issues/2958
4 years ago
Glenn Strauss 72d4fe7451 [core] mark some more funcs w/ __attribute_pure__ 4 years ago
Glenn Strauss fc42ec12d9 [multiple] replace strcasecmp() on short strings 4 years ago
Glenn Strauss e3874a20ba [core] use buffer_eq_icase* funcs
specialized buffer_eq_icase* funcs replace buffer_caseless_compare()
4 years ago
Glenn Strauss 49ed72cef4 [core] mark some more funcs w/ __attribute_pure__ 4 years ago
Glenn Strauss ac8444f2e6 [core] specialized buffer_eq_*() for short strings
specialized buffer_eq_*() funcs for use with short strings,
e.g. case-insensitive comparison for equality
4 years ago
Glenn Strauss ca059d580d [core] array-specialized buffer_caseless_compare()
specialize buffer_caseless_compare() for array.c
4 years ago
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