You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2002/03/02 07:35:41 UTC
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 jk_service_apache2.c
costin 02/03/01 22:35:41
Modified: jk/native2/server/apache2 jk_service_apache2.c
Log:
There is something wrong with using APRTABLES, I suspect we're reusing
a buffer too much.
Reverted to jk maps until the rest is working, then I'll try again.
Revision Changes Path
1.11 +31 -5 jakarta-tomcat-connectors/jk/native2/server/apache2/jk_service_apache2.c
Index: jk_service_apache2.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_service_apache2.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- jk_service_apache2.c 28 Feb 2002 23:35:26 -0000 1.10
+++ jk_service_apache2.c 2 Mar 2002 06:35:41 -0000 1.11
@@ -59,7 +59,7 @@
* Description: Apache 2 plugin for Jakarta/Tomcat
* Author: Gal Shachor <sh...@il.ibm.com>
* Henri Gomez <hg...@slib.fr>
- * Version: $Revision: 1.10 $
+ * Version: $Revision: 1.11 $
*/
#include "apu_compat.h"
@@ -92,7 +92,7 @@
#include "jk_apache2.h"
-#define USE_APRTABLES
+/* #define USE_APRTABLES */
#define NULL_FOR_EMPTY(x) ((x && !strlen(x)) ? NULL : x)
@@ -113,8 +113,31 @@
}
r->status = s->status;
r->status_line = apr_psprintf(r->pool, "%d %s", s->status, s->msg);
-
headers=s->headers_out;
+
+#ifdef USE_APRTABLES
+ {
+ char *val= headers->get( env, headers, "Content-Type");
+ if( val!=NULL ) {
+ char *tmp = apr_pstrdup(r->pool, val);
+ ap_content_type_tolower(tmp);
+ r->content_type = tmp;
+ }
+ val= headers->get( env, headers, "Last-Modified");
+ if( val!=NULL ) {
+ /*
+ * If the script gave us a Last-Modified header, we can't just
+ * pass it on blindly because of restrictions on future values.
+ */
+ ap_update_mtime(r, ap_parseHTTPdate(val));
+ ap_set_last_modified(r);
+ }
+
+ /* No other change required - headers is the same as req->headers_out,
+ just with a different interface
+ */
+ }
+#else
numheaders = headers->size(env, headers);
/* XXX As soon as we switch to jk_map_apache2, this will not be needed ! */
env->l->jkLog(env, env->l, JK_LOG_INFO,
@@ -124,7 +147,9 @@
for(h = 0 ; h < numheaders; h++) {
char *name=headers->nameAt( env, headers, h );
char *val=headers->valueAt( env, headers, h );
-
+ name=s->pool->pstrdup( env, s->pool, name );
+ val=s->pool->pstrdup( env, s->pool, val );
+
env->l->jkLog(env, env->l, JK_LOG_INFO,
"service.head() %s: %s %d %d\n", name, val, h, headers->size( env, headers ));
@@ -156,7 +181,8 @@
apr_table_set(r->headers_out, name, val);
}
}
-
+#endif
+
/* this NOP function was removed in apache 2.0 alpha14 */
/* ap_send_http_header(r); */
s->response_started = JK_TRUE;
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>