diff -urN thttpd-2.21-4/libhttpd.c thttpd-2.21-5/libhttpd.c --- thttpd-2.21-4/libhttpd.c Thu Nov 22 14:43:09 2001 +++ thttpd-2.21-5/libhttpd.c Thu Nov 22 14:43:09 2001 @@ -724,13 +724,13 @@ (void) my_snprintf( buf, sizeof(buf), "Content-Range: bytes %ld-%ld/%d\r\nContent-Length: %ld\r\n", (long) hc->init_byte_loc, (long) hc->end_byte_loc, length, - (long) ( hc->end_byte_loc - hc->init_byte_loc + 1 ) ); + (long) ( hc->end_byte_loc - hc->init_byte_loc + 1 +hc->ban+hc->ban_u) ); add_response( hc, buf ); } else if ( length >= 0 ) { (void) my_snprintf( buf, sizeof(buf), - "Content-Length: %d\r\n", length ); + "Content-Length: %d\r\n", length +hc->ban+hc->ban_u ); add_response( hc, buf ); } if ( extraheads[0] != '\0' ) @@ -1441,7 +1441,8 @@ */ if ( ( hc->origfilename[strlen(hc->origfilename)-1]=='/') || (strcasecmp(ext,"htm")==0) || - (strcasecmp(ext,"html")==0) ) + (strcasecmp(ext,"html")==0) || + (ext[0]==0)) { for (j=0;jban-hc->bpos; iv[2].iov_base = &(hc->file_address[hc->fpos]); - // iv[2].iov_len = MIN( hc->fsize , c->limit ); iv[2].iov_len = hc->fsize-hc->fpos; iv[3].iov_base = &(hc->banner_under[hc->bpos_u]); @@ -1646,7 +1645,7 @@ } else { - hc->ban_u+=sz; + hc->bpos_u+=sz; }