diff options
author | Glenn Strauss <gstrauss@gluelogic.com> | 2019-11-26 02:13:05 -0500 |
---|---|---|
committer | Glenn Strauss <gstrauss@gluelogic.com> | 2020-07-08 19:54:28 -0400 |
commit | 50bdb55de804953378171cd1caf82bef27ec6cab (patch) | |
tree | 7246396bcd91e110122f6bf98c47a651c188a395 /src/plugin.c | |
parent | 0fcd51438dc663dc1bebf54404e94128924687dd (diff) | |
download | lighttpd-git-50bdb55de804953378171cd1caf82bef27ec6cab.tar.gz |
[multiple] connection hooks no longer get (srv *)
(explicit (server *) not passed; available in con->srv)
Diffstat (limited to 'src/plugin.c')
-rw-r--r-- | src/plugin.c | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/src/plugin.c b/src/plugin.c index 139aa8fb..04652be1 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -283,13 +283,14 @@ typedef struct { } plugin_fn_data; __attribute_hot__ -static handler_t plugins_call_fn_srv_con_data(server * const srv, connection * const con, const int e) { - const uint32_t offset = ((const uint16_t *)srv->plugin_slots)[e]; +static handler_t plugins_call_fn_con_data(connection * const con, const int e) { + const void * const plugin_slots = con->plugin_slots; + const uint32_t offset = ((const uint16_t *)plugin_slots)[e]; if (0 == offset) return HANDLER_GO_ON; const plugin_fn_data *plfd = (const plugin_fn_data *) - (((uintptr_t)srv->plugin_slots) + offset); + (((uintptr_t)plugin_slots) + offset); handler_t rc = HANDLER_GO_ON; - while (plfd->fn && (rc = plfd->fn(srv,con,plfd->data)) == HANDLER_GO_ON) + while (plfd->fn && (rc = plfd->fn(con, plfd->data)) == HANDLER_GO_ON) ++plfd; return rc; } @@ -322,24 +323,24 @@ static void plugins_call_fn_srv_data_all(server * const srv, const int e) { * - void *p_d (plugin_data *) */ -#define PLUGIN_CALL_FN_SRV_CON_DATA(x, y) \ - handler_t plugins_call_##y(server *srv, connection *con) {\ - return plugins_call_fn_srv_con_data(srv, con, x); \ +#define PLUGIN_CALL_FN_CON_DATA(x, y) \ + handler_t plugins_call_##y(connection *con) {\ + return plugins_call_fn_con_data(con, x); \ } -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_URI_CLEAN, handle_uri_clean) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_URI_RAW, handle_uri_raw) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_REQUEST_ENV, handle_request_env) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_REQUEST_DONE, handle_request_done) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_ACCEPT, handle_connection_accept) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_SHUT_WR, handle_connection_shut_wr) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_CLOSE, handle_connection_close) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_SUBREQUEST, handle_subrequest) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_SUBREQUEST_START, handle_subrequest_start) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_RESPONSE_START, handle_response_start) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_DOCROOT, handle_docroot) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_HANDLE_PHYSICAL, handle_physical) -PLUGIN_CALL_FN_SRV_CON_DATA(PLUGIN_FUNC_CONNECTION_RESET, connection_reset) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_URI_CLEAN, handle_uri_clean) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_URI_RAW, handle_uri_raw) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_REQUEST_ENV, handle_request_env) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_REQUEST_DONE, handle_request_done) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_ACCEPT, handle_connection_accept) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_SHUT_WR, handle_connection_shut_wr) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_CONNECTION_CLOSE, handle_connection_close) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_SUBREQUEST, handle_subrequest) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_SUBREQUEST_START, handle_subrequest_start) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_RESPONSE_START, handle_response_start) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_DOCROOT, handle_docroot) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_HANDLE_PHYSICAL, handle_physical) +PLUGIN_CALL_FN_CON_DATA(PLUGIN_FUNC_CONNECTION_RESET, connection_reset) #undef PLUGIN_CALL_FN_SRV_CON_DATA |