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