Lines Matching refs:srv
115 static handler_t proxy_handle_fdevent(server *srv, void *ctx, int revents);
160 UNUSED(srv); in FREE_FUNC()
167 for (i = 0; i < srv->config_context->used; i++) { in FREE_FUNC()
197 p->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *)); in SETDEFAULTS_FUNC()
199 for (i = 0; i < srv->config_context->used; i++) { in SETDEFAULTS_FUNC()
214 ca = ((data_config *)srv->config_context->data[i])->value; in SETDEFAULTS_FUNC()
216 if (0 != config_insert_values_global(srv, ca, cv)) { in SETDEFAULTS_FUNC()
229 log_error_write(srv, __FILE__, __LINE__, "sb", in SETDEFAULTS_FUNC()
239 log_error_write(srv, __FILE__, __LINE__, "sss", in SETDEFAULTS_FUNC()
255 log_error_write(srv, __FILE__, __LINE__, "sssbs", in SETDEFAULTS_FUNC()
283 log_error_write(srv, __FILE__, __LINE__, "ssSBS", in SETDEFAULTS_FUNC()
300 if (0 != config_insert_values_internal(srv, da_host->value, pcv)) { in SETDEFAULTS_FUNC()
305 log_error_write(srv, __FILE__, __LINE__, "sbbbs", in SETDEFAULTS_FUNC()
335 static void proxy_connection_close(server *srv, handler_ctx *hctx) { in proxy_connection_close() argument
345 fdevent_event_del(srv->ev, &(hctx->fde_ndx), hctx->fd); in proxy_connection_close()
346 fdevent_unregister(srv->ev, hctx->fd); in proxy_connection_close()
349 srv->cur_fds--; in proxy_connection_close()
360 static int proxy_establish_connection(server *srv, handler_ctx *hctx) { in proxy_establish_connection() argument
396 log_error_write(srv, __FILE__, __LINE__, "sd", in proxy_establish_connection()
403 log_error_write(srv, __FILE__, __LINE__, "sdsd", in proxy_establish_connection()
410 log_error_write(srv, __FILE__, __LINE__, "sd", in proxy_establish_connection()
442 static int proxy_create_env(server *srv, handler_ctx *hctx) { in proxy_create_env() argument
459 proxy_append_header(con, "X-Forwarded-For", (char *)inet_ntop_cache_get_ip(srv, &(con->dst_addr))); in proxy_create_env()
546 static int proxy_set_state(server *srv, handler_ctx *hctx, proxy_connection_state_t state) { in proxy_set_state() argument
548 hctx->state_timestamp = srv->cur_ts; in proxy_set_state()
554 static int proxy_response_parse(server *srv, connection *con, plugin_data *p, buffer *in) { in proxy_response_parse() argument
558 UNUSED(srv); in proxy_response_parse()
646 static int proxy_demux_response(server *srv, handler_ctx *hctx) { in proxy_demux_response() argument
657 log_error_write(srv, __FILE__, __LINE__, "sd", in proxy_demux_response()
665 log_error_write(srv, __FILE__, __LINE__, "sd", in proxy_demux_response()
680 log_error_write(srv, __FILE__, __LINE__, "sds", in proxy_demux_response()
693 log_error_write(srv, __FILE__, __LINE__, "sdsbs", in proxy_demux_response()
713 log_error_write(srv, __FILE__, __LINE__, "sb", "Header:", hctx->response_header); in proxy_demux_response()
716 proxy_response_parse(srv, con, p, hctx->response_header); in proxy_demux_response()
726 http_chunk_append_mem(srv, con, c + 4, blen + 1); in proxy_demux_response()
729 joblist_append(srv, con); in proxy_demux_response()
732 http_chunk_append_mem(srv, con, hctx->response->ptr, hctx->response->used); in proxy_demux_response()
733 joblist_append(srv, con); in proxy_demux_response()
741 http_chunk_append_mem(srv, con, NULL, 0); in proxy_demux_response()
742 joblist_append(srv, con); in proxy_demux_response()
751 static handler_t proxy_write_request(server *srv, handler_ctx *hctx) { in proxy_write_request() argument
776 log_error_write(srv, __FILE__, __LINE__, "ss", "socket failed: ", strerror(errno)); in proxy_write_request()
783 log_error_write(srv, __FILE__, __LINE__, "ss", "socket failed: ", strerror(errno)); in proxy_write_request()
789 srv->cur_fds++; in proxy_write_request()
791 fdevent_register(srv->ev, hctx->fd, proxy_handle_fdevent, hctx); in proxy_write_request()
793 if (-1 == fdevent_fcntl_set(srv->ev, hctx->fd)) { in proxy_write_request()
794 log_error_write(srv, __FILE__, __LINE__, "ss", "fcntl failed: ", strerror(errno)); in proxy_write_request()
799 switch (proxy_establish_connection(srv, hctx)) { in proxy_write_request()
801 proxy_set_state(srv, hctx, PROXY_STATE_CONNECT); in proxy_write_request()
805 fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); in proxy_write_request()
815 proxy_set_state(srv, hctx, PROXY_STATE_PREPARE_WRITE); in proxy_write_request()
822 proxy_create_env(srv, hctx); in proxy_write_request()
824 proxy_set_state(srv, hctx, PROXY_STATE_WRITE); in proxy_write_request()
828 ret = srv->network_backend_write(srv, con, hctx->fd, hctx->wb, MAX_WRITE_LIMIT); in proxy_write_request()
833 log_error_write(srv, __FILE__, __LINE__, "ssd", "write failed:", strerror(errno), errno); in proxy_write_request()
837 …log_error_write(srv, __FILE__, __LINE__, "ssd", "write failed, remote connection close:", strerror… in proxy_write_request()
843 proxy_set_state(srv, hctx, PROXY_STATE_READ); in proxy_write_request()
845 fdevent_event_del(srv->ev, &(hctx->fde_ndx), hctx->fd); in proxy_write_request()
846 fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_IN); in proxy_write_request()
848 fdevent_event_set(srv->ev, &(hctx->fde_ndx), hctx->fd, FDEVENT_OUT); in proxy_write_request()
858 log_error_write(srv, __FILE__, __LINE__, "s", "(debug) unknown state"); in proxy_write_request()
867 static int mod_proxy_patch_connection(server *srv, connection *con, plugin_data *p) { in mod_proxy_patch_connection() argument
876 for (i = 1; i < srv->config_context->used; i++) { in mod_proxy_patch_connection()
877 data_config *dc = (data_config *)srv->config_context->data[i]; in mod_proxy_patch_connection()
881 if (!config_check_cond(srv, con, dc)) continue; in mod_proxy_patch_connection()
909 mod_proxy_patch_connection(srv, con, p); in SUBREQUEST_FUNC()
917 switch(proxy_write_request(srv, hctx)) { in SUBREQUEST_FUNC()
919 log_error_write(srv, __FILE__, __LINE__, "sbdd", "proxy-server disabled:", in SUBREQUEST_FUNC()
926 host->disable_ts = srv->cur_ts; in SUBREQUEST_FUNC()
928 proxy_connection_close(srv, hctx); in SUBREQUEST_FUNC()
934 joblist_append(srv, con); in SUBREQUEST_FUNC()
957 static handler_t proxy_handle_fdevent(server *srv, void *ctx, int revents) { in proxy_handle_fdevent() argument
967 log_error_write(srv, __FILE__, __LINE__, "sd", in proxy_handle_fdevent()
971 switch (proxy_demux_response(srv, hctx)) { in proxy_handle_fdevent()
976 proxy_connection_close(srv, hctx); in proxy_handle_fdevent()
978 joblist_append(srv, con); in proxy_handle_fdevent()
983 connection_set_state(srv, con, CON_STATE_HANDLE_REQUEST); in proxy_handle_fdevent()
988 connection_set_state(srv, con, CON_STATE_ERROR); in proxy_handle_fdevent()
991 joblist_append(srv, con); in proxy_handle_fdevent()
998 log_error_write(srv, __FILE__, __LINE__, "sd", in proxy_handle_fdevent()
1007 fdevent_event_del(srv->ev, &(hctx->fde_ndx), hctx->fd); in proxy_handle_fdevent()
1012 log_error_write(srv, __FILE__, __LINE__, "ss", in proxy_handle_fdevent()
1015 joblist_append(srv, con); in proxy_handle_fdevent()
1019 log_error_write(srv, __FILE__, __LINE__, "ss", in proxy_handle_fdevent()
1023 joblist_append(srv, con); in proxy_handle_fdevent()
1027 log_error_write(srv, __FILE__, __LINE__, "s", "proxy - connect - delayed success"); in proxy_handle_fdevent()
1030 proxy_set_state(srv, hctx, PROXY_STATE_PREPARE_WRITE); in proxy_handle_fdevent()
1040 return mod_proxy_handle_subrequest(srv, con, p); in proxy_handle_fdevent()
1042 log_error_write(srv, __FILE__, __LINE__, "sd", in proxy_handle_fdevent()
1050 log_error_write(srv, __FILE__, __LINE__, "sd", in proxy_handle_fdevent()
1064 hctx->host->disable_ts = srv->cur_ts; in proxy_handle_fdevent()
1065 log_error_write(srv, __FILE__, __LINE__, "sbdd", "proxy-server disabled:", in proxy_handle_fdevent()
1072 hctx->host->disable_ts = srv->cur_ts; in proxy_handle_fdevent()
1074 proxy_connection_close(srv, hctx); in proxy_handle_fdevent()
1080 joblist_append(srv, con); in proxy_handle_fdevent()
1082 proxy_connection_close(srv, hctx); in proxy_handle_fdevent()
1083 joblist_append(srv, con); in proxy_handle_fdevent()
1093 http_chunk_append_mem(srv, con, NULL, 0); in proxy_handle_fdevent()
1097 proxy_connection_close(srv, hctx); in proxy_handle_fdevent()
1098 joblist_append(srv, con); in proxy_handle_fdevent()
1102 log_error_write(srv, __FILE__, __LINE__, "sd", "proxy-FDEVENT_ERR, but no HUP", revents); in proxy_handle_fdevent()
1105 joblist_append(srv, con); in proxy_handle_fdevent()
1106 proxy_connection_close(srv, hctx); in proxy_handle_fdevent()
1112 static handler_t mod_proxy_check_extension(server *srv, connection *con, void *p_d) { in mod_proxy_check_extension() argument
1128 mod_proxy_patch_connection(srv, con, p); in mod_proxy_check_extension()
1142 log_error_write(srv, __FILE__, __LINE__, "s", "proxy - start"); in mod_proxy_check_extension()
1183 log_error_write(srv, __FILE__, __LINE__, "s", "proxy - ext found"); in mod_proxy_check_extension()
1197 log_error_write(srv, __FILE__, __LINE__, "sd", in mod_proxy_check_extension()
1212 log_error_write(srv, __FILE__, __LINE__, "sbbbd", in mod_proxy_check_extension()
1232 log_error_write(srv, __FILE__, __LINE__, "s", in mod_proxy_check_extension()
1254 log_error_write(srv, __FILE__, __LINE__, "s", in mod_proxy_check_extension()
1317 log_error_write(srv, __FILE__, __LINE__, "sbd", in mod_proxy_check_extension()
1327 log_error_write(srv, __FILE__, __LINE__, "sb", in mod_proxy_check_extension()
1336 static handler_t mod_proxy_connection_close_callback(server *srv, connection *con, void *p_d) { in mod_proxy_connection_close_callback() argument
1339 proxy_connection_close(srv, con->plugin_ctx[p->id]); in mod_proxy_connection_close_callback()
1355 for (i = 0; i < srv->config_context->used; i++) { in TRIGGER_FUNC()
1370 srv->cur_ts - host->disable_ts < 5) continue; in TRIGGER_FUNC()
1372 log_error_write(srv, __FILE__, __LINE__, "sbd", in TRIGGER_FUNC()