Glenn Strauss
d1fba24469
[mod_evhost] use config_plugin_values_init()
...
use array of buffers to increase performance
(reduce pointer chasing)
2020-07-08 18:08:51 -04:00
Glenn Strauss
28691e6f84
[mod_simple_vhost] use config_plugin_values_init()
...
replace caching with one-element cache of last directory root
stat_cache is a cache and will handle additional caching, as configured
2020-07-08 18:08:51 -04:00
Glenn Strauss
74bbb3077f
[mod_accesslog] use config_plugin_values_init()
...
inline various structures and use C99 VLA to increase performance
(reduce pointer chasing)
2020-07-08 18:08:51 -04:00
Glenn Strauss
adbbc6a4f5
[mod_trigger_b4_dl] use config_plugin_values_init()
2020-05-23 17:59:30 -04:00
Glenn Strauss
ca95cea4b5
[mod_evasive] use config_plugin_values_init()
2020-05-23 17:59:30 -04:00
Glenn Strauss
b07bc5d266
[mod_geoip] use config_plugin_values_init()
2020-05-23 17:59:30 -04:00
Glenn Strauss
66a460d977
[mod_secdownload] use config_plugin_values_init()
2020-05-23 17:59:30 -04:00
Glenn Strauss
4b0c9c9853
[mod_cml] use config_plugin_values_init()
2020-05-23 17:59:30 -04:00
Glenn Strauss
364939096a
[mod_status] use config_plugin_values_init()
2020-05-23 17:59:30 -04:00
Glenn Strauss
3dacea4927
[mod_uploadprogress] use config_plugin_values_init()
2020-05-23 17:59:30 -04:00
Glenn Strauss
5b58e5e47e
[mod_ssi] use config_plugin_values_init()
2020-05-23 17:59:30 -04:00
Glenn Strauss
be7eb1083a
[mod_userdir] use config_plugin_values_init()
2020-05-23 17:59:30 -04:00
Glenn Strauss
28b7d0b656
[mod_userdir] split policy from userdir path build
2020-05-23 17:59:30 -04:00
Glenn Strauss
5fd8e1940e
[mod_usertrack] use config_plugin_values_init()
2020-05-23 17:59:29 -04:00
Glenn Strauss
84ccd87b31
[mod_magnet] use config_plugin_values_init()
2020-05-23 17:59:29 -04:00
Glenn Strauss
476fd9569c
[mod_flv_streaming] use config_plugin_values_init()
2020-05-23 17:59:29 -04:00
Glenn Strauss
32c42074ec
[mod_expire] use config_plugin_values_init()
2020-05-23 17:59:29 -04:00
Glenn Strauss
362ccedc41
[mod_indexfile] use config_plugin_values_init()
2020-05-23 17:59:29 -04:00
Glenn Strauss
d5782eba65
[mod_alias] use config_plugin_values_init()
2020-05-23 17:59:29 -04:00
Glenn Strauss
3fabcc3653
[mod_setenv] use config_plugin_values_init()
2020-05-23 17:59:29 -04:00
Glenn Strauss
a377b159ec
[mod_skeleton] use config_plugin_values_init()
2020-05-23 17:59:29 -04:00
Glenn Strauss
49140fe308
[mod_staticfile] use config_plugin_values_init()
2020-05-23 17:59:29 -04:00
Glenn Strauss
4b9ee09857
[core] use (const char *) in config file parsing
2020-05-23 17:59:29 -04:00
Glenn Strauss
20450fd652
[core] mv config_setup_connection to connections.c
...
rename config_setup_connection() to connection_reset_config()
2020-05-23 17:59:29 -04:00
Glenn Strauss
d7a6a7a263
[core] (const buffer *) from strftime_cache_get()
2020-05-23 17:59:29 -04:00
Glenn Strauss
784a4355d4
[mod_access] use config_plugin_values_init()
2020-05-23 17:59:29 -04:00
Glenn Strauss
b87e8783c4
[core] config_plugin_values_init() new interface
...
new data structures and interface for processing config directives
(towards more efficient approach to config merging)
continue work to isolate data_config
2020-05-23 17:59:29 -04:00
Glenn Strauss
aba290e0bd
[core] improve condition caching perf
2020-05-23 17:59:29 -04:00
Glenn Strauss
b2b41e36e3
[core] struct plugin_data_base
2020-05-23 17:59:29 -04:00
Glenn Strauss
be04c1239f
[core] macros CONST_LEN_STR and CONST_STR_LEN
2020-05-23 17:59:29 -04:00
Glenn Strauss
e06ac39c81
[core] rearrange server_config, server members
...
rearrange server_config, server members to improved affinity
2020-05-23 17:59:29 -04:00
Glenn Strauss
c022269547
[core] srv->plugin_slots as compact list
2020-05-23 17:59:29 -04:00
Glenn Strauss
e2de4e581e
[core] const char *name in struct plugin
...
put void *data (always used) as first member of struct plugin
add int nconfig member to PLUGIN_DATA
calloc() inits p->data to NULL
2020-05-23 17:59:29 -04:00
Glenn Strauss
2c43ae73dd
[mod_redirect,mod_rewrite] store context_ndx
...
store config context_ndx instead of data_config *dc
2020-05-23 17:59:29 -04:00
Glenn Strauss
36f64b26a1
[core] simpler config_check_cond()
...
optimize for common case where condition has been evaluated for
the request and a cached result exists
(also: begin isolating data_config)
2020-05-23 17:59:29 -04:00
Glenn Strauss
b6e0880ae6
[mod_accesslog] avoid alloc for parsing cookie val
2020-05-23 17:59:29 -04:00
Glenn Strauss
feb21b3da2
[core] inline header and env arrays into con
2020-05-23 17:59:29 -04:00
Glenn Strauss
e3dc34d142
[core] array a->sorted[] as ptrs rather than pos
...
While slightly more memory use in 64-bit (though same memory use as
prior versions of lighttpd), avoids bouncing through second array
when searching in sorted list. Most use of arrays in lighttpd is to
build a list once, and elements are not removed from the list.
2020-05-23 17:59:29 -04:00
Glenn Strauss
a762402da5
[core] keep a->data[] sorted (REVERT)
...
This reverts commit 2260a8062ee599ecf28d9b52b981603fd2084aff.
original ordering of array elements is significant
e.g. in lighttpd.conf lists where first match to request is applied
2020-02-24 11:15:32 -05:00
Glenn Strauss
78cf61b152
[core] streamline config_check_cond()
...
avoid passing srv; use con->srv when needed
2020-02-24 11:15:32 -05:00
Glenn Strauss
5aadcba456
[core] buffer string in data_config
...
(instead of (buffer *))
2020-02-24 11:15:32 -05:00
Glenn Strauss
a51278030e
[core] const char *op in data_config
...
(instead of (buffer *))
2020-02-24 11:15:32 -05:00
Glenn Strauss
c2238256e2
[core] inline array as part of data_array value
...
(instead of value being (array *))
2020-02-24 11:15:32 -05:00
Glenn Strauss
6eb34ef5ab
[core] add const to callers of http_header_*_get()
...
(The few places where value is modified in-place were not made const)
2020-02-24 11:15:32 -05:00
Glenn Strauss
601c572c39
[core] inline buffer as part of data_string value
...
(instead of value being (buffer *))
2020-02-24 11:15:32 -05:00
Glenn Strauss
b7942c58cc
[core] (data_unset *) from array_get_element_klen
...
return (data_unset *) from array_get_element_klen() to prep for
putting buffer into data_string for value member, rather than as
(buffer *)
(allow in-place modification of these buffer values)
2020-02-24 11:15:32 -05:00
Glenn Strauss
47a758f959
[core] inline buffer key for *_patch_connection()
...
handle buffer key as part of DATA_UNSET in *_patch_connection()
(instead of key being (buffer *))
2020-02-24 11:15:32 -05:00
Glenn Strauss
ad9b7e009b
[core] inline buffer as part of DATA_UNSET key
...
(instead of key being (buffer *))
2020-02-24 11:15:32 -05:00
Glenn Strauss
cff64cf170
[core] http_header_hkey_get() over const array
...
fixed-size power-2 struct keylenvalue
http_headers_off[] of offsets into http_headers[] by string length
2020-02-24 11:15:32 -05:00
Glenn Strauss
a7a721ab43
[core] treat con->conditional_is_valid as bitfield
2020-02-24 11:15:32 -05:00