Glenn Strauss
8b382a81c7
[multiple] use sock_addr_get_family in more places
2020-10-11 12:19:27 -04:00
Glenn Strauss
164f7600b7
[multiple] con hooks store ctx in con->plugin_ctx
...
modules with connection level hooks now store ctx in con->plugin_ctx
2020-08-02 07:47:41 -04:00
Glenn Strauss
c18f442a63
[multiple] add summaries to top of some modules
2020-07-08 22:51:31 -04:00
Glenn Strauss
7c7f8c467c
[multiple] split con, request (very large change)
...
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().
2020-07-08 19:54:29 -04:00
Glenn Strauss
cc2134c88b
[multiple] copy small struct instead of memcpy()
...
when patching config
2020-07-08 19:54:29 -04:00
Glenn Strauss
100dfaa3f3
[core] move plugin_ctx into (request_st *)
...
NB: in the future, a separate plugin_ctx may be needed for
connection-level plugins to keep state across multiple requests
2020-07-08 19:54:29 -04:00
Glenn Strauss
03b4c993d2
[multiple] generic config array type checking
2020-07-08 19:54:28 -04:00
Glenn Strauss
f24e6d696a
[multiple] plugin_stats array
...
use global rather than passing around (server *) just for that
li_itostrn() and li_utostrn() return string length
(rather than requiring subsequent strlen() to find length)
2020-07-08 19:54:28 -04:00
Glenn Strauss
50bdb55de8
[multiple] connection hooks no longer get (srv *)
...
(explicit (server *) not passed; available in con->srv)
2020-07-08 19:54:28 -04:00
Glenn Strauss
24680a9142
[core] array_init() arg for initial size
2020-07-08 18:08:52 -04:00
Glenn Strauss
b73949e03f
[multiple] plugin.c handles common FREE_FUNC code
...
(simpler for modules; less boilerplate to cut-n-paste)
2020-07-08 18:08:51 -04:00
Glenn Strauss
12b11f3042
[mod_maxminddb] use config_plugin_values_init()
2020-07-08 18:08:51 -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
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
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
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
4ac239c401
[mod_maxminddb] MaxMind GeoIP2 support
2019-05-26 10:21:57 -04:00