dgaudet 98/01/13 16:02:57
Modified: . Tag: APACHE_1_2_X STATUS
src Tag: APACHE_1_2_X CHANGES buff.c
Log:
fix chunking and rputc()/bputc()
Reviewed by: Martin Kraemer, Roy Fielding
Revision Changes Path
No revision
No revision
1.1.2.12 +1 -5 apache/Attic/STATUS
Index: STATUS
===================================================================
RCS file: /export/home/cvs/apache/Attic/STATUS,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -u -r1.1.2.11 -r1.1.2.12
--- STATUS 1998/01/14 00:00:35 1.1.2.11
+++ STATUS 1998/01/14 00:02:52 1.1.2.12
@@ -9,6 +9,7 @@
* Martin's [PATCH]-1.2.6: avoid B_ERROR redeclaration
* Mark Bixby's MPE port patch
* more #define wrappers from FreeBSD port
+ * Dean's backport of the bputc()/chunking bugfix.
Available:
@@ -23,11 +24,6 @@
* Ralf's mod_rewrite bugfix for %3f
see below
Status: Ralf +1, Dean +1, Roy +1
-
- * Dean's backport of the bputc()/chunking bugfix.
- <[EMAIL PROTECTED]>
- Status: Dean +1, Martin +1, Roy +1
- This fix does fix Henrik's HTTP/1.1 chunking problem.
* Marc's "headers too big" patch, repost it please?
No revision
No revision
1.286.2.64 +4 -0 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.286.2.63
retrieving revision 1.286.2.64
diff -u -r1.286.2.63 -r1.286.2.64
--- CHANGES 1998/01/14 00:00:37 1.286.2.63
+++ CHANGES 1998/01/14 00:02:55 1.286.2.64
@@ -1,5 +1,9 @@
Changes with Apache 1.2.6
+ *) Apache could generate improperly chunked HTTP/1.1 responses when
+ the bputc() or rputc() functions were used by modules (such as
+ mod_include). [Dean Gaudet]
+
*) #ifdef wrap a few #defines in httpd.h to make life easier on
some ports. [Ralf Engelschall]
1.26.2.2 +8 -1 apache/src/buff.c
Index: buff.c
===================================================================
RCS file: /export/home/cvs/apache/src/buff.c,v
retrieving revision 1.26.2.1
retrieving revision 1.26.2.2
diff -u -r1.26.2.1 -r1.26.2.2
--- buff.c 1997/08/07 08:41:46 1.26.2.1
+++ buff.c 1998/01/14 00:02:56 1.26.2.2
@@ -584,9 +584,16 @@
bflsbuf(int c, BUFF *fb)
{
char ss[1];
+ int rc;
ss[0] = c;
- return bwrite(fb, ss, 1);
+ rc = bwrite(fb, ss, 1);
+ /* We do start_chunk() here so that the bputc macro can be smaller
+ * and faster
+ */
+ if (rc == 1 && (fb->flags & B_CHUNK))
+ start_chunk(fb);
+ return rc;
}
/*