Hi,
Shouldn't content-length be Content-Length? Or are the headers already
forced to lowercase elsewhere? Or how about a case insensitive comparison
to be nice
-David
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Friday, September 14, 2001 3:32 PM
To: [EMAIL PROTECTED]
Subject: cvs commit: jakarta-tomcat-connectors/jk/native/apache-1.3
mod_jk.c
hgomez 01/09/14 15:31:36
Modified:jk/native/apache-1.3 mod_jk.c
Log:
Complete the support of chunk encoding and
add the required content-length which is
now required by recent ajp13 present in JT
and which will soon be ported to JTC for
at least TC 4.0 use (candidate here ?)
Revision ChangesPath
1.16 +57 -36
jakarta-tomcat-connectors/jk/native/apache-1.3/mod_jk.c
Index: mod_jk.c
===
RCS file:
/home/cvs/jakarta-tomcat-connectors/jk/native/apache-1.3/mod_jk.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- mod_jk.c 2001/09/14 17:45:14 1.15
+++ mod_jk.c 2001/09/14 22:31:36 1.16
@@ -61,7 +61,7 @@
* Author: Gal Shachor [EMAIL PROTECTED]
*
* Dan Milstein [EMAIL PROTECTED]
*
* Henri Gomez [EMAIL PROTECTED]
*
- * Version: $Revision: 1.15 $
*
+ * Version: $Revision: 1.16 $
*
***/
/*
@@ -118,15 +118,22 @@
* Configuration object for the mod_jk module.
*/
typedef struct {
-char *log_file;
-int log_level;
+
+/*
+ * Log stuff
+ */
+char*log_file;
+int log_level;
jk_logger_t *log;
-char *worker_file;
-int mountcopy;
+/*
+ * Worker stuff
+ */
+char *worker_file;
jk_map_t *uri_to_context;
- char * secret_key;
+int mountcopy;
+ char *secret_key;
jk_map_t *automount;
jk_uri_worker_map_t *uw_map;
@@ -440,35 +447,16 @@
s-remote_host = NULL_FOR_EMPTY(s-remote_host);
s-remote_addr = NULL_FOR_EMPTY(r-connection-remote_ip);
-/* Wrong:s-server_name = (char *)ap_get_server_name( r ); */
-s-server_name= (char *)(r-hostname ? r-hostname :
r-server-server_hostname);
-
-s-server_port= htons( r-connection-local_addr.sin_port );
-/* Wrong: s-server_port = r-server-port; */
-
+s-server_name = (char *)(r-hostname ? r-hostname :
r-server-server_hostname);
-/*Winners: htons( r-connection-local_addr.sin_port )
- (r-hostname ? r-hostname :
- r-server-server_hostname),
-*/
-/* printf( Port %u %u %u %s %s %s %d %d \n,
-ap_get_server_port( r ),
-htons( r-connection-local_addr.sin_port ),
-ntohs( r-connection-local_addr.sin_port ),
-ap_get_server_name( r ),
-(r-hostname ? r-hostname : r-server-server_hostname),
-r-hostname,
-r-connection-base_server-port,
-r-server-port
-);
-*/
+s-server_port = htons( r-connection-local_addr.sin_port );
s-server_software = (char *)ap_get_server_version();
-s-method = (char *)r-method;
+s-method = (char *)r-method;
s-content_length = get_content_length(r);
-s-is_chunked = r-read_chunked;
+s-is_chunked = r-read_chunked;
s-no_more_chunks = 0;
-s-query_string = r-args;
+s-query_string = r-args;
if (conf-options JK_OPT_FWDUNPARSED) {
/*
@@ -515,10 +503,12 @@
s-ssl_cipher = (char *)ap_table_get(r-subprocess_env,
conf-cipher_indicator);
s-ssl_session = (char *)ap_table_get(r-subprocess_env,
conf-session_indicator);
- /* Servlet 2.3 API */
-ssl_temp = (char *)ap_table_get(r-subprocess_env,
conf-key_size_indicator);
- if (ssl_temp)
- s-ssl_key_size = atoi(ssl_temp);
+if (conf-options JK_OPT_FWDKEYSIZE) {
+ /* Servlet 2.3 API */
+ssl_temp = (char *)ap_table_get(r-subprocess_env,
conf-key_size_indicator);
+ if (ssl_temp)
+ s-ssl_key_size = atoi(ssl_temp);
+}
}
}
@@ -547,13 +537,17 @@
s-headers_values = NULL;
s-num_headers = 0;
if(r-headers_in ap_table_elts(r-headers_in)) {
+int need_content_length_header = (!s-is_chunked
s-content_length == 0) ? JK_TRUE : JK_FALSE;
array_header *t = ap_table_elts(r-headers_in);
if(t t-nelts) {
int i;
table_entry *elts = (table_entry *)t-elts;