jfclere     2004/07/30 02:50:00

  Modified:    ajp/ajplib/test ajp_header.c
  Log:
  Arrange small things and temporaly modify ajp_read_header().
  
  Revision  Changes    Path
  1.16      +21 -10    jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c
  
  Index: ajp_header.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/ajplib/test/ajp_header.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ajp_header.c      30 Jul 2004 06:32:54 -0000      1.15
  +++ ajp_header.c      30 Jul 2004 09:50:00 -0000      1.16
  @@ -34,6 +34,7 @@
   static const char *long_res_header_for_sc(int sc) 
   {
       const char *rc = NULL;
  +    sc = sc & 0X00FF;
       if(sc <= SC_RES_HEADERS_NUM && sc > 0) {
           rc = response_trans_headers[sc - 1];
       }
  @@ -503,7 +504,7 @@
               ajp_msg_append_string(msg, s->ssl_cert)) {
               ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server,
                      "Error ajp_marshal_into_msgb - "
  -                   "Error appending the SSL certificates\n");
  +                   "Error appending the SSL certificates");
               return APR_EGENERAL;
           }
       }
  @@ -619,7 +620,7 @@
   
       rc = ajp_msg_get_string(msg, &ptr);
       if (rc == APR_SUCCESS) {
  -        r->status_line = apr_pstrdup(r->connection->pool, ptr);
  +        r->status_line =  apr_psprintf(r->pool, "%d %s", status, ptr);
   #if defined(AS400) || defined(_OSD_POSIX)
           ap_xlate_proto_from_ascii(r->status_line, strlen(r->status_line));
   #endif
  @@ -653,17 +654,16 @@
                   
           if ((name & 0XFF00) == 0XA000) {
               ajp_msg_peek_uint16(msg, &name);
  -            name = name & 0X00FF;
  -            if (name <= SC_RES_HEADERS_NUM) {
  -                stringname = (char *)long_res_header_for_sc(name);
  -            } else {
  +            stringname = (char *)long_res_header_for_sc(name);
  +            if (stringname == NULL) {
                   ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server,
                          "Error ajp_unmarshal_response - "
  -                       "No such sc (%d)",
  +                       "No such sc (%08x)",
                          name);
                   return APR_EGENERAL;
               }
           } else {
  +            name = 0;
               rc = ajp_msg_get_string(msg, &stringname);
               if (rc != APR_SUCCESS) {
                   ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server,
  @@ -687,10 +687,19 @@
   #if defined(AS400) || defined(_OSD_POSIX)
           ap_xlate_proto_from_ascii(value, strlen(value));
   #endif
  -        ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server,
  -               "ajp_unmarshal_response: Header[%d] [%s] = [%s]\n", 
  +        ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
  +               "ajp_unmarshal_response: Header[%d] [%s] = [%s]", 
                          i, stringname, value);
           apr_table_add(r->headers_out, stringname, value);
  +
  +        /* Content-type needs an additional handling */
  +        if (memcmp(stringname, "Content-Type",12) == 0) {
  +            char *ptr;
  +            ptr = apr_pstrdup(r->pool, value);
  +            ap_set_content_type(r, ptr); /* add corresponding filter */
  +            ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
  +               "ajp_unmarshal_response: ap_set_content_type done");
  +        }
       }
   
       return APR_SUCCESS;
  @@ -734,11 +743,13 @@
    */
   apr_status_t ajp_read_header(apr_socket_t *sock,
                                request_rec  *r,
  -                             ajp_msg_t **msg)
  +                             void **data)
   {
       apr_byte_t result;
       apr_status_t rc;
  +    ajp_msg_t **msg;
   
  +    msg = data;
       rc = ajp_msg_create(r->pool, msg);
       if (rc != APR_SUCCESS) {
           ap_log_error(APLOG_MARK, APLOG_ERR, 0, r->server,
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to