fielding    99/08/14 02:21:20

  Modified:    src      CHANGES
               src/main http_protocol.c
  Log:
  Remove bogus error message when a redirect doesn't set Location.
  Instead, use an empty string to avoid coredump if the error message
  was supposed to include a location but doesn't.
  
  Revision  Changes    Path
  1.1422    +4 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1421
  retrieving revision 1.1422
  diff -u -r1.1421 -r1.1422
  --- CHANGES   1999/08/14 08:35:43     1.1421
  +++ CHANGES   1999/08/14 09:21:15     1.1422
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3.9
   
  +  *) Remove bogus error message when a redirect doesn't set Location.
  +     Instead, use an empty string to avoid coredump if the error message
  +     was supposed to include a location.  [Roy Fielding]
  +
     *) Don't allow configure to include mod_auth_digest unless it is
        explicitly requested, even if the user asked for all modules.
        [Roy Fielding]
  
  
  
  1.279     +7 -18     apache-1.3/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/main/http_protocol.c,v
  retrieving revision 1.278
  retrieving revision 1.279
  diff -u -r1.278 -r1.279
  --- http_protocol.c   1999/08/14 08:35:48     1.278
  +++ http_protocol.c   1999/08/14 09:21:19     1.279
  @@ -2450,24 +2450,13 @@
           ap_clear_table(r->err_headers_out);
   
           if (ap_is_HTTP_REDIRECT(status) || (status == HTTP_CREATED)) {
  -         if ((location != NULL) && *location) {
  -             ap_table_setn(r->headers_out, "Location", location);
  -         }
  -         else {
  -             /*
  -              * We're supposed to tell the client to go somewhere,
  -              * but the destination was omitted.  Turn this into
  -              * a 500 status with an explanatory note in the error log.
  -              */
  -             ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r,
  -                           "resource created or redirection requested "
  -                           "(status=%03d) but no Location field set "
  -                           "(URI=%s)",
  -                           r->status, r->unparsed_uri);
  -             r->status = status = HTTP_INTERNAL_SERVER_ERROR;
  -             r->status_line = NULL;
  -         }
  -     }
  +            if ((location != NULL) && *location) {
  +             ap_table_setn(r->headers_out, "Location", location);
  +            }
  +            else {
  +                location = "";   /* avoids coredump when printing, below */
  +            }
  +        }
   
           r->content_language = NULL;
           r->content_languages = NULL;
  
  
  

Reply via email to