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 <markb@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);
>
>
>
>
|