This is an automated email from the ASF dual-hosted git repository. rjung pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat-connectors.git
The following commit(s) were added to refs/heads/main by this push: new 03e18177b Break some long lines, no functional change 03e18177b is described below commit 03e18177ba622257442af3198131e4c4067f2cd0 Author: Rainer Jung <rainer.j...@kippdata.de> AuthorDate: Fri Jun 24 00:14:27 2022 +0200 Break some long lines, no functional change --- native/common/jk_ajp12_worker.c | 40 +++-- native/common/jk_ajp14.c | 22 ++- native/common/jk_ajp14_worker.c | 3 +- native/common/jk_ajp_common.c | 313 ++++++++++++++++++++++++-------------- native/common/jk_lb_worker.h | 3 +- native/common/jk_map.h | 12 +- native/common/jk_shm.h | 3 +- native/common/jk_uri_worker_map.c | 197 +++++++++++++++--------- native/common/jk_util.h | 27 ++-- native/common/jk_worker.c | 3 +- native/iis/jk_isapi_plugin.c | 33 ++-- 11 files changed, 427 insertions(+), 229 deletions(-) diff --git a/native/common/jk_ajp12_worker.c b/native/common/jk_ajp12_worker.c index d679998d8..d9d860ba5 100644 --- a/native/common/jk_ajp12_worker.c +++ b/native/common/jk_ajp12_worker.c @@ -199,7 +199,8 @@ static int JK_METHOD validate(jk_worker_t *pThis, p->name, host, port); if (host) { - if (!jk_resolve(host, port, &p->worker_inet_addr, we->pool, JK_FALSE, l)) { + if (!jk_resolve(host, port, &p->worker_inet_addr, we->pool, + JK_FALSE, l)) { jk_log(l, JK_LOG_ERROR, "In jk_worker_t::validate, host '%s:%d' resolve failed", host, port); @@ -212,11 +213,12 @@ static int JK_METHOD validate(jk_worker_t *pThis, return JK_FALSE; } if (source && *source) { - if (!jk_resolve(source, 0, &p->worker_source_inet_addr, we->pool, JK_FALSE, l)) { + if (!jk_resolve(source, 0, &p->worker_source_inet_addr, we->pool, + JK_FALSE, l)) { p->worker_source_inet_addr.ipaddr_ptr = NULL; jk_log(l, JK_LOG_WARNING, - "In jk_worker_t::validate, source addr '%s' resolve failed - ignored", - source); + "In jk_worker_t::validate, source addr '%s' resolve failed" + " - ignored", source); } } return JK_TRUE; @@ -410,9 +412,12 @@ static int ajpv12_handle_request(ajp12_endpoint_t * p, jk_log(l, JK_LOG_DEBUG, "ajpv12_handle_request, sending the ajp12 start sequence"); - ret = (ajpv12_mark(p, 1) && ajpv12_sendstring(p, s->method) && ajpv12_sendstring(p, 0) && /* zone */ + ret = (ajpv12_mark(p, 1) && + ajpv12_sendstring(p, s->method) && + ajpv12_sendstring(p, 0) && /* zone */ ajpv12_sendstring(p, 0) && /* servlet */ - ajpv12_sendstring(p, s->server_name) && ajpv12_sendstring(p, 0) && /* doc root */ + ajpv12_sendstring(p, s->server_name) && + ajpv12_sendstring(p, 0) && /* doc root */ ajpv12_sendstring(p, 0) && /* path info */ ajpv12_sendstring(p, 0) && /* path translated */ #if defined(AS400) && !defined(AS400_UTF8) @@ -430,21 +435,26 @@ static int ajpv12_handle_request(ajp12_endpoint_t * p, #else ajpv12_sendstring(p, s->method) && #endif - ajpv12_sendstring(p, s->req_uri) && ajpv12_sendstring(p, 0) && /* */ + ajpv12_sendstring(p, s->req_uri) && + ajpv12_sendstring(p, 0) && ajpv12_sendstring(p, 0) && /* SCRIPT_NAME */ #if defined(AS400) && !defined(AS400_UTF8) ajpv12_sendasciistring(p, s->server_name) && #else ajpv12_sendstring(p, s->server_name) && #endif - ajpv12_sendint(p, s->server_port) && ajpv12_sendstring(p, s->protocol) && ajpv12_sendstring(p, 0) && /* SERVER_SIGNATURE */ - ajpv12_sendstring(p, s->server_software) && ajpv12_sendstring(p, s->route) && /* JSERV_ROUTE */ + ajpv12_sendint(p, s->server_port) && + ajpv12_sendstring(p, s->protocol) && + ajpv12_sendstring(p, 0) && /* SERVER_SIGNATURE */ + ajpv12_sendstring(p, s->server_software) && + ajpv12_sendstring(p, s->route) && /* JSERV_ROUTE */ ajpv12_sendstring(p, "") && /* JSERV ajpv12 compatibility */ ajpv12_sendstring(p, "")); /* JSERV ajpv12 compatibility */ if (!ret) { jk_log(l, JK_LOG_ERROR, - "In ajpv12_handle_request, failed to send the ajp12 start sequence"); + "In ajpv12_handle_request, " + "failed to send the ajp12 start sequence"); return JK_FALSE; } @@ -512,7 +522,8 @@ static int ajpv12_handle_request(ajp12_endpoint_t * p, if (!s->read(s, buf, to_read, &this_time)) { jk_log(l, JK_LOG_ERROR, - "In ajpv12_handle_request, failed to read from the web server"); + "In ajpv12_handle_request, " + "failed to read from the web server"); return JK_FALSE; } jk_log(l, JK_LOG_DEBUG, "ajpv12_handle_request, read %d bytes", @@ -521,7 +532,8 @@ static int ajpv12_handle_request(ajp12_endpoint_t * p, so_far += this_time; if ((int)this_time != send(p->sd, buf, this_time, 0)) { jk_log(l, JK_LOG_ERROR, - "In ajpv12_handle_request, failed to write to the container"); + "In ajpv12_handle_request, " + "failed to write to the container"); return JK_FALSE; } jk_log(l, JK_LOG_DEBUG, @@ -529,7 +541,9 @@ static int ajpv12_handle_request(ajp12_endpoint_t * p, } else if (this_time == 0) { jk_log(l, JK_LOG_ERROR, - "In ajpv12_handle_request, Error: short read. content length is %" JK_UINT64_T_FMT ", read %" JK_UINT64_T_FMT, + "In ajpv12_handle_request, Error: short read. " + "Content length is %" JK_UINT64_T_FMT + ", read %" JK_UINT64_T_FMT, s->content_length, so_far); return JK_FALSE; } diff --git a/native/common/jk_ajp14.c b/native/common/jk_ajp14.c index 8b504ed78..16adc2ee6 100644 --- a/native/common/jk_ajp14.c +++ b/native/common/jk_ajp14.c @@ -54,7 +54,8 @@ void ajp14_compute_md5(jk_login_service_t *s, jk_log_context_t *l) */ int ajp14_marshal_login_init_into_msgb(jk_msg_buf_t *msg, - jk_login_service_t *s, jk_log_context_t *l) + jk_login_service_t *s, + jk_log_context_t *l) { JK_TRACE_ENTER(l); /* To be on the safe side */ @@ -126,7 +127,8 @@ int ajp14_unmarshal_login_seed(jk_msg_buf_t *msg, */ int ajp14_marshal_login_comp_into_msgb(jk_msg_buf_t *msg, - jk_login_service_t *s, jk_log_context_t *l) + jk_login_service_t *s, + jk_log_context_t *l) { JK_TRACE_ENTER(l); @@ -192,7 +194,8 @@ int ajp14_unmarshal_log_ok(jk_msg_buf_t *msg, return JK_FALSE; } - if (s->servlet_engine_name) /* take care of removing previously allocated data */ + /* take care of removing previously allocated data */ + if (s->servlet_engine_name) free(s->servlet_engine_name); s->servlet_engine_name = strdup(sname); @@ -250,7 +253,8 @@ int ajp14_unmarshal_log_nok(jk_msg_buf_t *msg, jk_log_context_t *l) */ int ajp14_marshal_shutdown_into_msgb(jk_msg_buf_t *msg, - jk_login_service_t *s, jk_log_context_t *l) + jk_login_service_t *s, + jk_log_context_t *l) { JK_TRACE_ENTER(l); @@ -319,7 +323,8 @@ int ajp14_unmarshal_shutdown_nok(jk_msg_buf_t *msg, jk_log_context_t *l) */ int ajp14_marshal_unknown_packet_into_msgb(jk_msg_buf_t *msg, - jk_msg_buf_t *unk, jk_log_context_t *l) + jk_msg_buf_t *unk, + jk_log_context_t *l) { JK_TRACE_ENTER(l); @@ -341,8 +346,8 @@ int ajp14_marshal_unknown_packet_into_msgb(jk_msg_buf_t *msg, return JK_FALSE; } /* - * UNHANDLED MESSAGE (Question : Did we have to send all the message or only part of) - * (ie: only 1k max) + * UNHANDLED MESSAGE (Question : Did we have to send all the message + * or only part of) (ie: only 1k max) */ if (jk_b_append_bytes(msg, unk->buf, unk->len)) { jk_log(l, JK_LOG_ERROR, @@ -505,7 +510,8 @@ int ajp14_unmarshal_context_info(jk_msg_buf_t *msg, /* * Build the Context State Query Cmd * - * We send the list of contexts where we want to know state, empty string end context list* + * We send the list of contexts where we want to know state, + * empty string ends context list * If cname is set, only ask about THIS context * * +----------------------------+----------------------------------+----------------------------+----+ diff --git a/native/common/jk_ajp14_worker.c b/native/common/jk_ajp14_worker.c index 896c01967..9b5107c29 100644 --- a/native/common/jk_ajp14_worker.c +++ b/native/common/jk_ajp14_worker.c @@ -111,7 +111,8 @@ static int handle_discovery(ajp_endpoint_t * ae, "worker %s will handle uri %s in context %s [%s]", ae->worker->name, ci->uris[j], ci->cbase, buf); - uri_worker_map_add(we->uri_to_worker, buf, ae->worker->name, SOURCE_TYPE_DISCOVER, l); + uri_worker_map_add(we->uri_to_worker, buf, ae->worker->name, + SOURCE_TYPE_DISCOVER, l); } } diff --git a/native/common/jk_ajp_common.c b/native/common/jk_ajp_common.c index 6e3ed4759..02c090bc5 100644 --- a/native/common/jk_ajp_common.c +++ b/native/common/jk_ajp_common.c @@ -367,13 +367,17 @@ int jk_ajp_get_cping_mode(const char *m, int def) if (!m) return def; while (*m != '\0') { - if (*m == AJP_CPING_CONNECT_TEXT || *m == tolower(AJP_CPING_CONNECT_TEXT)) + if (*m == AJP_CPING_CONNECT_TEXT || + *m == tolower(AJP_CPING_CONNECT_TEXT)) mv |= AJP_CPING_CONNECT; - if (*m == AJP_CPING_PREPOST_TEXT || *m == tolower(AJP_CPING_PREPOST_TEXT)) + if (*m == AJP_CPING_PREPOST_TEXT || + *m == tolower(AJP_CPING_PREPOST_TEXT)) mv |= AJP_CPING_PREPOST; - if (*m == AJP_CPING_INTERVAL_TEXT || *m == tolower(AJP_CPING_INTERVAL_TEXT)) + if (*m == AJP_CPING_INTERVAL_TEXT || + *m == tolower(AJP_CPING_INTERVAL_TEXT)) mv |= AJP_CPING_INTERVAL; - if (*m == AJP_CPING_ALL_TEXT || *m == tolower(AJP_CPING_ALL_TEXT)) { + if (*m == AJP_CPING_ALL_TEXT || + *m == tolower(AJP_CPING_ALL_TEXT)) { mv = AJP_CPING_CONNECT | AJP_CPING_PREPOST | AJP_CPING_INTERVAL; break; } @@ -470,8 +474,9 @@ static int ajp_marshal_into_msgb(jk_msg_buf_t *msg, if (jk_b_append_string(msg, s->headers_values[i])) { jk_log(l, JK_LOG_ERROR, - "(%s) failed appending the header value for header '%s' of length %u", - ae->worker->name, s->headers_names[i], strlen(s->headers_names[i])); + "(%s) failed appending the header value for header '%s' of " + "length %u", ae->worker->name, s->headers_names[i], + strlen(s->headers_names[i])); JK_TRACE_EXIT(l); return JK_FALSE; } @@ -532,7 +537,8 @@ static int ajp_marshal_into_msgb(jk_msg_buf_t *msg, if (jk_b_append_byte(msg, SC_A_SSL_CERT) || jk_b_append_string(msg, s->ssl_cert)) { jk_log(l, JK_LOG_ERROR, - "(%s) failed appending the SSL certificates", ae->worker->name); + "(%s) failed appending the SSL certificates", + ae->worker->name); JK_TRACE_EXIT(l); return JK_FALSE; } @@ -662,7 +668,8 @@ static int ajp_marshal_into_msgb(jk_msg_buf_t *msg, jk_b_append_string(msg, s->attributes_values[i])) { jk_log(l, JK_LOG_ERROR, "(%s) failed appending attribute %s=%s", - ae->worker->name, s->attributes_names[i], s->attributes_values[i]); + ae->worker->name, s->attributes_names[i], + s->attributes_values[i]); JK_TRACE_EXIT(l); return JK_FALSE; } @@ -797,7 +804,8 @@ static int ajp_unmarshal_response(jk_msg_buf_t *msg, if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "(%s) Header[%d] [%s] = [%s]", - ae->worker->name, i, d->header_names[i], d->header_values[i]); + ae->worker->name, i, d->header_names[i], + d->header_values[i]); } } } @@ -809,7 +817,8 @@ static int ajp_unmarshal_response(jk_msg_buf_t *msg, /* * Abort endpoint use */ -static void ajp_abort_endpoint(ajp_endpoint_t * ae, int shutdown, jk_log_context_t *l) +static void ajp_abort_endpoint(ajp_endpoint_t * ae, int shutdown, + jk_log_context_t *l) { JK_TRACE_ENTER(l); @@ -820,8 +829,8 @@ static void ajp_abort_endpoint(ajp_endpoint_t * ae, int shutdown, jk_log_context if (IS_VALID_SOCKET(ae->sd)) { if (shutdown == JK_TRUE) { if (ae->hard_close) { - /* Force unclean connection close to communicate client write errors - * back to Tomcat by aborting AJP response writes. + /* Force unclean connection close to communicate client write + * errors back to Tomcat by aborting AJP response writes. */ jk_close_socket(ae->sd, l); } @@ -930,7 +939,8 @@ static int ajp_next_connection(ajp_endpoint_t *ae, jk_log_context_t *l) * @remark Always closes socket in case of * a socket error */ -static int ajp_handle_cping_cpong(ajp_endpoint_t * ae, int timeout, jk_log_context_t *l) +static int ajp_handle_cping_cpong(ajp_endpoint_t * ae, int timeout, + jk_log_context_t *l) { int i; int cmd; @@ -1063,8 +1073,8 @@ int ajp_connect_to_endpoint(ajp_endpoint_t * ae, jk_log_context_t *l) ae->last_errno = errno; jk_log(l, JK_LOG_INFO, "(%s) Failed opening socket to (%s) (errno=%d)", - ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, sizeof(buf)), - ae->last_errno); + ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, + buf, sizeof(buf)), ae->last_errno); JK_TRACE_EXIT(l); return JK_FALSE; } @@ -1098,8 +1108,8 @@ int ajp_connect_to_endpoint(ajp_endpoint_t * ae, jk_log_context_t *l) rc = ajp_handle_cping_cpong(ae, ae->worker->connect_timeout, l); if (rc == JK_FALSE) jk_log(l, JK_LOG_ERROR, - "(%s) cping/cpong after connecting to the backend server failed " - "(errno=%d)", + "(%s) cping/cpong after connecting to the backend server " + "failed (errno=%d)", ae->worker->name, ae->last_errno); } JK_TRACE_EXIT(l); @@ -1162,7 +1172,8 @@ void jk_ajp_pull(ajp_worker_t * aw, int locked, jk_log_context_t *l) /* Close all avail connections in the cache * Note that this won't change active connections. */ - if (IS_SLOT_AVAIL(aw->ep_cache[i]) && IS_VALID_SOCKET(aw->ep_cache[i]->sd)) { + if (IS_SLOT_AVAIL(aw->ep_cache[i]) && + IS_VALID_SOCKET(aw->ep_cache[i]->sd)) { jk_sock_t sd = aw->ep_cache[i]->sd; aw->ep_cache[i]->sd = JK_INVALID_SOCKET; aw->ep_cache[i]->addr_sequence = aw->addr_sequence; @@ -1225,7 +1236,8 @@ void jk_ajp_push(ajp_worker_t * aw, int locked, jk_log_context_t *l) for (i = 0; i < aw->ep_cache_sz; i++) { /* Close all connections in the cache */ - if (IS_SLOT_AVAIL(aw->ep_cache[i]) && IS_VALID_SOCKET(aw->ep_cache[i]->sd)) { + if (IS_SLOT_AVAIL(aw->ep_cache[i]) && + IS_VALID_SOCKET(aw->ep_cache[i]->sd)) { jk_sock_t sd = aw->ep_cache[i]->sd; aw->ep_cache[i]->sd = JK_INVALID_SOCKET; aw->ep_cache[i]->addr_sequence = aw->addr_sequence; @@ -1338,16 +1350,16 @@ int ajp_connection_tcp_get_message(ajp_endpoint_t * ae, jk_log(l, JK_LOG_INFO, "(%s) can't receive the response header message from tomcat, " "tomcat (%s) has forced a connection close for socket %d", - ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, sizeof(buf)), - ae->sd); + ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, + buf, sizeof(buf)), ae->sd); } else { ae->last_errno = -rc; jk_log(l, JK_LOG_INFO, "(%s) can't receive the response header message from tomcat, " "network problems or tomcat (%s) is down (errno=%d)", - ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, sizeof(buf)), - ae->last_errno); + ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, + buf, sizeof(buf)), ae->last_errno); } ajp_abort_endpoint(ae, JK_FALSE, l); JK_TRACE_EXIT(l); @@ -1362,13 +1374,16 @@ int ajp_connection_tcp_get_message(ajp_endpoint_t * ae, if (header == AJP14_SW_HEADER) { jk_log(l, JK_LOG_ERROR, "(%s) received AJP14 reply on an AJP13 connection from %s", - ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, sizeof(buf))); + ae->worker->name, + jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, + sizeof(buf))); } else { jk_log(l, JK_LOG_ERROR, "(%s) wrong message format 0x%04x from %s", - ae->worker->name, header, jk_dump_hinfo(&ae->worker->worker_inet_addr, - buf, sizeof(buf))); + ae->worker->name, header, + jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, + sizeof(buf))); } /* We've got a protocol error. * We can't trust this connection any more. @@ -1384,13 +1399,16 @@ int ajp_connection_tcp_get_message(ajp_endpoint_t * ae, if (header == AJP13_SW_HEADER) { jk_log(l, JK_LOG_ERROR, "(%s) received AJP13 reply on an AJP14 connection from %s", - ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, sizeof(buf))); + ae->worker->name, + jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, + sizeof(buf))); } else { jk_log(l, JK_LOG_ERROR, "(%s) wrong message format 0x%04x from %s", - ae->worker->name, header, jk_dump_hinfo(&ae->worker->worker_inet_addr, - buf, sizeof(buf))); + ae->worker->name, header, + jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, + sizeof(buf))); } /* We've got a protocol error. * We can't trust this connection any more. @@ -1433,7 +1451,8 @@ int ajp_connection_tcp_get_message(ajp_endpoint_t * ae, jk_log(l, JK_LOG_ERROR, "(%s) can't receive the response body message from tomcat, " "tomcat (%s) has forced a connection close for socket %d", - ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, sizeof(buf)), + ae->worker->name, + jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, sizeof(buf)), ae->sd); } else { @@ -1441,7 +1460,8 @@ int ajp_connection_tcp_get_message(ajp_endpoint_t * ae, jk_log(l, JK_LOG_ERROR, "(%s) can't receive the response body message from tomcat, " "network problems or tomcat (%s) is down (errno=%d)", - ae->worker->name, jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, sizeof(buf)), + ae->worker->name, + jk_dump_hinfo(&ae->worker->worker_inet_addr, buf, sizeof(buf)), ae->last_errno); } ajp_abort_endpoint(ae, JK_FALSE, l); @@ -1519,7 +1539,8 @@ static int ajp_read_fully_from_server(jk_ws_service_t *s, jk_log_context_t *l, */ static int ajp_read_into_msg_buff(ajp_endpoint_t * ae, jk_ws_service_t *s, - jk_msg_buf_t *msg, int len, jk_log_context_t *l) + jk_msg_buf_t *msg, int len, + jk_log_context_t *l) { unsigned char *read_buf = msg->buf; int maxlen; @@ -1591,12 +1612,16 @@ static int ajp_read_into_msg_buff(ajp_endpoint_t * ae, * * Return values of ajp_send_request() function: * return value op->recoverable reason - * JK_FATAL_ERROR JK_FALSE ajp_connection_tcp_send_message() returns JK_FATAL_ERROR + * JK_FATAL_ERROR JK_FALSE ajp_connection_tcp_send_message() + * returns JK_FATAL_ERROR * Endpoint belongs to unknown protocol. - * JK_FATAL_ERROR JK_TRUE ajp_connection_tcp_send_message() returns JK_FALSE - * Sending request or request body in jk_tcp_socket_sendfull() returns with error. + * JK_FATAL_ERROR JK_TRUE ajp_connection_tcp_send_message() + * returns JK_FALSE + * Sending request or request body in jk_tcp_socket_sendfull() + * returns with error. * JK_FATAL_ERROR JK_TRUE Could not connect to backend - * JK_CLIENT_RD_ERROR JK_FALSE Error during reading parts of POST body from client + * JK_CLIENT_RD_ERROR JK_FALSE Error during reading parts of POST + * body from client * JK_TRUE JK_TRUE All other cases (OK) */ static int ajp_send_request(jk_endpoint_t *e, @@ -1690,9 +1715,9 @@ static int ajp_send_request(jk_endpoint_t *e, JK_TRACE_EXIT(l); return JK_FATAL_ERROR; } - /* If we got an error or can't send data, then try to steal another pooled - * connection and try again. If we are not successful, break out of this - * loop and try to open a new connection after the loop. + /* If we got an error or can't send data, then try to steal another + * pooled connection and try again. If we are not successful, break + * out of this loop and try to open a new connection after the loop. */ if (ajp_next_connection(ae, l) == JK_FALSE) break; @@ -1723,7 +1748,8 @@ static int ajp_send_request(jk_endpoint_t *e, */ if (ajp_connect_to_endpoint(ae, l) != JK_TRUE) { jk_log(l, JK_LOG_ERROR, - "(%s) connecting to backend failed. Tomcat is probably not started " + "(%s) connecting to backend failed. " + "Tomcat is probably not started " "or is listening on the wrong port (errno=%d)", ae->worker->name, ae->last_errno); JK_TRACE_EXIT(l); @@ -1755,8 +1781,8 @@ static int ajp_send_request(jk_endpoint_t *e, if (rc == JK_FATAL_ERROR) op->recoverable = JK_FALSE; jk_log(l, JK_LOG_ERROR, - "(%s) failed sending request on a fresh connection (%srecoverable), " - "socket %d (errno=%d)", + "(%s) failed sending request on a fresh connection " + "(%srecoverable), socket %d (errno=%d)", ae->worker->name, op->recoverable ? "" : "un", ae->sd, ae->last_errno); JK_TRACE_EXIT(l); @@ -1780,7 +1806,8 @@ static int ajp_send_request(jk_endpoint_t *e, "(%s) request body to send %" JK_UINT64_T_FMT " - request body to resend %d", ae->worker->name, ae->left_bytes_to_send, - op->post->len > AJP_HEADER_LEN ? op->post->len - AJP_HEADER_LEN : 0); + op->post->len > AJP_HEADER_LEN ? + op->post->len - AJP_HEADER_LEN : 0); /* * POST recovery job is done here and will work when data to @@ -1929,7 +1956,8 @@ static int ajp_process_callback(jk_msg_buf_t *msg, */ if (JK_IS_DEBUG_LEVEL(l)) { jk_log(l, JK_LOG_DEBUG, - "(%s) Already received AJP13_SEND HEADERS", ae->worker->name); + "(%s) Already received AJP13_SEND HEADERS", + ae->worker->name); } JK_TRACE_EXIT(l); return JK_AJP13_ERROR; @@ -1944,31 +1972,39 @@ static int ajp_process_callback(jk_msg_buf_t *msg, char **old_names = res.header_names; char **old_values = res.header_values; if (JK_IS_DEBUG_LEVEL(l)) - jk_log(l, JK_LOG_DEBUG, "(%s) Adding %d response headers to %d " - "headers received from tomcat", - ae->worker->name, s->num_resp_headers, res.num_headers); + jk_log(l, JK_LOG_DEBUG, "(%s) Adding %d response headers " + "to %d headers received from tomcat", + ae->worker->name, s->num_resp_headers, + res.num_headers); res.header_names = jk_pool_alloc(s->pool, - (s->num_resp_headers + res.num_headers) * + (s->num_resp_headers + + res.num_headers) * sizeof(char *)); res.header_values = jk_pool_alloc(s->pool, - (s->num_resp_headers + res.num_headers) * + (s->num_resp_headers + + res.num_headers) * sizeof(char *)); if (!res.header_names || !res.header_values) { jk_log(l, JK_LOG_ERROR, "(%s) Failed allocating one %d response headers.", - ae->worker->name, s->num_resp_headers + res.num_headers); + ae->worker->name, + s->num_resp_headers + res.num_headers); res.header_names = old_names; res.header_values = old_values; } else { if (res.num_headers) { - memcpy(res.header_names, old_names, res.num_headers * sizeof(char *)); - memcpy(res.header_values, old_values, res.num_headers * sizeof(char *)); + memcpy(res.header_names, old_names, + res.num_headers * sizeof(char *)); + memcpy(res.header_values, old_values, + res.num_headers * sizeof(char *)); } if (s->num_resp_headers) { - memcpy(res.header_names + res.num_headers, s->resp_headers_names, + memcpy(res.header_names + res.num_headers, + s->resp_headers_names, s->num_resp_headers * sizeof(char *)); - memcpy(res.header_values + res.num_headers, s->resp_headers_values, + memcpy(res.header_values + res.num_headers, + s->resp_headers_values, s->num_resp_headers * sizeof(char *)); } res.num_headers = res.num_headers + s->num_resp_headers; @@ -1977,10 +2013,12 @@ static int ajp_process_callback(jk_msg_buf_t *msg, s->http_response_status = res.status; if (s->extension.fail_on_status_size > 0) rc = is_http_status_fail(s->extension.fail_on_status_size, - s->extension.fail_on_status, res.status); + s->extension.fail_on_status, + res.status); else rc = is_http_status_fail(ae->worker->http_status_fail_num, - ae->worker->http_status_fail, res.status); + ae->worker->http_status_fail, + res.status); if (rc > 0) { JK_TRACE_EXIT(l); return JK_STATUS_FATAL_ERROR; @@ -2022,8 +2060,8 @@ static int ajp_process_callback(jk_msg_buf_t *msg, */ if (jk_b_get_int(msg) == 0) { jk_log(l, JK_LOG_DEBUG, - "(%s) Ignoring flush message received while sending the request", - ae->worker->name); + "(%s) Ignoring flush message received while sending the " + "request", ae->worker->name); return ae->last_op; } /* We have just send a request but received something @@ -2050,8 +2088,9 @@ static int ajp_process_callback(jk_msg_buf_t *msg, */ if (len > (unsigned int)(msg->len - 3)) { jk_log(l, JK_LOG_ERROR, - "(%s) Chunk length too large. Length of AJP message is %d," - " chunk length is %d.", ae->worker->name, msg->len, len); + "(%s) Chunk length too large. Length of AJP message " + "is %d, chunk length is %d.", + ae->worker->name, msg->len, len); JK_TRACE_EXIT(l); return JK_INTERNAL_ERROR; } @@ -2073,8 +2112,8 @@ static int ajp_process_callback(jk_msg_buf_t *msg, else { if (!s->write(s, msg->buf + msg->pos, len)) { jk_log(l, JK_LOG_INFO, - "(%s) Writing to client aborted or client network problems", - ae->worker->name); + "(%s) Writing to client aborted or client network " + "problems", ae->worker->name); JK_TRACE_EXIT(l); return JK_CLIENT_WR_ERROR; } @@ -2170,25 +2209,36 @@ static int ajp_process_callback(jk_msg_buf_t *msg, * * Return values of ajp_get_reply() function: * return value op->recoverable reason - * JK_REPLY_TIMEOUT ?recovery_options Reply timeout while waiting for response packet - * JK_FALSE ?recovery_options Error during ajp_connection_tcp_get_message() + * JK_REPLY_TIMEOUT ?recovery_options Reply timeout while waiting for + * response packet + * JK_FALSE ?recovery_options Error during + * ajp_connection_tcp_get_message() * Could not read the AJP packet header - * JK_AJP_PROTOCOL_ERROR: ?recovery_options Error during ajp_connection_tcp_get_message() + * JK_AJP_PROTOCOL_ERROR: ?recovery_options Error during + * ajp_connection_tcp_get_message() * Failure after reading the AJP packet header - * JK_STATUS_ERROR mostly JK_TRUE ajp_process_callback() returns JK_STATUS_ERROR + * JK_STATUS_ERROR mostly JK_TRUE ajp_process_callback() returns + * JK_STATUS_ERROR * Recoverable, if callback didn't return with a JK_HAS_RESPONSE before. * JK_HAS_RESPONSE: parts of the post buffer are consumed. - * JK_STATUS_FATAL_ERROR mostly JK_TRUE ajp_process_callback() returns JK_STATUS_FATAL_ERROR + * JK_STATUS_FATAL_ERROR mostly JK_TRUE ajp_process_callback() returns + * JK_STATUS_FATAL_ERROR * Recoverable, if callback didn't return with a JK_HAS_RESPONSE before. * JK_HAS_RESPONSE: parts of the post buffer are consumed. - * JK_FATAL_ERROR ? ajp_process_callback() returns JK_AJP13_ERROR - * JK_AJP13_ERROR: protocol error, or JK_INTERNAL_ERROR: chunk size to large - * JK_CLIENT_RD_ERROR ? ajp_process_callback() returns JK_CLIENT_RD_ERROR + * JK_FATAL_ERROR ? ajp_process_callback() returns + * JK_AJP13_ERROR + * JK_AJP13_ERROR: protocol error, or JK_INTERNAL_ERROR: + * chunk size to large + * JK_CLIENT_RD_ERROR ? ajp_process_callback() returns + * JK_CLIENT_RD_ERROR * JK_CLIENT_RD_ERROR: could not read post from client. - * JK_CLIENT_WR_ERROR ? ajp_process_callback() returns JK_CLIENT_WR_ERROR + * JK_CLIENT_WR_ERROR ? ajp_process_callback() returns + * JK_CLIENT_WR_ERROR * JK_CLIENT_WR_ERROR: could not write back result to client - * JK_TRUE ? ajp_process_callback() returns JK_AJP13_END_RESPONSE - * JK_FALSE ? Other unhandled cases (unknown return codes) + * JK_TRUE ? ajp_process_callback() returns + * JK_AJP13_END_RESPONSE + * JK_FALSE ? Other unhandled cases + * (unknown return codes) */ static int ajp_get_reply(jk_endpoint_t *e, jk_ws_service_t *s, @@ -2232,11 +2282,13 @@ static int ajp_get_reply(jk_endpoint_t *e, * for GET or HEAD */ if (op->recoverable == JK_FALSE) { - if (p->worker->recovery_opts & RECOVER_ALWAYS_HTTP_HEAD) { + if (p->worker->recovery_opts & + RECOVER_ALWAYS_HTTP_HEAD) { if (!strcmp(s->method, "HEAD")) op->recoverable = JK_TRUE; } - else if (p->worker->recovery_opts & RECOVER_ALWAYS_HTTP_GET) { + else if (p->worker->recovery_opts & + RECOVER_ALWAYS_HTTP_GET) { if (!strcmp(s->method, "GET")) op->recoverable = JK_TRUE; } @@ -2416,7 +2468,8 @@ static int ajp_get_reply(jk_endpoint_t *e, return JK_FALSE; } -static void ajp_update_stats(jk_endpoint_t *e, ajp_worker_t *aw, int rc, jk_log_context_t *l) +static void ajp_update_stats(jk_endpoint_t *e, ajp_worker_t *aw, int rc, + jk_log_context_t *l) { aw->s->readed += e->rd; aw->s->transferred += e->wr; @@ -2443,32 +2496,57 @@ static void ajp_update_stats(jk_endpoint_t *e, ajp_worker_t *aw, int rc, jk_log_ * * Return values of service() method for ajp13/ajp14 worker: * return value is_error e->recoverable reason - * JK_FALSE JK_HTTP_SERVER_ERROR TRUE Invalid Parameters (null values) - * JK_SERVER_ERROR JK_HTTP_SERVER_ERROR TRUE Error during initializing empty request, response or post body objects - * JK_CLIENT_ERROR JK_HTTP_REQUEST_TOO_LARGE JK_TRUE Request doesn't fit into buffer (error during ajp_marshal_into_msgb()) - * JK_CLIENT_ERROR JK_HTTP_BAD_REQUEST JK_FALSE Error during reading parts of POST body from client - * JK_FATAL_ERROR JK_HTTP_SERVER_ERROR JK_FALSE If ajp_send_request() returns JK_FATAL_ERROR and !op->recoverable. - * JK_FATAL_ERROR JK_HTTP_SERVER_ERROR JK_FALSE If ajp_send_request() returns JK_TRUE but !op->recoverable. + * JK_FALSE JK_HTTP_SERVER_ERROR TRUE Invalid Parameters + * (null values) + * JK_SERVER_ERROR JK_HTTP_SERVER_ERROR TRUE Error during + * initializing empty + * request, response or + * post body objects + * JK_CLIENT_ERROR JK_HTTP_REQUEST_TOO_LARGE JK_TRUE Request doesn't fit + * into buffer + * (error during + * ajp_marshal_into_msgb()) + * JK_CLIENT_ERROR JK_HTTP_BAD_REQUEST JK_FALSE Error during + * reading parts of + * POST body from client + * JK_FATAL_ERROR JK_HTTP_SERVER_ERROR JK_FALSE If ajp_send_request() + * returns JK_FATAL_ERROR + * and !op->recoverable. + * JK_FATAL_ERROR JK_HTTP_SERVER_ERROR JK_FALSE If ajp_send_request() + * returns JK_TRUE + * but !op->recoverable. * This should never happen. - * JK_CLIENT_ERROR JK_HTTP_BAD_REQUEST ? ajp_get_reply() returns JK_CLIENT_RD_ERROR - * JK_CLIENT_ERROR JK_HTTP_OK ? ajp_get_reply() returns JK_CLIENT_WR_ERROR - * JK_FATAL_ERROR JK_HTTP_SERVER_ERROR JK_TRUE ajp_get_reply() returns JK_FATAL_ERROR + * JK_CLIENT_ERROR JK_HTTP_BAD_REQUEST ? ajp_get_reply() + * returns JK_CLIENT_RD_ERROR + * JK_CLIENT_ERROR JK_HTTP_OK ? ajp_get_reply() + * returns JK_CLIENT_WR_ERROR + * JK_FATAL_ERROR JK_HTTP_SERVER_ERROR JK_TRUE ajp_get_reply() + * returns JK_FATAL_ERROR * JK_FATAL_ERROR: protocol error or internal error - * JK_FATAL_ERROR JK_HTTP_SERVER_ERROR JK_FALSE ajp_get_reply() returns JK_FATAL_ERROR + * JK_FATAL_ERROR JK_HTTP_SERVER_ERROR JK_FALSE ajp_get_reply() + * returns JK_FATAL_ERROR * JK_FATAL_ERROR: protocol error or internal error - * JK_STATUS_ERROR JK_HTTP_SERVER_BUSY JK_TRUE ajp_get_reply() returns JK_STATUS_ERROR + * JK_STATUS_ERROR JK_HTTP_SERVER_BUSY JK_TRUE ajp_get_reply() + * returns JK_STATUS_ERROR * Only if op->recoverable and no more ajp13/ajp14 direct retries - * JK_STATUS_ERROR JK_HTTP_SERVER_BUSY JK_FALSE ajp_get_reply() returns JK_STATUS_ERROR + * JK_STATUS_ERROR JK_HTTP_SERVER_BUSY JK_FALSE ajp_get_reply() + * returns JK_STATUS_ERROR * Only if !op->recoverable - * JK_STATUS_FATAL_ERROR JK_HTTP_SERVER_BUSY JK_TRUE ajp_get_reply() returns JK_STATUS_ERROR + * JK_STATUS_FATAL_ERROR JK_HTTP_SERVER_BUSY JK_TRUE ajp_get_reply() + * returns JK_STATUS_ERROR * Only if op->recoverable and no more ajp13/ajp14 direct retries - * JK_STATUS_FATAL_ERROR JK_HTTP_SERVER_BUSY JK_FALSE ajp_get_reply() returns JK_STATUS_FATAL_ERROR + * JK_STATUS_FATAL_ERROR JK_HTTP_SERVER_BUSY JK_FALSE ajp_get_reply() + * returns JK_STATUS_FATAL_ERROR * Only if !op->recoverable - * JK_REPLY_TIMEOUT JK_HTTP_GATEWAY_TIME_OUT JK_TRUE ajp_get_reply() returns JK_REPLY_TIMEOUT - * JK_AJP_PROTOCOL_ERROR JK_HTTP_GATEWAY_TIME_OUT ? ajp_get_reply() returns JK_AJP_PROTOCOL_ERROR - * ??? JK_FATAL_ERROR JK_HTTP_GATEWAY_TIME_OUT JK_FALSE ajp_get_reply() returns something else + * JK_REPLY_TIMEOUT JK_HTTP_GATEWAY_TIME_OUT JK_TRUE ajp_get_reply() + * returns JK_REPLY_TIMEOUT + * JK_AJP_PROTOCOL_ERROR JK_HTTP_GATEWAY_TIME_OUT ? ajp_get_reply() + * returns JK_AJP_PROTOCOL_ERROR + * ??? JK_FATAL_ERROR JK_HTTP_GATEWAY_TIME_OUT JK_FALSE ajp_get_reply() + * returns something else * Only if !op->recoverable - * ??? JK_FALSE JK_HTTP_SERVER_BUSY JK_TRUE ajp_get_reply() returns JK_FALSE + * ??? JK_FALSE JK_HTTP_SERVER_BUSY JK_TRUE ajp_get_reply() + * returns JK_FALSE * Only if op->recoverable and no more ajp13/ajp14 direct retries * JK_TRUE JK_HTTP_OK ? OK */ @@ -2600,7 +2678,8 @@ static int JK_METHOD ajp_service(jk_endpoint_t *e, jk_log(l, JK_LOG_ERROR, "(%s) sending request to tomcat failed (recoverable), " "busy limit %d reached (rc=%d, errors=%d, client_errors=%d).", - aw->name, aw->busy_limit, rc, aw->s->errors, aw->s->client_errors); + aw->name, aw->busy_limit, rc, aw->s->errors, + aw->s->client_errors); JK_TRACE_EXIT(l); return rc; } @@ -2795,7 +2874,8 @@ static int JK_METHOD ajp_service(jk_endpoint_t *e, /* Log the error only once per failed request. */ jk_log(l, JK_LOG_ERROR, - "(%s) connecting to tomcat failed (rc=%d, errors=%d, client_errors=%d).", + "(%s) connecting to tomcat failed " + "(rc=%d, errors=%d, client_errors=%d).", aw->name, rc, aw->s->errors, aw->s->client_errors); JK_TRACE_EXIT(l); @@ -2899,7 +2979,8 @@ int ajp_validate(jk_worker_t *pThis, */ if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, - "worker %s contact '%s:%d' already configured type=%d (%d) [%d]", + "worker %s contact '%s:%d' already configured " + "type=%d (%d) [%d]", p->name, p->host, p->port, p->s->h.type, p->s->h.sequence, p->s->addr_sequence); /* Force resolve */ @@ -2917,7 +2998,8 @@ int ajp_validate(jk_worker_t *pThis, return JK_FALSE; } -static int ajp_create_endpoint_cache(ajp_worker_t *p, int proto, jk_log_context_t *l) +static int ajp_create_endpoint_cache(ajp_worker_t *p, int proto, + jk_log_context_t *l) { unsigned int i; time_t now = time(NULL); @@ -2932,9 +3014,10 @@ static int ajp_create_endpoint_cache(ajp_worker_t *p, int proto, jk_log_context_ } if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, - "(%s) setting connection pool size to %u with min %u " - "and acquire timeout %d", - p->name, p->ep_cache_sz, p->ep_mincache_sz, p->cache_acquire_timeout); + "(%s) setting connection pool size to %u with min %u " + "and acquire timeout %d", + p->name, p->ep_cache_sz, p->ep_mincache_sz, + p->cache_acquire_timeout); for (i = 0; i < p->ep_cache_sz; i++) { p->ep_cache[i] = (ajp_endpoint_t *)calloc(1, sizeof(ajp_endpoint_t)); if (!p->ep_cache[i]) { @@ -2964,8 +3047,8 @@ static int ajp_create_endpoint_cache(ajp_worker_t *p, int proto, jk_log_context_ return JK_TRUE; } -int ajp_init(jk_worker_t *pThis, - jk_map_t *props, jk_worker_env_t *we, jk_log_context_t *l, int proto) +int ajp_init(jk_worker_t *pThis, jk_map_t *props, jk_worker_env_t *we, + jk_log_context_t *l, int proto) { int rc = JK_FALSE; int cache; @@ -3065,7 +3148,8 @@ int ajp_init(jk_worker_t *pThis, if (p->retries < 1) { jk_log(l, JK_LOG_INFO, - "(%s) number of retries must be greater then 1. Setting to default=%d", + "(%s) number of retries must be greater then 1. " + "Setting to default=%d", p->name, JK_RETRIES); p->retries = JK_RETRIES; } @@ -3333,7 +3417,8 @@ int ajp_get_endpoint(jk_worker_t *pThis, ae->avail = JK_TRUE; ae = NULL; jk_log(l, JK_LOG_WARNING, - "(%s) closing non reusable pool slot=%d", aw->name, slot); + "(%s) closing non reusable pool slot=%d", + aw->name, slot); } } } @@ -3356,7 +3441,8 @@ int ajp_get_endpoint(jk_worker_t *pThis, *je = &ae->endpoint; if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, - "(%s) acquired connection pool slot=%u after %d retries", + "(%s) acquired connection pool slot=%u " + "after %d retries", aw->name, slot, retry); JK_TRACE_EXIT(l); return JK_TRUE; @@ -3383,7 +3469,8 @@ int ajp_get_endpoint(jk_worker_t *pThis, return JK_FALSE; } -int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t mstarted, int global, jk_log_context_t *l) +int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t mstarted, int global, + jk_log_context_t *l) { JK_TRACE_ENTER(l); @@ -3421,7 +3508,8 @@ int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t mstarted, int global, jk_l */ if (IS_SLOT_AVAIL(aw->ep_cache[i]) && IS_VALID_SOCKET(aw->ep_cache[i]->sd)) { - int elapsed = (int)difftime(mstarted, aw->ep_cache[i]->last_access); + int elapsed = (int)difftime(mstarted, + aw->ep_cache[i]->last_access); if (elapsed > aw->cache_timeout) { time_t rt = 0; n++; @@ -3434,7 +3522,8 @@ int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t mstarted, int global, jk_l if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "(%s) cleaning pool slot=%d elapsed %d in %d", - aw->name, i, elapsed, (int)(difftime(time(NULL), rt))); + aw->name, i, elapsed, + (int)(difftime(time(NULL), rt))); } } if (cnt <= aw->ep_mincache_sz + n) { @@ -3455,7 +3544,8 @@ int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t mstarted, int global, jk_l */ if (IS_SLOT_AVAIL(aw->ep_cache[i]) && IS_VALID_SOCKET(aw->ep_cache[i]->sd)) { - int elapsed = (int)difftime(mstarted, aw->ep_cache[i]->last_access); + int elapsed = (int)difftime(mstarted, + aw->ep_cache[i]->last_access); if (elapsed > aw->conn_ping_interval) { k++; /* handle cping/cpong. @@ -3492,7 +3582,8 @@ int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t mstarted, int global, jk_l free(m_sock); if ((k + n) && JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, - "(%s) pinged %u and recycled %u sockets in %d seconds from %u pool slots", + "(%s) pinged %u and recycled %u sockets in %d seconds " + "from %u pool slots", aw->name, k, n, (int)(difftime(time(NULL), mstarted)), aw->ep_cache_sz); JK_TRACE_EXIT(l); diff --git a/native/common/jk_lb_worker.h b/native/common/jk_lb_worker.h index 7385c3875..06ada6244 100644 --- a/native/common/jk_lb_worker.h +++ b/native/common/jk_lb_worker.h @@ -219,7 +219,8 @@ const char *jk_lb_get_activation(lb_sub_worker_t *p, jk_log_context_t *log_ctx); int jk_lb_get_activation_code(const char *v); void reset_lb_values(lb_worker_t *p, jk_log_context_t *log_ctx); void jk_lb_pull(lb_worker_t * p, int locked, jk_log_context_t *log_ctx); -void jk_lb_push(lb_worker_t * p, int locked, int push_all_members, jk_log_context_t *log_ctx); +void jk_lb_push(lb_worker_t * p, int locked, int push_all_members, + jk_log_context_t *log_ctx); void update_mult(lb_worker_t * p, jk_log_context_t *log_ctx); #ifdef __cplusplus diff --git a/native/common/jk_map.h b/native/common/jk_map.h index 264f4ef73..b367872ef 100644 --- a/native/common/jk_map.h +++ b/native/common/jk_map.h @@ -83,9 +83,11 @@ int jk_map_add(jk_map_t *m, const char *name, const void *value); int jk_map_put(jk_map_t *m, const char *name, const void *value, void **old); -int jk_map_read_property(jk_map_t *m, jk_map_t *env, const char *str, int treatment, jk_log_context_t *log_ctx); +int jk_map_read_property(jk_map_t *m, jk_map_t *env, const char *str, + int treatment, jk_log_context_t *log_ctx); -int jk_map_read_properties(jk_map_t *m, jk_map_t *env, const char *f, time_t *modified, int treatment, jk_log_context_t *log_ctx); +int jk_map_read_properties(jk_map_t *m, jk_map_t *env, const char *f, + time_t *modified, int treatment, jk_log_context_t *log_ctx); int jk_map_size(jk_map_t *m); @@ -97,9 +99,11 @@ void jk_map_dump(jk_map_t *m, jk_log_context_t *log_ctx); int jk_map_copy(jk_map_t *src, jk_map_t *dst); -int jk_map_resolve_references(jk_map_t *m, const char *prefix, int wildcard, int depth, jk_log_context_t *log_ctx); +int jk_map_resolve_references(jk_map_t *m, const char *prefix, int wildcard, + int depth, jk_log_context_t *log_ctx); -int jk_map_inherit_properties(jk_map_t *m, const char *from, const char *to, jk_log_context_t *log_ctx); +int jk_map_inherit_properties(jk_map_t *m, const char *from, const char *to, + jk_log_context_t *log_ctx); #ifdef __cplusplus } diff --git a/native/common/jk_shm.h b/native/common/jk_shm.h index 819d04d78..a07f7cb4e 100644 --- a/native/common/jk_shm.h +++ b/native/common/jk_shm.h @@ -51,7 +51,8 @@ extern "C" #define JK_SHM_DEF_WORKERS 64 #define JK_SHM_ALIGNMENT JK_SHM_SLOT_SIZE #define JK_SHM_ALIGN(x) JK_ALIGN((x), JK_SHM_ALIGNMENT) -#define JK_SHM_MIN_SIZE ((JK_SHM_SLOT_SIZE * JK_SHM_DEF_WORKERS * 3) + JK_SHM_ALIGNMENT) +#define JK_SHM_MIN_SIZE ((JK_SHM_SLOT_SIZE * JK_SHM_DEF_WORKERS * 3) + \ + JK_SHM_ALIGNMENT) /** jk shm generic worker record structure */ struct jk_shm_worker_header diff --git a/native/common/jk_uri_worker_map.c b/native/common/jk_uri_worker_map.c index bb610f6fa..6127f352e 100644 --- a/native/common/jk_uri_worker_map.c +++ b/native/common/jk_uri_worker_map.c @@ -174,14 +174,17 @@ static void uri_worker_map_dump(jk_uri_worker_map_t *uw_map, if (uw_map) { int i, off; if (JK_IS_DEBUG_LEVEL(l)) { - jk_log(l, JK_LOG_DEBUG, "uri map dump %s: id=%d, index=%d file='%s' reject_unsafe=%d " - "reload=%d modified=%d checked=%d", - reason, uw_map->id, uw_map->index, STRNULL_FOR_NULL(uw_map->fname), - uw_map->reject_unsafe, uw_map->reload, uw_map->modified, uw_map->checked); + jk_log(l, JK_LOG_DEBUG, "uri map dump %s: id=%d, index=%d file='%s' " + "reject_unsafe=%d reload=%d modified=%d checked=%d", + reason, uw_map->id, uw_map->index, + STRNULL_FOR_NULL(uw_map->fname), + uw_map->reject_unsafe, uw_map->reload, uw_map->modified, + uw_map->checked); } for (i = 0; i <= 1; i++) { jk_log(l, JK_LOG_DEBUG, "generation %d: size=%d nosize=%d capacity=%d", - i, uw_map->size[i], uw_map->nosize[i], uw_map->capacity[i], uw_map->maps[i]); + i, uw_map->size[i], uw_map->nosize[i], uw_map->capacity[i], + uw_map->maps[i]); } off = uw_map->index; @@ -193,12 +196,15 @@ static void uri_worker_map_dump(jk_uri_worker_map_t *uw_map, for (j = 0; j < uw_map->size[k]; j++) { uri_worker_record_t *uwr = uw_map->maps[k][j]; if (uwr && JK_IS_DEBUG_LEVEL(l)) { - jk_log(l, JK_LOG_DEBUG, "%s (%d) map #%d: uri=%s worker=%s context=%s " - "source=%s type=%s len=%d", + jk_log(l, JK_LOG_DEBUG, "%s (%d) map #%d: uri=%s worker=%s " + "context=%s source=%s type=%s len=%d", i ? "NEXT" : "THIS", i, j, - STRNULL_FOR_NULL(uwr->uri), STRNULL_FOR_NULL(uwr->worker_name), - STRNULL_FOR_NULL(uwr->context), STRNULL_FOR_NULL(uri_worker_map_get_source(uwr)), - STRNULL_FOR_NULL(uri_worker_map_get_match(uwr, buf)), uwr->context_len); + STRNULL_FOR_NULL(uwr->uri), + STRNULL_FOR_NULL(uwr->worker_name), + STRNULL_FOR_NULL(uwr->context), + STRNULL_FOR_NULL(uri_worker_map_get_source(uwr)), + STRNULL_FOR_NULL(uri_worker_map_get_match(uwr, buf)), + uwr->context_len); } } } @@ -233,7 +239,8 @@ int uri_worker_map_alloc(jk_uri_worker_map_t **uw_map_p, uw_map->buf, sizeof(jk_pool_atom_t) * BIG_POOL_SIZE); for (i = 0; i <= 1; i++) { jk_open_pool(&(uw_map->p_dyn[i]), - uw_map->buf_dyn[i], sizeof(jk_pool_atom_t) * BIG_POOL_SIZE); + uw_map->buf_dyn[i], + sizeof(jk_pool_atom_t) * BIG_POOL_SIZE); uw_map->size[i] = 0; uw_map->nosize[i] = 0; uw_map->capacity[i] = 0; @@ -344,9 +351,10 @@ static int uri_worker_map_clear(jk_uri_worker_map_t *uw_map, JK_TRACE_ENTER(l); IND_NEXT(uw_map->maps) = - (uri_worker_record_t **) jk_pool_alloc(&(IND_NEXT(uw_map->p_dyn)), - sizeof(uri_worker_record_t - *) * IND_THIS(uw_map->size)); + (uri_worker_record_t **) + jk_pool_alloc(&(IND_NEXT(uw_map->p_dyn)), + sizeof(uri_worker_record_t *) * + IND_THIS(uw_map->size)); IND_NEXT(uw_map->capacity) = IND_THIS(uw_map->size); IND_NEXT(uw_map->size) = 0; IND_NEXT(uw_map->nosize) = 0; @@ -356,7 +364,8 @@ static int uri_worker_map_clear(jk_uri_worker_map_t *uw_map, if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "deleting map rule '%s=%s' source '%s'", - uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr)); + uwr->context, uwr->worker_name, + uri_worker_map_get_source(uwr)); } else { IND_NEXT(uw_map->maps)[new_size] = uwr; @@ -443,8 +452,8 @@ static void extension_fix_fail_on_status(jk_pool_t *p, extensions->fail_on_status_size = cnt; status = jk_pool_strdup(p, extensions->fail_on_status_str); - extensions->fail_on_status = (int *)jk_pool_alloc(p, - extensions->fail_on_status_size * sizeof(int)); + extensions->fail_on_status = + (int *)jk_pool_alloc(p, extensions->fail_on_status_size * sizeof(int)); if (!extensions->fail_on_status) { jk_log(l, JK_LOG_ERROR, "can't alloc extensions fail_on_status list for worker (%s)", @@ -476,8 +485,10 @@ static void extension_fix_fail_on_status(jk_pool_t *p, } -static int extension_fix_activation(jk_pool_t *p, const char *name, jk_worker_t *jw, - rule_extension_t *extensions, jk_log_context_t *l) +static int extension_fix_activation(jk_pool_t *p, const char *name, + jk_worker_t *jw, + rule_extension_t *extensions, + jk_log_context_t *l) { JK_TRACE_ENTER(l); @@ -493,8 +504,9 @@ static int extension_fix_activation(jk_pool_t *p, const char *name, jk_worker_t lb_worker_t *lb = (lb_worker_t *)jw->worker_private; if (!extensions->activation) { extensions->activation_size = lb->num_of_workers; - extensions->activation = (int *)jk_pool_alloc(p, - extensions->activation_size * sizeof(int)); + extensions->activation = + (int *)jk_pool_alloc(p, + extensions->activation_size * sizeof(int)); if (!extensions->activation) { jk_log(l, JK_LOG_ERROR, "can't alloc extensions activation list"); @@ -542,8 +554,10 @@ static int extension_fix_activation(jk_pool_t *p, const char *name, jk_worker_t return JK_TRUE; } -static void extension_fix_session(jk_pool_t *p, const char *name, jk_worker_t *jw, - rule_extension_t *extensions, jk_log_context_t *l) +static void extension_fix_session(jk_pool_t *p, const char *name, + jk_worker_t *jw, + rule_extension_t *extensions, + jk_log_context_t *l) { if (jw->type != JK_LB_WORKER_TYPE && extensions->session_cookie) { jk_log(l, JK_LOG_WARNING, @@ -667,14 +681,19 @@ void parse_rule_extensions(char *rule, rule_extension_t *extensions, #endif if (param) { #ifdef _MT_CODE_PTHREAD - for (param = strtok_r(NULL, ";", &lasts); param; param = strtok_r(NULL, ";", &lasts)) { + for (param = strtok_r(NULL, ";", &lasts); param; + param = strtok_r(NULL, ";", &lasts)) { #else - for (param = strtok(NULL, ";"); param; param = strtok(NULL, ";")) { + for (param = strtok(NULL, ";"); param; + param = strtok(NULL, ";")) { #endif - if (!strncmp(param, JK_UWMAP_EXTENSION_REPLY_TIMEOUT, strlen(JK_UWMAP_EXTENSION_REPLY_TIMEOUT))) { - extensions->reply_timeout = atoi(param + strlen(JK_UWMAP_EXTENSION_REPLY_TIMEOUT)); + if (!strncmp(param, JK_UWMAP_EXTENSION_REPLY_TIMEOUT, + strlen(JK_UWMAP_EXTENSION_REPLY_TIMEOUT))) { + extensions->reply_timeout = + atoi(param + strlen(JK_UWMAP_EXTENSION_REPLY_TIMEOUT)); } - else if (!strncmp(param, JK_UWMAP_EXTENSION_STICKY_IGNORE, strlen(JK_UWMAP_EXTENSION_STICKY_IGNORE))) { + else if (!strncmp(param, JK_UWMAP_EXTENSION_STICKY_IGNORE, + strlen(JK_UWMAP_EXTENSION_STICKY_IGNORE))) { int val = atoi(param + strlen(JK_UWMAP_EXTENSION_STICKY_IGNORE)); if (val) { extensions->sticky_ignore = JK_TRUE; @@ -683,7 +702,8 @@ void parse_rule_extensions(char *rule, rule_extension_t *extensions, extensions->sticky_ignore = JK_FALSE; } } - else if (!strncmp(param, JK_UWMAP_EXTENSION_STATELESS, strlen(JK_UWMAP_EXTENSION_STATELESS))) { + else if (!strncmp(param, JK_UWMAP_EXTENSION_STATELESS, + strlen(JK_UWMAP_EXTENSION_STATELESS))) { int val = atoi(param + strlen(JK_UWMAP_EXTENSION_STATELESS)); if (val) { extensions->stateless = JK_TRUE; @@ -692,48 +712,67 @@ void parse_rule_extensions(char *rule, rule_extension_t *extensions, extensions->stateless = JK_FALSE; } } - else if (!strncmp(param, JK_UWMAP_EXTENSION_USE_SRV_ERRORS, strlen(JK_UWMAP_EXTENSION_USE_SRV_ERRORS))) { - extensions->use_server_error_pages = atoi(param + strlen(JK_UWMAP_EXTENSION_USE_SRV_ERRORS)); + else if (!strncmp(param, JK_UWMAP_EXTENSION_USE_SRV_ERRORS, + strlen(JK_UWMAP_EXTENSION_USE_SRV_ERRORS))) { + extensions->use_server_error_pages = + atoi(param + strlen(JK_UWMAP_EXTENSION_USE_SRV_ERRORS)); } - else if (!strncmp(param, JK_UWMAP_EXTENSION_ACTIVE, strlen(JK_UWMAP_EXTENSION_ACTIVE))) { + else if (!strncmp(param, JK_UWMAP_EXTENSION_ACTIVE, + strlen(JK_UWMAP_EXTENSION_ACTIVE))) { if (extensions->active) jk_log(l, JK_LOG_WARNING, - "rule extension '" JK_UWMAP_EXTENSION_ACTIVE "' only allowed once"); + "rule extension '" JK_UWMAP_EXTENSION_ACTIVE + "' only allowed once"); else - extensions->active = param + strlen(JK_UWMAP_EXTENSION_ACTIVE); + extensions->active = param + + strlen(JK_UWMAP_EXTENSION_ACTIVE); } - else if (!strncmp(param, JK_UWMAP_EXTENSION_DISABLED, strlen(JK_UWMAP_EXTENSION_DISABLED))) { + else if (!strncmp(param, JK_UWMAP_EXTENSION_DISABLED, + strlen(JK_UWMAP_EXTENSION_DISABLED))) { if (extensions->disabled) jk_log(l, JK_LOG_WARNING, - "rule extension '" JK_UWMAP_EXTENSION_DISABLED "' only allowed once"); + "rule extension '" JK_UWMAP_EXTENSION_DISABLED + "' only allowed once"); else - extensions->disabled = param + strlen(JK_UWMAP_EXTENSION_DISABLED); + extensions->disabled = param + + strlen(JK_UWMAP_EXTENSION_DISABLED); } - else if (!strncmp(param, JK_UWMAP_EXTENSION_STOPPED, strlen(JK_UWMAP_EXTENSION_STOPPED))) { + else if (!strncmp(param, JK_UWMAP_EXTENSION_STOPPED, + strlen(JK_UWMAP_EXTENSION_STOPPED))) { if (extensions->stopped) jk_log(l, JK_LOG_WARNING, - "rule extension '" JK_UWMAP_EXTENSION_STOPPED "' only allowed once"); + "rule extension '" JK_UWMAP_EXTENSION_STOPPED + "' only allowed once"); else - extensions->stopped = param + strlen(JK_UWMAP_EXTENSION_STOPPED); + extensions->stopped = param + + strlen(JK_UWMAP_EXTENSION_STOPPED); } - else if (!strncmp(param, JK_UWMAP_EXTENSION_FAIL_ON_STATUS, strlen(JK_UWMAP_EXTENSION_FAIL_ON_STATUS))) { + else if (!strncmp(param, JK_UWMAP_EXTENSION_FAIL_ON_STATUS, + strlen(JK_UWMAP_EXTENSION_FAIL_ON_STATUS))) { if (extensions->fail_on_status_str) jk_log(l, JK_LOG_WARNING, - "rule extension '" JK_UWMAP_EXTENSION_FAIL_ON_STATUS "' only allowed once"); + "rule extension '" JK_UWMAP_EXTENSION_FAIL_ON_STATUS + "' only allowed once"); else - extensions->fail_on_status_str = param + strlen(JK_UWMAP_EXTENSION_FAIL_ON_STATUS); + extensions->fail_on_status_str = + param + strlen(JK_UWMAP_EXTENSION_FAIL_ON_STATUS); } - else if (!strncmp(param, JK_UWMAP_EXTENSION_SESSION_COOKIE, strlen(JK_UWMAP_EXTENSION_SESSION_COOKIE))) { + else if (!strncmp(param, JK_UWMAP_EXTENSION_SESSION_COOKIE, + strlen(JK_UWMAP_EXTENSION_SESSION_COOKIE))) { if (extensions->session_cookie) jk_log(l, JK_LOG_WARNING, - "extension '" JK_UWMAP_EXTENSION_SESSION_COOKIE "' in uri worker map only allowed once"); + "extension '" JK_UWMAP_EXTENSION_SESSION_COOKIE + "' in uri worker map only allowed once"); else - extensions->session_cookie = param + strlen(JK_UWMAP_EXTENSION_SESSION_COOKIE); + extensions->session_cookie = + param + strlen(JK_UWMAP_EXTENSION_SESSION_COOKIE); } - else if (!strncmp(param, JK_UWMAP_EXTENSION_SESSION_PATH, strlen(JK_UWMAP_EXTENSION_SESSION_PATH))) { + else if (!strncmp(param, JK_UWMAP_EXTENSION_SESSION_PATH, + strlen(JK_UWMAP_EXTENSION_SESSION_PATH))) { if (extensions->session_path) jk_log(l, JK_LOG_WARNING, - "extension '" JK_UWMAP_EXTENSION_SESSION_PATH "' in uri worker map only allowed once"); + "extension '" JK_UWMAP_EXTENSION_SESSION_PATH + "' in uri worker map only allowed once"); else { // Check if the session identifier starts with semicolon. if (!strcmp(param, JK_UWMAP_EXTENSION_SESSION_PATH)) { @@ -744,15 +783,19 @@ void parse_rule_extensions(char *rule, rule_extension_t *extensions, #endif extensions->session_path = param; } else - extensions->session_path = param + strlen(JK_UWMAP_EXTENSION_SESSION_PATH); + extensions->session_path = + param + strlen(JK_UWMAP_EXTENSION_SESSION_PATH); } } - else if (!strncmp(param, JK_UWMAP_EXTENSION_SET_SESSION_COOKIE, strlen(JK_UWMAP_EXTENSION_SET_SESSION_COOKIE))) { + else if (!strncmp(param, JK_UWMAP_EXTENSION_SET_SESSION_COOKIE, + strlen(JK_UWMAP_EXTENSION_SET_SESSION_COOKIE))) { if (extensions->set_session_cookie) jk_log(l, JK_LOG_WARNING, - "extension '" JK_UWMAP_EXTENSION_SET_SESSION_COOKIE "' in uri worker map only allowed once"); + "extension '" JK_UWMAP_EXTENSION_SET_SESSION_COOKIE + "' in uri worker map only allowed once"); else { - int val = atoi(param + strlen(JK_UWMAP_EXTENSION_SET_SESSION_COOKIE)); + int val = atoi(param + + strlen(JK_UWMAP_EXTENSION_SET_SESSION_COOKIE)); if (val) { extensions->set_session_cookie = JK_TRUE; } @@ -761,12 +804,15 @@ void parse_rule_extensions(char *rule, rule_extension_t *extensions, } } } - else if (!strncmp(param, JK_UWMAP_EXTENSION_SESSION_COOKIE_PATH, strlen(JK_UWMAP_EXTENSION_SESSION_COOKIE_PATH))) { + else if (!strncmp(param, JK_UWMAP_EXTENSION_SESSION_COOKIE_PATH, + strlen(JK_UWMAP_EXTENSION_SESSION_COOKIE_PATH))) { if (extensions->session_cookie_path) jk_log(l, JK_LOG_WARNING, - "extension '" JK_UWMAP_EXTENSION_SESSION_COOKIE_PATH "' in uri worker map only allowed once"); + "extension '" JK_UWMAP_EXTENSION_SESSION_COOKIE_PATH + "' in uri worker map only allowed once"); else - extensions->session_cookie_path = param + strlen(JK_UWMAP_EXTENSION_SESSION_COOKIE_PATH); + extensions->session_cookie_path = + param + strlen(JK_UWMAP_EXTENSION_SESSION_COOKIE_PATH); } else { jk_log(l, JK_LOG_WARNING, @@ -846,7 +892,8 @@ int uri_worker_map_add(jk_uri_worker_map_t *uw_map, if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "wildchar rule '%s=%s' source '%s' was added", - uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr)); + uwr->context, uwr->worker_name, + uri_worker_map_get_source(uwr)); } else { @@ -855,7 +902,8 @@ int uri_worker_map_add(jk_uri_worker_map_t *uw_map, if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "exact rule '%s=%s' source '%s' was added", - uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr)); + uwr->context, uwr->worker_name, + uri_worker_map_get_source(uwr)); } } else { @@ -915,7 +963,8 @@ int uri_worker_map_open(jk_uri_worker_map_t *uw_map, s = strchr(r, '|'); *(s++) = '\0'; /* Add first mapping */ - if (!uri_worker_map_add(uw_map, r, w, SOURCE_TYPE_JKMOUNT, l)) { + if (!uri_worker_map_add(uw_map, r, w, + SOURCE_TYPE_JKMOUNT, l)) { jk_log(l, JK_LOG_ERROR, "invalid mapping rule %s->%s", r, w); rc = JK_FALSE; @@ -924,14 +973,16 @@ int uri_worker_map_open(jk_uri_worker_map_t *uw_map, *(s - 1) = *s; *(s - 1) = '\0'; /* add second mapping */ - if (!uri_worker_map_add(uw_map, r, w, SOURCE_TYPE_JKMOUNT, l)) { + if (!uri_worker_map_add(uw_map, r, w, + SOURCE_TYPE_JKMOUNT, l)) { jk_log(l, JK_LOG_ERROR, "invalid mapping rule %s->%s", r, w); rc = JK_FALSE; } free(r); } - else if (!uri_worker_map_add(uw_map, u, w, SOURCE_TYPE_JKMOUNT, l)) { + else if (!uri_worker_map_add(uw_map, u, w, + SOURCE_TYPE_JKMOUNT, l)) { jk_log(l, JK_LOG_ERROR, "invalid mapping rule %s->%s", u, w); @@ -974,8 +1025,10 @@ static int find_match(jk_uri_worker_map_t *uw_map, continue; if (JK_IS_DEBUG_LEVEL(l)) - jk_log(l, JK_LOG_DEBUG, "Attempting to map context URI '%s=%s' source '%s'", - uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr)); + jk_log(l, JK_LOG_DEBUG, "Attempting to map context URI '%s=%s' " + "source '%s'", + uwr->context, uwr->worker_name, + uri_worker_map_get_source(uwr)); if (uwr->match_type & MATCH_TYPE_WILDCHAR_PATH) { /* Map is already sorted by context_len */ @@ -1042,7 +1095,8 @@ static int is_nomatch(jk_uri_worker_map_t *uw_map, if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "Found a wildchar no match '%s=%s' source '%s'", - uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr)); + uwr->context, uwr->worker_name, + uri_worker_map_get_source(uwr)); JK_TRACE_EXIT(l); return JK_TRUE; } @@ -1052,7 +1106,8 @@ static int is_nomatch(jk_uri_worker_map_t *uw_map, if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "Found an exact no match '%s=%s' source '%s'", - uwr->context, uwr->worker_name, uri_worker_map_get_source(uwr)); + uwr->context, uwr->worker_name, + uri_worker_map_get_source(uwr)); JK_TRACE_EXIT(l); return JK_TRUE; } @@ -1137,7 +1192,8 @@ const char *map_uri_to_worker_ext(jk_uri_worker_map_t *uw_map, else { strncpy(&url[off], vhost, vhost_len + 1); if (JK_IS_DEBUG_LEVEL(l)) { - jk_log(l, JK_LOG_DEBUG, "Prefixing mapping uri with vhost '%s'", vhost); + jk_log(l, JK_LOG_DEBUG, + "Prefixing mapping uri with vhost '%s'", vhost); } } vhost_len += off; @@ -1157,7 +1213,8 @@ const char *map_uri_to_worker_ext(jk_uri_worker_map_t *uw_map, } url[i + vhost_len] = uri[i]; if (reject_unsafe && (uri[i] == '%' || uri[i] == '\\')) { - jk_log(l, JK_LOG_INFO, "Potentially unsafe request url '%s' rejected", uri); + jk_log(l, JK_LOG_INFO, + "Potentially unsafe request url '%s' rejected", uri); JK_TRACE_EXIT(l); return NULL; } @@ -1225,8 +1282,8 @@ int uri_worker_map_load(jk_uri_worker_map_t *uw_map, int i; if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, - "Loading urimaps from %s with reload check interval %d seconds", - uw_map->fname, uw_map->reload); + "Loading urimaps from %s with reload check interval %d " + "seconds", uw_map->fname, uw_map->reload); uri_worker_map_clear(uw_map, l); for (i = 0; i < jk_map_size(map); i++) { const char *u = jk_map_name_at(map, i); @@ -1269,7 +1326,9 @@ int uri_worker_map_load(jk_uri_worker_map_t *uw_map, rc = JK_TRUE; } else { - jk_log(l, JK_LOG_ERROR, "Failed to load uri_worker_map file %s (errno=%d, err=%s).", uw_map->fname, errno, strerror(errno)); + jk_log(l, JK_LOG_ERROR, "Failed to load uri_worker_map file %s " + "(errno=%d, err=%s).", + uw_map->fname, errno, strerror(errno)); } jk_map_free(&map); return rc; diff --git a/native/common/jk_util.h b/native/common/jk_util.h index 5190a2b77..96d176af2 100644 --- a/native/common/jk_util.h +++ b/native/common/jk_util.h @@ -116,17 +116,21 @@ const char *jk_get_worker_route(jk_map_t *m, const char *wname, const char *def) const char *jk_get_worker_domain(jk_map_t *m, const char *wname, const char *def); -const char *jk_get_worker_redirect(jk_map_t *m, const char *wname, const char *def); +const char *jk_get_worker_redirect(jk_map_t *m, const char *wname, + const char *def); const char *jk_get_worker_secret_key(jk_map_t *m, const char *wname); -const char *jk_get_lb_session_cookie(jk_map_t *m, const char *wname, const char *def); +const char *jk_get_lb_session_cookie(jk_map_t *m, const char *wname, + const char *def); -const char *jk_get_lb_session_path(jk_map_t *m, const char *wname, const char *def); +const char *jk_get_lb_session_path(jk_map_t *m, const char *wname, + const char *def); int jk_get_lb_set_session_cookie(jk_map_t *m, const char *wname, int def); -const char *jk_get_lb_session_cookie_path(jk_map_t *m, const char *wname, const char *def); +const char *jk_get_lb_session_cookie_path(jk_map_t *m, const char *wname, + const char *def); int jk_get_worker_retries(jk_map_t *m, const char *wname, int def); @@ -213,7 +217,8 @@ int jk_get_worker_maintain_time(jk_map_t *m); int jk_get_max_packet_size(jk_map_t *m, const char *wname); -const char *jk_get_worker_style_sheet(jk_map_t *m, const char *wname, const char *def); +const char *jk_get_worker_style_sheet(jk_map_t *m, const char *wname, + const char *def); int jk_get_is_read_only(jk_map_t *m, const char *wname); @@ -229,13 +234,16 @@ int jk_get_worker_bad_rating(jk_map_t *m, const char *wname, char ***list, unsigned int *num); -const char *jk_get_worker_name_space(jk_map_t *m, const char *wname, const char *def); +const char *jk_get_worker_name_space(jk_map_t *m, const char *wname, + const char *def); const char *jk_get_worker_xmlns(jk_map_t *m, const char *wname, const char *def); -const char *jk_get_worker_xml_doctype(jk_map_t *m, const char *wname, const char *def); +const char *jk_get_worker_xml_doctype(jk_map_t *m, const char *wname, + const char *def); -const char *jk_get_worker_prop_prefix(jk_map_t *m, const char *wname, const char *def); +const char *jk_get_worker_prop_prefix(jk_map_t *m, const char *wname, + const char *def); int jk_get_worker_fail_on_status(jk_map_t *m, const char *wname, int **list, unsigned int *list_size); @@ -249,7 +257,8 @@ int jk_wildchar_match(const char *str, const char *exp, int icase); int jk_servlet_normalize(char *path, jk_log_context_t *log_ctx); -int jk_strip_session_id(char* path, char* session_name, jk_log_context_t *log_ctx); +int jk_strip_session_id(char* path, char* session_name, + jk_log_context_t *log_ctx); #define JK_NORMALIZE_BAD_PATH -1 #define JK_NORMALIZE_TRAVERSAL -2 diff --git a/native/common/jk_worker.c b/native/common/jk_worker.c index fd6b7c6a2..e6c4943e5 100644 --- a/native/common/jk_worker.c +++ b/native/common/jk_worker.c @@ -344,7 +344,8 @@ void wc_maintain(jk_log_context_t *l) last_maintain = time(NULL); JK_LEAVE_CS(&worker_lock); - needs_global_maintenance = jk_shm_check_maintain(last_maintain - worker_maintain_time); + needs_global_maintenance = + jk_shm_check_maintain(last_maintain - worker_maintain_time); for (i = 0; i < sz; i++) { jk_worker_t *w = jk_map_value_at(worker_map, i); if (w && w->maintain) { diff --git a/native/iis/jk_isapi_plugin.c b/native/iis/jk_isapi_plugin.c index 3197e764b..106e1c93d 100644 --- a/native/iis/jk_isapi_plugin.c +++ b/native/iis/jk_isapi_plugin.c @@ -2350,19 +2350,30 @@ BOOL WINAPI DllMain(HINSTANCE hInst, /* Instance Handle of the DLL return JK_FALSE; } /* Construct redirector headers to use for this redirector instance */ - StringCbPrintf(URI_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, URI_HEADER_NAME_BASE, hInst); - StringCbPrintf(QUERY_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, QUERY_HEADER_NAME_BASE, hInst); - StringCbPrintf(REQUEST_ID_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, REQUEST_ID_HEADER_NAME_BASE, hInst); - StringCbPrintf(WORKER_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, WORKER_HEADER_NAME_BASE, hInst); - StringCbPrintf(WORKER_HEADER_INDEX, RES_BUFFER_SIZE, HEADER_TEMPLATE, WORKER_HEADER_INDEX_BASE, hInst); - StringCbPrintf(TOMCAT_TRANSLATE_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, TOMCAT_TRANSLATE_HEADER_NAME_BASE, hInst); + StringCbPrintf(URI_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, + URI_HEADER_NAME_BASE, hInst); + StringCbPrintf(QUERY_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, + QUERY_HEADER_NAME_BASE, hInst); + StringCbPrintf(REQUEST_ID_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, + REQUEST_ID_HEADER_NAME_BASE, hInst); + StringCbPrintf(WORKER_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, + WORKER_HEADER_NAME_BASE, hInst); + StringCbPrintf(WORKER_HEADER_INDEX, RES_BUFFER_SIZE, HEADER_TEMPLATE, + WORKER_HEADER_INDEX_BASE, hInst); + StringCbPrintf(TOMCAT_TRANSLATE_HEADER_NAME, RES_BUFFER_SIZE, HEADER_TEMPLATE, + TOMCAT_TRANSLATE_HEADER_NAME_BASE, hInst); /* Construct the HTTP_ headers that will be seen in ExtensionProc */ - StringCbPrintf(HTTP_URI_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, URI_HEADER_NAME_BASE, hInst); - StringCbPrintf(HTTP_QUERY_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, QUERY_HEADER_NAME_BASE, hInst); - StringCbPrintf(HTTP_REQUEST_ID_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, REQUEST_ID_HEADER_NAME_BASE, hInst); - StringCbPrintf(HTTP_WORKER_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, WORKER_HEADER_NAME_BASE, hInst); - StringCbPrintf(HTTP_WORKER_HEADER_INDEX, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, WORKER_HEADER_INDEX_BASE, hInst); + StringCbPrintf(HTTP_URI_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, + URI_HEADER_NAME_BASE, hInst); + StringCbPrintf(HTTP_QUERY_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, + QUERY_HEADER_NAME_BASE, hInst); + StringCbPrintf(HTTP_REQUEST_ID_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, + REQUEST_ID_HEADER_NAME_BASE, hInst); + StringCbPrintf(HTTP_WORKER_HEADER_NAME, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, + WORKER_HEADER_NAME_BASE, hInst); + StringCbPrintf(HTTP_WORKER_HEADER_INDEX, RES_BUFFER_SIZE, HTTP_HEADER_TEMPLATE, + WORKER_HEADER_INDEX_BASE, hInst); InitializeCriticalSection(&log_cs); init_cs = CreateMutex(jk_get_sa_with_null_dacl(), FALSE, ini_mutex_name); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org