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)
2019-05-14 01:03:08 -04:00
Glenn Strauss
42942ec97c
[core] use high precision stat timestamp on OS X
2019-05-13 21:01:57 -04:00
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)
2019-05-13 21:01:57 -04:00
Glenn Strauss
da6a94efbb
[tests] has_feature() helper func
...
has_feature() helper func so that tests
can be skipped if support is not present
2019-05-13 21:01:57 -04:00
Glenn Strauss
64b0f7229e
[core] buffer_reset() should not be passed NULL
2019-05-13 21:01:57 -04:00
Glenn Strauss
a86ea83b5a
[core] chunkqueue perf: read small files into mem
2019-05-13 21:01:57 -04:00
Glenn Strauss
8ae0646748
[core] chunkqueue perf: skip opening 0-length file
2019-05-13 20:27:49 -04:00
Glenn Strauss
d9e2dd4b2e
[core] chunkqueue perf: specialized buffer.h funcs
2019-05-13 20:27:49 -04:00
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)
2019-05-13 20:27:49 -04:00
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
2019-05-11 02:21:03 -04:00
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
2019-05-09 21:09:52 -04:00
Glenn Strauss
dd3d20c3d0
[mod_webdav] doc Microsoft-WebDAV-MiniRedir bugs
2019-05-08 07:31:25 -04:00
Glenn Strauss
e9abd76acc
[mod_webdav] workaround Microsoft-WebDAV-MiniRedir
...
workaround Microsoft-WebDAV-MiniRedir bugs
2019-05-08 02:56:37 -04:00
Glenn Strauss
9bb01a49df
[core] check if splay_tree NULL before invalidate
2019-05-08 00:54:52 -04:00
Glenn Strauss
003fd0f8c3
[core] store log_state_handling flag on stack
2019-05-07 20:14:50 -04:00
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)
2019-05-06 01:13:58 -04:00
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())
2019-05-06 01:13:58 -04:00
Glenn Strauss
52c489837f
[build] detect FreeBSD elftc_copyfile()
2019-05-05 23:05:02 -04:00
Glenn Strauss
ec94594504
[scons] help scons on FreeBSD find sys/event.h
2019-05-05 23:05:02 -04:00
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.
2019-05-05 03:02:01 -04:00
Glenn Strauss
d836d20317
[stat_cache] fix compilation error for cmake
2019-05-04 18:16:01 -04:00
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"
)
2019-05-04 17:48:04 -04:00
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
2019-05-04 17:10:35 -04:00
Glenn Strauss
77c2883da9
[mod_webdav] quiet coverity warnings
2019-05-04 16:36:10 -04:00
Glenn Strauss
84db583e3e
[stat_cache] FAM: whitespace-only change
...
whitespace-only changes in stat_cache_handle_fdevent_in()
2019-05-04 16:36:10 -04:00
Glenn Strauss
60a4b5f118
[stat_cache] FAM: separate routine for FDEVENT_IN
2019-05-04 16:36:10 -04:00
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)
2019-05-04 16:36:10 -04:00
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)
2019-05-04 13:48:22 -04:00
Glenn Strauss
44156bbe81
[multiple] open target file earlier in some cases
...
open target file earlier in some cases to validate readability
2019-05-04 13:48:22 -04:00
Glenn Strauss
470a692211
[core] http_chunk_append_file_fd()
2019-05-04 13:48:22 -04:00
Glenn Strauss
8f0adfe043
[core] emit trace using path before clearing path
2019-05-04 13:48:22 -04:00
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
2019-05-04 13:48:22 -04:00
Glenn Strauss
338c73fd28
[core] use high precision stat timestamp in etag
...
use high precision stat timestamp (on systems where available) in etag
2019-05-04 13:48:22 -04:00
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)
2019-05-04 13:48:22 -04:00
Glenn Strauss
57470365a2
[stat_cache] interfaces to invalidate entries
2019-05-04 13:48:22 -04:00
Glenn Strauss
f89f9191f4
[stat_cache] FAM: funcs to invalidate entries
2019-05-04 13:48:22 -04:00
Glenn Strauss
c7eaa502ec
[stat_cache] FAM: ignore event with no valid match
2019-05-04 13:48:22 -04:00
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
2019-05-04 13:48:22 -04:00
Glenn Strauss
8772e85cea
[stat_cache] FAM: ignore follow-symlink config
...
no distinction needs to be made whether or not server.follow-symlink set
2019-05-04 13:48:22 -04:00
Glenn Strauss
1971da13db
[stat_cache] FAM: improve handling modified file
2019-05-04 13:48:22 -04:00
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
2019-05-04 13:48:22 -04:00
Glenn Strauss
a3d171526a
[stat_cache] FAM: check FAMNextEvent() return code
2019-05-04 13:48:22 -04:00
Glenn Strauss
cc49703372
[stat_cache] FAM: reduce string copying
2019-05-04 13:48:22 -04:00
Glenn Strauss
a50b72c356
[stat_cache] remove splaytree ins/del debug code
...
remove debug code around for splaytree_insert() and splaytree_delete()
in stat_cache.c
2019-05-04 13:48:22 -04:00
Glenn Strauss
47d006ae47
[stat_cache] pass age param for stat cache cleanup
2019-05-04 13:48:22 -04:00
Glenn Strauss
baa5f04335
[stat_cache] store entries without trailing slash
...
(no more duplication of dir entries with and without trailing slash)
2019-05-04 13:48:22 -04:00
Glenn Strauss
020a83c265
[stat_cache] separate symlink pol from data struct
...
separate symlink polily from internal data structures
no more dup entires in splaytree for allowing/disallowing symlinks
hash name to provided len
2019-05-04 13:48:11 -04:00
Glenn Strauss
73bfee6308
[stat_cache] separate func for symlink policy chk
...
Note: historical ToC-ToU race condition still exists in implementation
server.follow-symlink = "disable" is not recommended (default: "enable")
2019-04-29 18:11:15 -04:00
Glenn Strauss
5ac92dca08
[mod_webdav] check If-None-Match ( #1818 )
...
x-ref:
"add RFC-compliant LOCK support to mod_webdav"
https://redmine.lighttpd.net/issues/1818
2019-04-23 10:36:55 -04:00
Glenn Strauss
aacdd3da02
[mod_webdav] special-case If: (<DAV:no-lock>)
...
(recognize <DAV:no-lock>, but supporting logic is limited)
2019-04-23 10:36:55 -04:00