2004-05-18
2004-05-18 15:40:30 by Martin Stjernholm <mast@lysator.liu.se>
-
6e4d303807e83256a5f303d598eb335121f66091
(18 lines)
(+15/-3)
[
Show
| Annotate
]
Branch: 5.2
Disabled set_blocking before close in ssl mode again.
Rev: server/protocols/http.pike:1.447
2:
// Modified by Francesco Chemolli to add throttling capabilities.
// Copyright © 1996 - 2001, Roxen IS.
- constant cvs_version = "$Id: http.pike,v 1.446 2004/05/18 09:12:14 anders Exp $";
+ constant cvs_version = "$Id: http.pike,v 1.447 2004/05/18 15:40:30 mast Exp $";
// #define REQUEST_DEBUG
#define MAGIC_ERROR
893: Inside #if constant (SSL.sslfile.PACKET_MAX_SIZE)
#if constant (SSL.sslfile.PACKET_MAX_SIZE)
// Destruct necessary since the old SSL.sslfile implementation
// contains cyclic refs.
+
+ // Don't set to blocking mode in SSL since naughty clients can
+ // hang the backend then. Otoh, not doing it can cause connections
+ // to be closed prematurely which typically leads to broken images
+ // in browsers that don't support keep-alive (e.g. Safari). The
+ // real problem is that SSL.sslfile in pike <= 7.4 has flawed
+ // buffering in callback mode. It's fixed by a complete rewrite in
+ // 7.6. FIXME: Use the 7.6 version of SSL.sslfile in Roxen.
+ #if 0
+ if (my_fd->CipherSpec)
my_fd->set_blocking();
-
+ #endif
+
my_fd->close();
destruct (my_fd);
#else
1871:
start_sender();
}
-
+
// Execute the request
void handle_request( )
{