| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
rename http_kv funcs for consistency ("http_" prefix)
reorder http_versions[]
|
|
|
|
| |
Also, adjust mod_ssi to remove assumption that "/tmp" is temp directory
|
| |
|
|
|
|
| |
(selective implementations; not complete)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
adjustments to compile warnings-free with recent clang changes that
warn about potential behavior change for non-prototypes, including
generic function pointers e.g. int(*)()
x-ref:
https://discourse.llvm.org/t/rfc-enabling-wstrict-prototypes-by-default-in-c/60521
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2432.pdf
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2841.htm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
remove deprecated modules:
mod_evasive
mod_secdownload
mod_uploadprogress
mod_usertrack
These scheduled lighttpd behavior changes have been announced over
the past year:
* Continue gradual deprecation of "mini-application" lighttpd modules
for which mod_magnet lua implementations are better and more flexible.
Please post on lighttpd forums to share feedback if you use these modules.
Forums: https://redmine.lighttpd.net/projects/lighttpd/boards
* Deprecated: mod_evasive has been removed.
mod_evasive can be replaced by mod_magnet and a few lines of lua:
Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_evasive
https://wiki.lighttpd.net/AbsoLUAtion#Fight-DDoS
https://wiki.lighttpd.net/AbsoLUAtion#Mod_Security
* Deprecated: mod_secdownload has been removed.
mod_secdownload can be replaced by mod_magnet and a few lines of lua:
Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_secdownload
mod_secdownload historically uses insecure MD5 though SHA1, SHA256 available
* Deprecated: mod_uploadprogress has been removed.
mod_uploadprogress can be replaced by mod_magnet and a few lines of lua:
Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_uploadprogress
* Deprecated: mod_usertrack has been removed.
mod_usertrack can be replaced by mod_magnet and a few lines of lua:
Replacement: https://wiki.lighttpd.net/ModMagnetExamples#lua-mod_usertrack
mod_usertrack historically uses insecure MD5.
|
|
|
|
|
|
|
|
| |
(regression in lighttpd 1.4.60 - lighttpd 1.4.65)
impacted: mod_wolfssl loading certificate private keys
must ignore whitespace in count of encoded chars
|
|
|
|
|
|
| |
separate func from buffer_append_bs_escaped() so that both
buffer_append_bs_escaped() and buffer_append_bs_escaped_json()
can be slightly more specialized and optimized
|
| |
|
|
|
|
|
| |
server.http-parseopts "url-invalid-utf8-reject" url normalization option
default: "url-invalid-utf8-reject" => "enable"
|
|
|
|
| |
remove (minor) convenience func; easy to replace
|
| |
|
|
|
|
| |
(no longer used; was used as temporary buffer)
|
|
|
|
|
|
| |
t/test_mod_ssi adjust to follow symlinks
/tmp may be a symlink on MacOS
|
|
|
|
|
| |
allocate pcre output vector on demand for saved config captures
(similar to what is done in lighttpd for pcre2 support)
|
|
|
|
|
|
| |
x-ref:
"lighttpd: depends on obsolete pcre3 library"
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1000063
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use stack w/ pcre_exec unless saving captures from config conditions
reduce memory allocations per request where lighttpd.conf does not
contain url.redirect or url.rewrite rules where replacements reference
a match of the enclosing lighttpd.conf condition (e.g. %0, %1, %2 ...)
move cond_cache_t 'patterncount' to cond_match_t 'captures'
While cond_match_t is no longer sized power-2, it is generally expected
to be used much less frequently than before (which was all the time),
since it is now used only with url.redirect or url.rewrite with
references %0, %1, %2, ...
|
|
|
|
|
|
| |
combine common components tests into test_common.c
combine into a single executable to reduce compilation/link redundancy
|
| |
|
| |
|
|
|
|
| |
combine into a single executable to reduce compilation/link redundancy
|
|
|
|
| |
isolate this ancient relic
|
| |
|
|
|
|
|
| |
(Instead, workaround added for libtool)
(There must be better ways to do this, but I don't know them right now)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
de-dup file and piped loggers for error logs and access logs
x-ref:
"RFE: de-dup file and piped loggers"
https://redmine.lighttpd.net/issues/3101
|
| |
|
|
|
|
|
|
| |
also remove some now-redundant tests from request.t
and reduce scripts and directories under tests
(because automake is sloooow and the fewer dirs, the better)
|
|
|
|
| |
move some tests from tests/request.t to src/t/test_mod_staticfile.c
|
|
|
|
| |
move some tests from tests/*.t to src/t/test_request.c
|
|
|
|
| |
use http_header_request_get() in tests to retrieve request headers
|
|
|
|
|
|
|
|
|
| |
parse $HTTP["remote-ip"] CIDR mask into structured data at startup
note: adds buffer_move() to configparser.y to reduce memory copying
for all config values, and is required for remote-ip to preserve the
structured data added after the config value string. (Alternatively,
could have normalized the remote-ip value after copying into dc->string)
|
|
|
|
|
|
|
| |
no need for extra work for precision allocation to avoid 0-3 extra chars
note: callers passing precise buffer size for without padding will need
to be modified to pass a slightly larger buffer, e.g. mod_secdownload
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
enabled by default
disable using server.feature-flags += ("server.pcre_jit" => "disable")
Available since pcre-8.20 (2011), and improved in pcre-8.32 (2012),
PCRE_STUDY_JIT_COMPILE can greatly speed up repeated execution of PCRE
patterns. (https://zherczeg.github.io/sljit/pcre.html)
lighttpd continues to use pcre_exec() instead of pcre_jit_exec(),
even though doing so does not realize all of the performance increase
potentially available with PCRE_STUDY_JIT_COMPILE and pcre_jit_exec().
pcre_jit_exec() is available with PCRE 8.32 and later, if PCRE is
compiled with --enable-jit, but lighttpd does not currently use
pcre_jit_exec() since the PCRE library might not have been compiled
with --enable-jit (though this could be solved with a weak symbol).
Similarly, lighttpd does not currently configure the pcre_jit_stack.
(Using pcre_jit_exec() may be revisited in the future.)
x-ref:
"add support for pcre JIT"
https://redmine.lighttpd.net/issues/2361
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
http_request_parse_header() specialized for HTTP/2 request headers
to be parsed as each field-name and value is HPACK-decoded; send headers
directly from HPACK decoder, rather than double-buffering in chunkqueue
http_request_headers_process_h2() for post-processing
|
|
|
|
| |
move http_request_headers_process() to request.[ch]
|
|
|
|
| |
(can be slightly faster to clear buffer than to reset buffer)
|
|
|
|
|
|
|
|
|
|
| |
(expansion of buffer_string_lenth() inline function and CONST_BUF_LEN()
macro, which always check for NULL, appears to cause the analyzer to
believe that a pointer might be NULL in cases where it otherwise can
not be NULL)
x-ref:
http://clang-analyzer.llvm.org/faq.html
|
| |
|
|
|
|
| |
(substitute buffer_eq_slen() for buffer_is_equal_string())
|
|
|
|
|
| |
create t/test_mod_userdir to replace sparse tests in tests/mod-userdir.t
remove tests/mod-userdir.t
|
| |
|