summaryrefslogtreecommitdiff
path: root/src/plugin_config.h
Commit message (Collapse)AuthorAgeFilesLines
* [build] _WIN32 shared dll build (autotools, cmake)Glenn Strauss2023-05-031-0/+1
| | | | | | | | | | | | | | | | | | | | | 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
* [multiple] rename status_counter -> plugin_statsGlenn Strauss2022-05-111-3/+17
|
* [multiple] limit scope of socket config optionsGlenn Strauss2022-05-051-1/+2
| | | | | warn if socket config options used only at startup are used outside global scope or $SERVER["socket"] with '==' condition
* [core] prefix (=^), suffix (=$) config conditions (fixes #3153)Glenn Strauss2022-04-081-0/+2
| | | | | | x-ref: "lighttpd.conf conditionals using prefix and suffix matching" https://redmine.lighttpd.net/issues/3153
* [core] isolate plugins_*() funcs to main serverGlenn Strauss2022-02-191-0/+17
| | | | | (future: might rename plugin.c -> plugins.c since the functions contained within are all plugins_*())
* [core] allocate pcre output vector on demandGlenn Strauss2021-11-221-5/+2
| | | | | allocate pcre output vector on demand for saved config captures (similar to what is done in lighttpd for pcre2 support)
* [core] pcre2 support (--with-pcre2)Glenn Strauss2021-11-221-0/+10
| | | | | | x-ref: "lighttpd: depends on obsolete pcre3 library" https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1000063
* [core] use stack w/ pcre_exec unless save capturesGlenn Strauss2021-11-201-6/+3
| | | | | | | | | | | | | | 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, ...
* [core] save config regex captures only if usedGlenn Strauss2021-11-191-0/+3
| | | | | | | | | | | | | | | | 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.)
* [multiple] check feature flags funcs; code reuseGlenn Strauss2021-09-301-0/+8
| | | | | config_feature_bool() config_feature_int()
* [multiple] de-dup file and piped loggers (fixes #3101)Glenn Strauss2021-09-131-3/+0
| | | | | | | | 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
* [core] request_config_reset()Glenn Strauss2021-08-271-1/+1
| | | | | move configfile.c:config_reset_config() to reqpool.c:request_config_reset()
* [multiple] add attrs from gcc -Wsuggest-attribute=Glenn Strauss2021-03-261-0/+2
|
* [core] tighten struct data_config and related codeGlenn Strauss2021-01-291-3/+1
| | | | | | | 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()
* [core] const data_unset *array_get_element_klen()Glenn Strauss2021-01-291-2/+2
| | | | | return (const data_unset *) from array_get_element_klen(); use array_get_data_unset() for non-const (note: marked attribute cold)
* [core] config_plugin_value_to_int32()Glenn Strauss2020-10-191-0/+3
|
* [core] server.feature-flags extensible configGlenn Strauss2020-08-021-0/+3
| | | | server.feature-flags = ("server.xxxx" => "enable")
* [multiple] split con, request (very large change)Glenn Strauss2020-07-081-6/+6
| | | | | | | | | | | | | | | | 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().
* [core] support multiple error logsGlenn Strauss2020-07-081-0/+9
| | | | | | | 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.
* [core] (minor) config_plugin_keys_t data packingGlenn Strauss2020-07-081-4/+4
|
* [multiple] generic config array type checkingGlenn Strauss2020-07-081-0/+4
|
* [multiple] connection hooks no longer get (srv *)Glenn Strauss2020-07-081-2/+2
| | | | (explicit (server *) not passed; available in con->srv)
* [multiple] prefer (connection *) to (srv *)Glenn Strauss2020-07-081-2/+2
| | | | | | | | 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)
* [core] split cond cache from cond matchesGlenn Strauss2020-07-081-0/+32
|
* [core] isolate use of data_config, configfile.hGlenn Strauss2020-07-081-0/+128