Index: support/ab.c =================================================================== --- support/ab.c (revision 1370289) +++ support/ab.c (working copy) @@ -1347,11 +1347,21 @@ good++; close_connection(c); } + else if (scode == SSL_ERROR_SYSCALL + && status == 0 + && c->read != 0) { + /* connection closed, but in violation of the protocol, after + * some data has already been read; this commonly happens, so + * let the length check catch any response errors + */ + good++; + close_connection(c); + } else if (scode != SSL_ERROR_WANT_WRITE && scode != SSL_ERROR_WANT_READ) { /* some fatal error: */ c->read = 0; - BIO_printf(bio_err, "SSL read failed - closing connection\n"); + BIO_printf(bio_err, "SSL read failed (%d) - closing connection\n", scode); ERR_print_errors(bio_err); close_connection(c); }
Without it I get something like this: ... SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection Completed 200 requests Finished 200 requests Server Software: Server Hostname: 127.0.0.1 Server Port: 8443 Document Path: /manual/mod/mod_rewrite.html.en Document Length: 0 bytes <-------- The server is trunk mod_ssl using standard shutdown. -- Born in Roswell... married an alien... http://emptyhammock.com/