On Thu, Oct 04, 2001 at 01:03:32PM -0700, Justin Erenkrantz wrote:
>...
> --- modules/ssl/ssl_engine_io.c       2001/10/04 17:50:39     1.37
> +++ modules/ssl/ssl_engine_io.c       2001/10/04 19:54:22
>...
>  static apr_status_t ssl_io_filter_Input(ap_filter_t *f,
>                                          apr_bucket_brigade *pbbOut,
> -                                        ap_input_mode_t eMode,
> +                                        ap_input_mode_t mode,
>                                          apr_off_t *readbytes)
>  {
>      apr_status_t ret;
> -    SSLFilterRec *pRec = f->ctx;
> +    SSLFilterRec *ctx = f->ctx;
> +    apr_status_t rv;
> +    apr_bucket *e;
> +    apr_off_t *tempread;
>  
> -    /* XXX: we don't currently support peek */
> -    if (eMode == AP_MODE_PEEK) {
> +    /* XXX: we don't currently support peek or readbytes == -1 */
> +    if (mode == AP_MODE_PEEK || *readbytes == -1) {
>          return APR_ENOTIMPL;
>      }
> +
> +    /* Return the requested amount or less. */
> +    if (*readbytes)
> +    {
> +        /* churn the state machine */
> +        ret = churn_input(ctx, mode, readbytes);
> +
> +        if (ret != APR_SUCCESS)
> +             return ret;
> +
> +        APR_BRIGADE_CONCAT(pbbOut, ctx->b);
> +        return APR_SUCCESS;
> +    }
> +   
> +    /* Readbytes == 0 implies we only want a LF line. 
> +     * 1024 seems like a good number for now. */
> +    *tempread = 1024;

*tempread ?? You might want to assign something to tempread first :-)

>...
> +        pos = memchr(str, APR_ASCII_LF, len);

How about a new brigade function first?


I don't know much about the rest of how this filter works, but I am
seriously suspicious of the removal of the renegotiation code.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Reply via email to