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 <[EMAIL PROTECTED]>                           
    *                 Henri Gomez <[EMAIL PROTECTED]>                            
  - * 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:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to