Good afternoon All. Attached are three patches requested by an under-cover tab policeman. No offence intended, but I'm obliged to assist the police in this matter. Norm ---------------------------------------------------------------------------- --- changes.txt.orig Fri Feb 27 20:09:16 2004 +++ changes.txt Sat Feb 28 15:02:28 2004 @@ -7,12 +7,12 @@ * Added the load balancer stickySession property. If set to 0 requests with servlet SESSION ID's can be routed to any Tomcat worker. Default is 1, sessions are sticky. - * Port from jk of connect_timeout, reply_timeout, prepost_timeout (AJP13 PING/PONG). - You could set connectTimeout, replyTimeout and prepostTimeout for such purpose in ajp properties. - [Henri Gomez] - * Add hasinput method for channel, which will check if datas are - available on input channel (TC->WEBSERVER). - [Henri Gomez] + * Port from jk of connect_timeout, reply_timeout, prepost_timeout (AJP13 PING/PONG). + You could set connectTimeout, replyTimeout and prepostTimeout for such purpose in ajp properties. + [Henri Gomez] + * Add hasinput method for channel, which will check if datas are + available on input channel (TC->WEBSERVER). + [Henri Gomez] * Make use apr_port_t instead of short to fix problem to have port higher than 32K. * Make default port configurable (9009 on Netware, 8009 elsewhere) * Fix problem when in Load-Balancing and POST ---------------------------------------------------------------------------- - --- jk_worker_ajp13.c.orig Fri Feb 27 20:49:20 2004 +++ jk_worker_ajp13.c Sat Feb 28 16:29:49 2004 @@ -416,55 +416,55 @@ /* If we have the service recovery buffer FILLED and we're in first attempt */ /* recopy the recovery buffer in post instead of reading it from client */ if ( s->reco_status == RECO_FILLED && (attempt==0) ) { - /* Get in post buf the previously saved POST */ - - if (s->reco_buf->copy(env, s->reco_buf, e->post) < 0) { - s->is_recoverable_error = JK_FALSE; - env->l->jkLog(env, env->l, JK_LOG_ERROR, - "ajp13.service() can't use the LB recovery buffer, aborting\n"); - return JK_ERR; - } + /* Get in post buf the previously saved POST */ + + if (s->reco_buf->copy(env, s->reco_buf, e->post) < 0) { + s->is_recoverable_error = JK_FALSE; + env->l->jkLog(env, env->l, JK_LOG_ERROR, + "ajp13.service() can't use the LB recovery buffer, aborting\n"); + return JK_ERR; + }
env->l->jkLog(env, env->l, JK_LOG_DEBUG, "ajp13.service() using the LB recovery buffer\n"); } else { - if( attempt==0 ) - err=jk2_serialize_postHead( env, e->post, s, e ); - else - err=JK_OK; /* We already have the initial body chunk */ - - if( e->worker->mbean->debug > 10 ) - e->request->dump( env, e->request, "Post head" ); - - if (err != JK_OK ) { - /* the browser stop sending data, no need to recover */ - /* e->recoverable = JK_FALSE; */ - s->is_recoverable_error = JK_FALSE; - env->l->jkLog(env, env->l, JK_LOG_ERROR, - "ajp13.service() Error receiving initial post %d %d %d\n", err, errno, attempt); + if( attempt==0 ) + err=jk2_serialize_postHead( env, e->post, s, e ); + else + err=JK_OK; /* We already have the initial body chunk */ + + if( e->worker->mbean->debug > 10 ) + e->request->dump( env, e->request, "Post head" ); + + if (err != JK_OK ) { + /* the browser stop sending data, no need to recover */ + /* e->recoverable = JK_FALSE; */ + s->is_recoverable_error = JK_FALSE; + env->l->jkLog(env, env->l, JK_LOG_ERROR, + "ajp13.service() Error receiving initial post %d %d %d\n", err, errno, attempt); /* BR #27281 : Should we return HTTP 500 since its the user who stop the sending ? */ /* may be not, so return another HTTP code -> use PARTIAL CONTENT, 206 instead */ s->status = 206; - return JK_ERR; - } + return JK_ERR; + } + + /* If a recovery buffer exist (LB mode), save here the post buf */ + if (s->reco_status == RECO_INITED) { + /* Save the post for recovery if needed */ + if (e->post->copy(env, e->post, s->reco_buf) < 0) { + s->is_recoverable_error = JK_FALSE; + env->l->jkLog(env, env->l, JK_LOG_ERROR, + "ajp13.service() can't save the LB recovery buffer, aborting\n"); + return JK_ERR; + } + else + s->reco_status = RECO_FILLED; + } + } - /* If a recovery buffer exist (LB mode), save here the post buf */ - if (s->reco_status == RECO_INITED) { - /* Save the post for recovery if needed */ - if (e->post->copy(env, e->post, s->reco_buf) < 0) { - s->is_recoverable_error = JK_FALSE; - env->l->jkLog(env, env->l, JK_LOG_ERROR, - "ajp13.service() can't save the LB recovery buffer, aborting\n"); - return JK_ERR; - } - else - s->reco_status = RECO_FILLED; - } - } - has_post_body=JK_TRUE; err= e->worker->channel->send( env, e->worker->channel, e, e->post ); @@ -501,7 +501,7 @@ "ajp13.service() ajpGetReply recoverable error %d\n", err); jk2_close_endpoint(env, e ); - } + } if( err==JK_OK ) return err; ---------------------------------------------------------------------------- -------- --- jk_worker_status.c.orig Fri Feb 27 20:49:26 2004 +++ jk_worker_status.c Sat Feb 28 16:32:28 2004 @@ -175,7 +175,7 @@ int needHeader=JK_TRUE; if( wenv->shm==NULL || wenv->shm->head==NULL) { - s->jkprintf(env, s, "<h3>No Scoreboard available</h3>\n"); + s->jkprintf(env, s, "<h3>No Scoreboard available</h3>\n"); return; } @@ -946,7 +946,7 @@ } s->head(env, s ); - s->jkprintf(env, s, "<style>%s</style>\n", DEFAULT_CSS ); + s->jkprintf(env, s, "<style>%s</style>\n", DEFAULT_CSS ); /** Process the query string. */ ---------------------------------------------------------------------------- ------
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]