You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2002/11/01 01:42:55 UTC

[PATCH] Take 2, ssl_engine_io.c BIO and brigades refactored

Folks, once again, please take a look at the attached code.  This time
around, it actually works ;-)

This is correct only for the input BIO layer.  The output BIO layer still
needs alot of work.

Although I merged SSL_read from two into a single function (against 
other's preferences), it's necessary because the error cases were
impossible to grok.  I did split out the bucket_read into a brigade_consume
function so that half, at least, is much easier to follow.

brigade_consume is much like brigade_flatten.  However, they aren't
identical, because you can't do non-blocking reads with brigade_flatten.

The changes to the SSL input effectively force some data to be returned
if the filter read was blocking.  However, we will not attempt to pull more
information off the wire than is available.

The biggest issue throughout the old code is exception handling.  Of
course the existing code 'worked' in a way, as long as the flow wasn't
interrupted and no other errors occured.

I've tested some POST requests, but if someone can put this on
the httpd-test/perl-framework and exercise it, I'd really appreciate it.

Now I'll get to work on the write side of the equation.

Bill