Link Here
|
16 |
|
16 |
|
17 |
#include "ajp_header.h" |
17 |
#include "ajp_header.h" |
18 |
#include "ajp.h" |
18 |
#include "ajp.h" |
|
|
19 |
#include "ajp_config.h" |
19 |
|
20 |
|
20 |
static const char *response_trans_headers[] = { |
21 |
static const char *response_trans_headers[] = { |
21 |
"Content-Type", |
22 |
"Content-Type", |
Link Here
|
200 |
?auth_type (byte)(string) |
201 |
?auth_type (byte)(string) |
201 |
?query_string (byte)(string) |
202 |
?query_string (byte)(string) |
202 |
?jvm_route (byte)(string) |
203 |
?jvm_route (byte)(string) |
203 |
?ssl_cert (byte)(string) |
204 |
?ssl_certs (byte)(string) |
204 |
?ssl_cipher (byte)(string) |
205 |
?ssl_cipher (byte)(string) |
205 |
?ssl_session (byte)(string) |
206 |
?ssl_session (byte)(string) |
206 |
?ssl_key_size (byte)(int) via JkOptions +ForwardKeySize |
207 |
?ssl_key_size (byte)(int) via JkOptions +ForwardKeySize |
Link Here
|
220 |
const char *session_route, *envvar; |
221 |
const char *session_route, *envvar; |
221 |
const apr_array_header_t *arr = apr_table_elts(r->subprocess_env); |
222 |
const apr_array_header_t *arr = apr_table_elts(r->subprocess_env); |
222 |
const apr_table_entry_t *elts = (const apr_table_entry_t *)arr->elts; |
223 |
const apr_table_entry_t *elts = (const apr_table_entry_t *)arr->elts; |
|
|
224 |
proxy_ajp_conf *sc = |
225 |
ap_get_module_config(r->server->module_config, &proxy_ajp_module); |
223 |
|
226 |
|
224 |
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, |
227 |
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, |
225 |
"Into ajp_marshal_into_msgb"); |
228 |
"Into ajp_marshal_into_msgb"); |
Link Here
|
356 |
if ((envvar = ap_proxy_ssl_val(r->pool, r->server, r->connection, r, |
359 |
if ((envvar = ap_proxy_ssl_val(r->pool, r->server, r->connection, r, |
357 |
AJP13_SSL_CLIENT_CERT_INDICATOR)) |
360 |
AJP13_SSL_CLIENT_CERT_INDICATOR)) |
358 |
&& envvar[0]) { |
361 |
&& envvar[0]) { |
|
|
362 |
/* If ProxyAJPForwardSSLCertChain is set, send the entire chain */ |
363 |
if (sc->send_cert_chain) { |
364 |
apr_array_header_t *certs = apr_array_make(r->pool, 1, sizeof(char *)); |
365 |
int i = 0; |
366 |
char *envvar_name; |
367 |
do { |
368 |
*(const char **)apr_array_push(certs) = envvar; |
369 |
envvar_name = apr_psprintf(r->pool, "%s%d", |
370 |
AJP13_SSL_CLIENT_CHAIN_PREFIX, i); |
371 |
envvar = ap_proxy_ssl_val(r->pool, r->server, r->connection, r, |
372 |
envvar_name); |
373 |
i++; |
374 |
} while (envvar && envvar[0]); |
375 |
envvar = apr_array_pstrcat(r->pool, certs, '\0'); |
376 |
} |
359 |
if (ajp_msg_append_uint8(msg, SC_A_SSL_CERT) |
377 |
if (ajp_msg_append_uint8(msg, SC_A_SSL_CERT) |
360 |
|| ajp_msg_append_string(msg, envvar)) { |
378 |
|| ajp_msg_append_string(msg, envvar)) { |
361 |
ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server, |
379 |
ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server, |