You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2004/12/14 18:30:47 UTC
DO NOT REPLY [Bug 32699] New: -
ssl flush output broken
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=32699>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=32699
Summary: ssl flush output broken
Product: Apache httpd-2.0
Version: 2.0.52
Platform: PC
OS/Version: Linux
Status: NEW
Severity: critical
Priority: P2
Component: mod_ssl
AssignedTo: bugs@httpd.apache.org
ReportedBy: ducrot@poupinou.org
With apache 2.0.52 and mod_ssl, when trying to make a cgi which
will constantly output something, f.e.
#!/usr/bin/perl
$!=1;
print"HTTPS/1.0 200 OK\n";
print"Content-type: text/plain;\n\n";
my $i = 0;
while (1) {
print "something $i\n";
$i++;
sleep(1);
}
then the script is still running even though the client is
disconnected.
This happens only if SSL is in use. Also, I checked that the
same kind of behaviour happens if a plain file is requested (something
like lynx https://sever/a_big_file will result for server to still try to
send the file even though lynx is killed).
I think the problem is in
httpd-2.0.52/modules/ssl/ssl_engine_io.c::bio_filter_out_write()
220 if (bio_filter_out_flush(bio) < 0) {
221 return -1;
222 }
so that actually httpd will try to flush ad eternam the same buffer.
I guess that in fact bio_filter_out_flush() should verify if the
connection to the client have been aborted.
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org