+1 on the collapsing of ssl_io_hook_read() and ssl_io_input_read(). I think
it's really good. Some observations about the patch :
1. I think "apr_bucket *bucket" might be better out of the while() loop
rather than within the while(). But, with/without that change, it doesn't
work for me. Rather, using inbio->bucket works.
2. I'm slightly confused about the following :
- if ((len <= inl) || inbio->mode == AP_MODE_GETLINE) {
+ if (len >= inl) {
=> I thought the way it ought to work is if char_buffer_read() returns less
than what you get, then just return - otherwise, continue. But, it seems to
be other way. I'm still looking into it.
-Madhu
> -----Original Message-----
> From: William A. Rowe, Jr. [mailto:wrowe@;rowe-clan.net]
> Sent: Wednesday, October 30, 2002 3:57 PM
> To: [EMAIL PROTECTED]
> Cc: jeff Trawick; MATHIHALLI,MADHUSUDAN (HP-Cupertino,ex1)
> Subject: SSL Input Filter bogosity
>
>
> I spent alot of time over the last several days trying to
> shoot down the
> obscure bugs in SSL lockup. Some might have to do with the DBM and
> apr_global_mutex bugs. Others weren't so obvious ("Spurious
> Interrupt,
> perhaps one of those OpenSSL confusions?")
>
> The answer is we rarely know which end is up with the existing input
> SSL filter. We aren't tracking our own APR result codes correctly,
> and nothing percolates properly. We don't look (today) correctly at
> the failure and retry cases.
>
> The patch attached is a rewrite of the SSL input filtering.
> Please take
> a close look at the new input filter. I've collapsed two
> functions that
> didn't need to be split so it's easier to follow, now.
>
> Bill
>