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
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