| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are likely better and cleaner ways to do this; patches welcome.
_WIN32 symbol imports and exports
MS Visual Studio (_MSC_VER) does not appear to export global data
symbols even when exporting all functions.
Annotating any symbols with __declspec(dllexport) in any translation
unit appears to change default dll symbol implict export behavior.
Currently, src/Makefile.am and CMakeLists.txt take different approaches
(implib versus linking against executable which has exported symbols)
x-ref:
(improved solutions might possibly be constructed using these docs)
https://sourceware.org/binutils/docs/ld/WIN32.html
https://cmake.org/cmake/help/latest/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html
https://stackoverflow.com/questions/225432/export-all-symbols-when-creating-a-dll
|
| |
|
|
|
|
|
| |
warn if socket config options used only at startup are used outside
global scope or $SERVER["socket"] with '==' condition
|
|
|
|
|
|
| |
x-ref:
"lighttpd.conf conditionals using prefix and suffix matching"
https://redmine.lighttpd.net/issues/3153
|
|
|
|
|
| |
(future: might rename plugin.c -> plugins.c since the functions
contained within are all plugins_*())
|
|
|
|
|
| |
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, ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
| |
config_feature_bool()
config_feature_int()
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
move configfile.c:config_reset_config()
to reqpool.c:request_config_reset()
|
| |
|
|
|
|
|
|
|
| |
tighten struct data_config and config_cond_info
create config key at startup and reuse for debug/trace
separate routine for configparser_parse_condition()
separate routine for configparser_parse_else_condition()
|
|
|
|
|
| |
return (const data_unset *) from array_get_element_klen();
use array_get_data_unset() for non-const (note: marked attribute cold)
|
| |
|
|
|
|
| |
server.feature-flags = ("server.xxxx" => "enable")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NB: r->tmp_buf == srv->tmp_buf (pointer is copied for quicker access)
NB: request read and write chunkqueues currently point to connection
chunkqueues; per-request and per-connection chunkqueues are
not distinct from one another
con->read_queue == r->read_queue
con->write_queue == r->write_queue
NB: in the future, a separate connection config may be needed for
connection-level module hooks. Similarly, might need to have
per-request chunkqueues separate from per-connection chunkqueues.
Should probably also have a request_reset() which is distinct from
connection_reset().
|
|
|
|
|
|
|
| |
e.g. different server.errorlog for different virtual hosts
Also, support different server.breakagelog to have separate script
error logs, applicable to mod_cgi and mod_ssi exec.
|
| |
|
| |
|
|
|
|
| |
(explicit (server *) not passed; available in con->srv)
|
|
|
|
|
|
|
|
| |
convert all log_error_write() to log_error() and pass (log_error_st *)
use con->errh in preference to srv->errh (even though currently same)
avoid passing (server *) when previously used only for logging (errh)
|
| |
|
|
|