r2089@chromobil: stefan | 2008-02-26 17:02:46 +0100
Fix #285: Remove workaround for buggy Opera version with ssl/chunked encoding. - The workaround may lead to a realloc, but the memory address for a repeated SSL_write must not change. git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2084 152afb58-edef-0310-8abb-c4023f1b3aa9svn/tags/lighttpd-1.4.19
parent
75f92dd796
commit
ad722324d9
|
@ -58,31 +58,6 @@ int network_write_chunkqueue_openssl(server *srv, connection *con, SSL *ssl, chu
|
|||
SSL_set_shutdown(ssl, SSL_RECEIVED_SHUTDOWN);
|
||||
}
|
||||
|
||||
/* evil hack for opera 9.01 and 8.54 and earlier
|
||||
*
|
||||
* opera hangs if the trainling 0\r\n\r\n is in a seperate SSL-packet
|
||||
*
|
||||
* we try to move the packet into the previous mem-chunk if possible
|
||||
*/
|
||||
if ((cq == con->write_queue) &&
|
||||
(con->response.transfer_encoding & HTTP_TRANSFER_ENCODING_CHUNKED) &&
|
||||
(con->file_finished)) {
|
||||
/* merge the last chunk into the previous chunk */
|
||||
|
||||
for(c = cq->first; c && c->next && c->next->next; c = c->next);
|
||||
|
||||
if (c &&
|
||||
c->type == MEM_CHUNK &&
|
||||
c->next &&
|
||||
c->next->type == MEM_CHUNK &&
|
||||
c->next->mem->used == sizeof("0\r\n\r\n") &&
|
||||
0 == strcmp(c->next->mem->ptr, "0\r\n\r\n")) {
|
||||
buffer_append_string_buffer(c->mem, c->next->mem);
|
||||
|
||||
c->next->mem->used = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for(c = cq->first; c; c = c->next) {
|
||||
int chunk_finished = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue