| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
check getxattr before attr_get and -lattr;
do not link with -lattr if getxattr is available from glibc
(modern glibc systems do not require libattr-devel build dependency)
|
|
|
|
|
|
|
|
|
|
| |
fix logic inversion on If-None-Match test on non-existent entity
return 412 if If-None-Match: "*" for non-existent entity
x-ref:
"trying to use Joplin Android App with lighttpd"
https://redmine.lighttpd.net/boards/3/topics/10193
|
|
|
|
|
|
|
|
| |
add remote IP to some select error msgs
x-ref:
"Error messages should include client IP"
https://redmine.lighttpd.net/issues/3122
|
|
|
|
|
|
|
| |
(thx limb)
make setrlimit() issue warning on error, not fatal,
and add suggesting to configure SELinux permissions
|
|
|
|
|
|
|
|
| |
adjust time jump detection to handle when server.max-workers is non-zero
x-ref:
"child exit causes time jump false positive when server.max-workers is non-zero"
https://redmine.lighttpd.net/issues/3123
|
|
|
|
|
|
|
|
| |
(thx gzpapp at gmail dot com)
x-ref:
"Building on glibc 2.16 where clock_gettime() is in librt.so"
https://redmine.lighttpd.net/issues/3120
|
|
|
|
|
|
|
|
|
|
| |
fix trace issued for loading mod_auth after dynamic modules
x-ref:
"Curious message on startup with version 1.4.63"
https://redmine.lighttpd.net/boards/2/topics/10182
"mod_auth warning on startup"
https://redmine.lighttpd.net/issues/3121
|
|
|
|
|
|
|
|
| |
x-ref:
"Segfault after updating to version 1.4.62"
https://redmine.lighttpd.net/issues/3118
"Segfault on closing connections"
https://redmine.lighttpd.net/issues/3119
|
|
|
|
|
| |
isolate use of sys/filio.h to fdevent_ioctl_fionread()
(illumos (OpenIndiana) defines FIONREAD in sys/filio.h)
|
|
|
|
|
|
|
| |
import xxhash.[ch] as algo_xxhash.[ch]
https://github.com/Cyan4973/xxHash
tag: v0.8.1 35b0373c697b5f160d3db26b1cbb45a0d5ba788c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(thx povcfe-bug)
In some scenarios with lighttpd -1 on pipes, the event handler
associated with the connection (con) will have been cleaned up,
and a pending event on the one-off oneshot_fdn will not yet have
been handled, leading to a crash. lighttpd typically is used to
handle requests on sockets, not pipes. With nc (netcat), the
requests might be sent over pipes. The bug occurred with the
accommodations made in lighttpd to handle the request over pipes.
x-ref:
"Trigger crash when using lighttpd -1 with pipes"
https://redmine.lighttpd.net/issues/3117
|
| |
|
|
|
|
|
|
| |
t/test_mod_ssi adjust to follow symlinks
/tmp may be a symlink on MacOS
|
|
|
|
|
|
|
| |
(thx gsker)
fix bug not showing HEADER.txt or README.txt
(regression in lighttpd 1.4.60 and 1.4.61)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RFC7616 HTTP Digest username* and userhash support (if configured)
userhash support must be configured to enable:
auth.require = ( "/" => ( "userhash" => "enable", ... ) )
and one of
auth.backend = "htdigest" # mod_authn_file
or
auth.backend = "dbi" # mod_authn_dbi
and appropriate modification to add userhash into htdigest or db table
along with adding "sql-userhash" => "..." SQL query for mod_authn_dbi
Note: open issue with curl preventing userhash from working with curl:
https://github.com/curl/curl/pull/8066
|
| |
|
| |
|
|
|
|
|
| |
allocate pcre output vector on demand for saved config captures
(similar to what is done in lighttpd for pcre2 support)
|
|
|
|
| |
allocate one fewer cond_match_t in r->cond_match_data, if any are needed
|
|
|
|
|
|
| |
x-ref:
"lighttpd: depends on obsolete pcre3 library"
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1000063
|
|
|
|
| |
extend pcre_keyvalue_ctx to pass internal state
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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, ...
|
|
|
|
|
|
|
|
|
|
| |
rename data_config_pcre_exec() to config_pcre_match()
and move logic saving pcre result state from
config_check_cond_nocache()
split config_check_cond_nocache() into two funcs
config_check_cond_nocache() participates in recursion
config_check_cond_nocache_eval() evaluates the condition
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
save config regex captures separately only if used by url.redirect
or url.rewrite replacement directives within the condition
(or for conditions containing directives from any other module
which calls config_capture() for its directives during init)
keep pointer to match data (cond_match_t *) in r->cond_match[]
rather than cond_match_t to reduce data copying in h2_init_stream().
h2_init_stream() copies the results for already-evaluated conditions
to avoid re-evaluating connection-level conditions for each and every
stream. When conditions are reset, then the pointer in r->cond_match[]
is updated when the condition is re-evaluated. (This all assumes that
HTTP/2 connection-level conditions are not unset or re-evaluated once
HTTP/2 streams begin.)
|
| |
|
|
|
|
|
|
|
| |
checkpoint (experimental) json output (disabled) from mod_dirlisting
Soliciting feedback from anyone who might write client javascript
employing json output from mod_dirlisting. What should be changed?
|
| |
|
|
|
|
|
|
| |
check for explicitly disabled cache during startup config
(dir-listing.cache = ("max-age" => 0))
(e.g. to disable after having been enabled)
|
| |
|
|
|
|
|
|
| |
combine common components tests into test_common.c
combine into a single executable to reduce compilation/link redundancy
|
|
|
|
|
| |
update comment to add references to other modules and mechanisms
available in lighttpd to enforce security policy
|
| |
|
| |
|
| |
|
|
|
|
| |
combine into a single executable to reduce compilation/link redundancy
|
|
|
|
|
|
|
|
|
|
|
| |
compiler optimizers generally convert div to an equivalent mul,
though not always optimally for modulus (%). In places where
lighttpd is using both quotient and remainder, calculate the
remainder from the quotient.
x-ref: inspiration:
https://lemire.me/blog/2019/02/08/faster-remainders-when-the-divisor-is-a-constant-beating-compilers-and-libdivide/
https://lemire.me/blog/2019/02/20/more-fun-with-fast-remainders-when-the-divisor-is-a-constant/
|
|
|
|
| |
use uint_fast32_t in a few more places, where it yields better asm
|
|
|
|
| |
isolate this ancient relic
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
(thx dinoex)
fix removal of server.pid-file when testing config with lighttpd -tt
(regression in lighttpd 1.4.60, 1.4.61)
x-ref:
"Test the configuration file while lighttpd is running."
https://redmine.lighttpd.net/issues/3115
|
|
|
|
|
| |
run plugin cleanup hooks in reverse to balance ctor/dtor-like plugin
behaviors
|
|
|
|
|
| |
(Instead, workaround added for libtool)
(There must be better ways to do this, but I don't know them right now)
|
|
|
|
|
| |
disable test_mod_ssi in cmake (temporary) until include paths updated
or dependency added for the generated ssi parser header and impl
|
|
|
|
|
| |
disable test_mod_ssi in cmake (temporary) until include paths updated
or dependency added for the generated ssi parser header and impl
|
|
|
|
| |
libev EV_ERROR conflicts with kqueue sys/event.h EV_ERROR
|
|
|
|
| |
sanity check
|
|
|
|
|
|
|
| |
warn if known dynamic modules listed before mod_auth in server.modules
e.g. mod_auth must be listed before mod_fastcgi in server.modules
for fastcgi.server = ( "mode" => "authorizer" ) to work properly
|