49#define UNKNOWN_METHOD (-1)
55 const char *
p = header_name;
64 memset(header, 0,
sizeof header);
72 if (
memcmp(
p,
"CCEPT", 5) == 0) {
75 else if (header[6] ==
'-') {
79 else if (
strcmp(
p,
"ENCODING") == 0)
81 else if (
strcmp(
p,
"LANGUAGE") == 0)
89 else if (
strcmp(
p,
"UTHORIZATION") == 0)
97 else if (
strcmp(
p,
"OOKIE") == 0)
99 else if (
strcmp(
p,
"ONNECTION") == 0)
101 else if (
strcmp(
p,
"ONTENT-TYPE") == 0)
103 else if (
strcmp(
p,
"ONTENT-LENGTH") == 0)
127 if (
strcmp(
p,
"SER-AGENT") == 0)
234 "ajp_marshal_into_msgb - Sending unknown method %s as request attribute",
262 "ajp_marshal_into_msgb: "
263 "Error appending the message beginning");
275 "ajp_marshal_into_msgb: "
276 "Error appending the header name");
283 "ajp_marshal_into_msgb: "
284 "Error appending the header name");
291 "ajp_marshal_into_msgb: "
292 "Error appending the header value");
296 "ajp_marshal_into_msgb: Header[%d] [%s] = [%s]",
304 "ajp_marshal_into_msgb: "
305 "Error appending secret");
314 "ajp_marshal_into_msgb: "
315 "Error appending the remote user");
323 "ajp_marshal_into_msgb: "
324 "Error appending the auth type");
333 "ajp_marshal_into_msgb: "
334 "Error appending the query string");
342 "ajp_marshal_into_msgb: "
343 "Error appending the jvm route");
365 "ajp_marshal_into_msgb: "
366 "Error appending the SSL certificates");
377 "ajp_marshal_into_msgb: "
378 "Error appending the SSL ciphers");
389 "ajp_marshal_into_msgb: "
390 "Error appending the SSL session");
403 "ajp_marshal_into_msgb: "
404 "Error appending the SSL key size");
414 "ajp_marshal_into_msgb: "
415 "Error appending the method '%s' as request attribute",
433 "ajp_marshal_into_msgb: "
434 "Error appending attribute %s=%s",
454 "ajp_marshal_into_msgb: "
455 "Error appending attribute %s=%s",
474 "ajp_marshal_into_msgb: "
475 "Error appending attribute %s=%s",
489 "ajp_marshal_into_msgb: "
490 "Error appending attribute %s=%s",
499 "ajp_marshal_into_msgb: "
500 "Error appending the message end");
505 "ajp_marshal_into_msgb: Done");
554 "ajp_unmarshal_response: Null status");
561#if APR_CHARSET_EBCDIC
572 "ajp_unmarshal_response: status = %d",
status);
596 "ajp_unmarshal_response: Bad number of headers");
601 "ajp_unmarshal_response: Number of headers is = %d",
613 if ((
name & 0XFF00) == 0XA000) {
618 "ajp_unmarshal_response: "
629 "ajp_unmarshal_response: "
639 "ajp_unmarshal_response: "
640 "Null header value");
660 "ajp_unmarshal_response: Header[%d] [%s] = [%s]",
670 "ajp_unmarshal_response: ap_set_content_type to '%s'",
value);
700 "ajp_send_header: ajp_msg_create failed");
707 "ajp_send_header: ajp_marshal_into_msgb failed");
712 ajp_msg_log(
r, msg,
"ajp_send_header: ajp_ilink_send packet dump");
715 "ajp_send_header: ajp_ilink_send failed");
737 "ajp_read_header: ajp_msg_reuse failed");
745 "ajp_read_header: ajp_msg_create failed");
753 "ajp_read_header: ajp_ilink_receive failed");
756 ajp_msg_log(
r, *msg,
"ajp_read_header: ajp_ilink_receive packet dump");
760 "ajp_read_header: ajp_msg_peek_uint8 failed");
764 "ajp_read_header: ajp_ilink_received %s (0x%02x)",
775 "ajp_parse_type: got %s (0x%02x)",
790 "ajp_parse_headers: ajp_msg_get_byte failed");
795 "ajp_parse_headers: wrong type %s (0x%02x) expecting %s (0x%02x)",
814 "ajp_parse_data: ajp_msg_get_byte failed");
819 "ajp_parse_data: wrong type %s (0x%02x) expecting %s (0x%02x)",
841 "ajp_parse_data: Wrong chunk length. Length of chunk is %i,"
845 *ptr = (
char *)&(msg->
buf[msg->
pos]);
859 "ajp_parse_reuse: ajp_msg_get_byte failed");
864 "ajp_parse_reuse: wrong type %s (0x%02x) expecting %s (0x%02x)",
883 *ptr = (
char *)&((*msg)->buf[6]);
const char apr_size_t len
apr_status_t ajp_send_header(apr_socket_t *sock, request_rec *r, apr_size_t buffsize, apr_uri_t *uri, const char *secret)
apr_status_t ajp_msg_peek_uint8(ajp_msg_t *msg, apr_byte_t *rvalue)
apr_status_t ajp_parse_reuse(request_rec *r, ajp_msg_t *msg, apr_byte_t *reuse)
int ajp_parse_type(request_rec *r, ajp_msg_t *msg)
apr_status_t ajp_parse_data(request_rec *r, ajp_msg_t *msg, apr_uint16_t *len, char **ptr)
apr_status_t ajp_msg_create(apr_pool_t *pool, apr_size_t size, ajp_msg_t **rmsg)
apr_status_t ajp_alloc_data_msg(apr_pool_t *pool, char **ptr, apr_size_t *len, ajp_msg_t **msg)
apr_status_t ajp_msg_append_uint8(ajp_msg_t *msg, apr_byte_t value)
apr_status_t ajp_msg_reuse(ajp_msg_t *msg)
apr_status_t ajp_msg_peek_uint16(ajp_msg_t *msg, apr_uint16_t *rvalue)
apr_status_t ajp_msg_log(request_rec *r, ajp_msg_t *msg, char *err)
apr_status_t ajp_msg_get_string(ajp_msg_t *msg, const char **rvalue)
apr_status_t ajp_ilink_receive(apr_socket_t *sock, ajp_msg_t *msg)
apr_status_t ajp_msg_get_uint8(ajp_msg_t *msg, apr_byte_t *rvalue)
const char * ajp_type_str(int type)
apr_status_t ajp_send_data_msg(apr_socket_t *sock, ajp_msg_t *msg, apr_size_t len)
apr_status_t ajp_msg_reset(ajp_msg_t *msg)
apr_status_t ajp_msg_append_uint16(ajp_msg_t *msg, apr_uint16_t value)
apr_status_t ajp_msg_get_uint16(ajp_msg_t *msg, apr_uint16_t *rvalue)
apr_status_t ajp_ilink_send(apr_socket_t *sock, ajp_msg_t *msg)
apr_status_t ajp_parse_header(request_rec *r, proxy_dir_conf *conf, ajp_msg_t *msg)
apr_status_t ajp_read_header(apr_socket_t *sock, request_rec *r, apr_size_t buffsize, ajp_msg_t **msg)
#define ajp_msg_append_string(m, v)
#define AJP_HEADER_SZ_LEN
#define AJP13_SSL_PROTOCOL_INDICATOR
#define SC_ACCEPT_ENCODING
#define AJP13_SSL_SESSION_INDICATOR
#define AJP13_SSL_CIPHER_INDICATOR
#define AJP13_SSL_KEY_SIZE_INDICATOR
#define SC_A_REQ_REMOTE_PORT
#define SC_A_REQ_ATTRIBUTE
#define SC_ACCEPT_CHARSET
#define SC_A_QUERY_STRING
#define CMD_AJP13_SEND_HEADERS
#define SC_ACCEPT_LANGUAGE
#define SC_A_STORED_METHOD
#define CMD_AJP13_END_RESPONSE
#define SC_M_VERSION_CONTROL
#define AJP13_SSL_CLIENT_CERT_INDICATOR
#define SC_A_SSL_KEY_SIZE
#define SC_M_BASELINE_CONTROL
#define CMD_AJP13_FORWARD_REQUEST
#define CMD_AJP13_SEND_BODY_CHUNK
#define SC_A_REQ_LOCAL_ADDR
#define SC_CONTENT_LENGTH
#define SC_A_SSL_PROTOCOL
#define APLOG_USE_MODULE(foo)
#define ap_xlate_proto_from_ascii(x, y)
const char * ap_get_server_name(request_rec *r)
void ap_set_content_type(request_rec *r, const char *ct)
#define AP_TRUST_CGILIKE_CL_ENVVAR
const char * ap_proxy_location_reverse_map(request_rec *r, proxy_dir_conf *conf, const char *url)
int ap_proxy_conn_is_https(conn_rec *c)
const char * ap_proxy_cookie_reverse_map(request_rec *r, proxy_dir_conf *conf, const char *str)
const char * ap_proxy_ssl_val(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r, const char *var)
int ap_cstr_casecmp(const char *s1, const char *s2)
const char int apr_pool_t * pool
apr_array_header_t ** result
apr_uint32_t apr_pool_t apr_uint32_t apr_pollset_method_e method
const apr_array_header_t * arr
const char * ap_get_useragent_host(request_rec *req, int type, int *str_is_ip)
static unsigned char * secret
apr_sockaddr_t * local_addr
A structure that represents the current request.
apr_sockaddr_t * useragent_addr
apr_table_t * subprocess_env
apr_table_t * headers_out
typedef int(WSAAPI *apr_winapi_fpt_WSAPoll)(IN OUT LPWSAPOLLFD fdArray