You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Alexei Kosut <ak...@hyperreal.com> on 1997/02/06 22:40:38 UTC

cvs commit: apache/src CHANGES http_protocol.c

akosut      97/02/06 13:40:38

  Modified:    src       CHANGES http_protocol.c
  Log:
  Tweak byteserving code to work around a bug in Netscape Navigator that causes
  it to only recognize multipart/x-byteranges, not multipart/byteranges (as per HTTP/1.1).
  
  Reviewed by: Dean Gaudet, Jim Jagielski
  
  Revision  Changes    Path
  1.145     +3 -0      apache/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache/src/CHANGES,v
  retrieving revision 1.144
  retrieving revision 1.145
  diff -C3 -r1.144 -r1.145
  *** CHANGES	1997/02/04 23:57:23	1.144
  --- CHANGES	1997/02/06 21:40:34	1.145
  ***************
  *** 1,5 ****
  --- 1,8 ----
    Changes with Apache 1.2b7
    
  +   *) Tweak byteserving code (e.g. serving PDF files) to work around a 
  +      bug in Netscape Navigator. [Alexei Kosut]
  + 
      *) Port to  HP MPE operating system for HP 3000 machines
         [Mark Bixby <ma...@cccd.edu>]
    
  
  
  
  1.98      +15 -2     apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.97
  retrieving revision 1.98
  diff -C3 -r1.97 -r1.98
  *** http_protocol.c	1997/01/30 03:46:13	1.97
  --- http_protocol.c	1997/02/06 21:40:35	1.98
  ***************
  *** 113,118 ****
  --- 113,129 ----
        char ts[MAX_STRING_LEN], *match;
        long range_start, range_end;
    
  +     /* Also check, for backwards-compatibility with second-draft
  +      * Luotonen/Franks byte-ranges (e.g. Netscape Navigator 2-3)
  +      *
  +      * We support this form, with Request-Range, and (farther down) we
  +      * send multipart/x-byteranges instead of multipart/byteranges for
  +      * Request-Range based requests to work around a bug in Netscape
  +      * Navigator 2 and 3.
  +      */
  + 
  +     if (!range) range = table_get (r->headers_in, "Request-Range");
  + 
        /* Reasons we won't do ranges... */
    
        if (!r->clength || r->assbackwards) return 0;
  ***************
  *** 1032,1039 ****
    	bputs("Transfer-Encoding: chunked\015\012", fd);
    
        if (r->byterange > 1)
  !         bvputs(fd, "Content-Type: multipart/byteranges; boundary=\"",
  ! 	       r->boundary, "\"\015\012", NULL);
        else if (r->content_type)
            bvputs(fd, "Content-Type: ", 
    		 nuke_mime_parms (r->pool, r->content_type), "\015\012", NULL);
  --- 1043,1052 ----
    	bputs("Transfer-Encoding: chunked\015\012", fd);
    
        if (r->byterange > 1)
  !         bvputs(fd, "Content-Type: multipart/",
  ! 	       table_get(r->headers_in, "Request-Range") ?
  ! 	       "x-byteranges" : "byteranges",
  ! 	       "; boundary=\"", r->boundary, "\"\015\012", NULL);
        else if (r->content_type)
            bvputs(fd, "Content-Type: ", 
    		 nuke_mime_parms (r->pool, r->content_type), "\015\012", NULL);
  
  
  

Re: cvs commit: apache/src CHANGES http_protocol.c

Posted by Marc Slemko <ma...@znep.com>.
I have placed it in the patches dir.  I think that putting such patches up
is a good thing, especially late in the beta cycle, because it means we
get more testing of them and fewer dupe reports.  (Got at least three on
this one...)

On Thu, 6 Feb 1997, Alexei Kosut wrote:

> On Thu, 6 Feb 1997, Marc Slemko wrote:
> 
> > Ok, so this one fixes the problem with the PDF plugin?  And has been
> > verified to fix that?
> 
> It fixes the problems I've observed on my Mac, which seem similar to
> the problems people have reported on this and other platforms.
> 
> If you want to put it somewhere, you can... though I'd perfer to just
> wait for 1.2b7.
> 
> -- 
> ________________________________________________________________________
> Alexei Kosut <ak...@nueva.pvt.k12.ca.us>      The Apache HTTP Server
> URL: http://www.nueva.pvt.k12.ca.us/~akosut/   http://www.apache.org/
> 


Re: cvs commit: apache/src CHANGES http_protocol.c

Posted by Alexei Kosut <ak...@nueva.pvt.k12.ca.us>.
On Thu, 6 Feb 1997, Marc Slemko wrote:

> Ok, so this one fixes the problem with the PDF plugin?  And has been
> verified to fix that?

It fixes the problems I've observed on my Mac, which seem similar to
the problems people have reported on this and other platforms.

If you want to put it somewhere, you can... though I'd perfer to just
wait for 1.2b7.

-- 
________________________________________________________________________
Alexei Kosut <ak...@nueva.pvt.k12.ca.us>      The Apache HTTP Server
URL: http://www.nueva.pvt.k12.ca.us/~akosut/   http://www.apache.org/


Re: cvs commit: apache/src CHANGES http_protocol.c

Posted by Marc Slemko <ma...@znep.com>.
Ok, so this one fixes the problem with the PDF plugin?  And has been
verified to fix that?

If so, I think it should be placed on the web so people can test it.  If
Alexei wants to put it there, cool, otherwise I will.

On Thu, 6 Feb 1997, Alexei Kosut wrote:

> akosut      97/02/06 13:40:38
> 
>   Modified:    src       CHANGES http_protocol.c
>   Log:
>   Tweak byteserving code to work around a bug in Netscape Navigator that causes
>   it to only recognize multipart/x-byteranges, not multipart/byteranges (as per HTTP/1.1).
>   
>   Reviewed by: Dean Gaudet, Jim Jagielski
>   
>   Revision  Changes    Path
>   1.145     +3 -0      apache/src/CHANGES
>   
>   Index: CHANGES
>   ===================================================================
>   RCS file: /export/home/cvs/apache/src/CHANGES,v
>   retrieving revision 1.144
>   retrieving revision 1.145
>   diff -C3 -r1.144 -r1.145
>   *** CHANGES	1997/02/04 23:57:23	1.144
>   --- CHANGES	1997/02/06 21:40:34	1.145
>   ***************
>   *** 1,5 ****
>   --- 1,8 ----
>     Changes with Apache 1.2b7
>     
>   +   *) Tweak byteserving code (e.g. serving PDF files) to work around a 
>   +      bug in Netscape Navigator. [Alexei Kosut]
>   + 
>       *) Port to  HP MPE operating system for HP 3000 machines
>          [Mark Bixby <ma...@cccd.edu>]
>     
>   
>   
>   
>   1.98      +15 -2     apache/src/http_protocol.c
>   
>   Index: http_protocol.c
>   ===================================================================
>   RCS file: /export/home/cvs/apache/src/http_protocol.c,v
>   retrieving revision 1.97
>   retrieving revision 1.98
>   diff -C3 -r1.97 -r1.98
>   *** http_protocol.c	1997/01/30 03:46:13	1.97
>   --- http_protocol.c	1997/02/06 21:40:35	1.98
>   ***************
>   *** 113,118 ****
>   --- 113,129 ----
>         char ts[MAX_STRING_LEN], *match;
>         long range_start, range_end;
>     
>   +     /* Also check, for backwards-compatibility with second-draft
>   +      * Luotonen/Franks byte-ranges (e.g. Netscape Navigator 2-3)
>   +      *
>   +      * We support this form, with Request-Range, and (farther down) we
>   +      * send multipart/x-byteranges instead of multipart/byteranges for
>   +      * Request-Range based requests to work around a bug in Netscape
>   +      * Navigator 2 and 3.
>   +      */
>   + 
>   +     if (!range) range = table_get (r->headers_in, "Request-Range");
>   + 
>         /* Reasons we won't do ranges... */
>     
>         if (!r->clength || r->assbackwards) return 0;
>   ***************
>   *** 1032,1039 ****
>     	bputs("Transfer-Encoding: chunked\015\012", fd);
>     
>         if (r->byterange > 1)
>   !         bvputs(fd, "Content-Type: multipart/byteranges; boundary=\"",
>   ! 	       r->boundary, "\"\015\012", NULL);
>         else if (r->content_type)
>             bvputs(fd, "Content-Type: ", 
>     		 nuke_mime_parms (r->pool, r->content_type), "\015\012", NULL);
>   --- 1043,1052 ----
>     	bputs("Transfer-Encoding: chunked\015\012", fd);
>     
>         if (r->byterange > 1)
>   !         bvputs(fd, "Content-Type: multipart/",
>   ! 	       table_get(r->headers_in, "Request-Range") ?
>   ! 	       "x-byteranges" : "byteranges",
>   ! 	       "; boundary=\"", r->boundary, "\"\015\012", NULL);
>         else if (r->content_type)
>             bvputs(fd, "Content-Type: ", 
>     		 nuke_mime_parms (r->pool, r->content_type), "\015\012", NULL);
>   
>   
>   
>