httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Erenkrantz <>
Subject [HEADS-UP] Input filtering prototype change
Date Sat, 19 Jan 2002 07:59:16 GMT
When I brought up a proposal to rewrite ap_getline last month, we
(Ryan, Greg, and myself) agreed that we needed to fix the input 
filtering prototypes to separate block/non-block from the input 
filter mode.  This is the first step to eventually fixing ap_getline.
I believe it also makes things a lot cleaner in the input filter API.

This breaks source API compatibility for any third-party modules 
against 2.0 that use input filtering.  I wanted to do this before 
another release occurs.  I've updated all the modules in httpd-2.0
and in httpd-test accordingly.  We still pass all related httpd-test

Please let me know if you have any questions or concerns.  Hopefully,
the commit log and other diffs should guide others in how to change
their own modules if needed.  I believe the sooner we address this,
the better off we will be.  Enjoy.  -- justin

On Sat, Jan 19, 2002 at 07:45:18AM -0000, wrote:
> jerenkrantz    02/01/18 23:45:18
>   Modified:    .        CHANGES
>                include  ap_mmn.h util_filter.h
>                modules/echo mod_echo.c
>                modules/experimental mod_case_filter_in.c mod_charset_lite.c
>                         mod_ext_filter.c
>                modules/http http_protocol.c http_request.c mod_core.h
>                modules/proxy proxy_ftp.c proxy_http.c proxy_util.c
>                modules/ssl ssl_engine_io.c
>                server   core.c protocol.c util_filter.c
>                server/mpm/perchild perchild.c
>   Log:
>   Input filtering prototype change: Socket blocking type should be
>   separate from the input filter mode type.
>   We also no longer look at readbytes to determine the method of
>   filter operation.  This makes the use of filters more obvious and
>   allows a wider range of options for input filters modes.
>   To start with, the new input filter modes are:
>   AP_MODE_READBYTES (no more than *readbytes returned)
>   AP_MODE_GETLINE (old *readbytes == 0 case)
>   AP_MODE_SPECULATIVE (will be used in a future ap_getline rewrite)
>   AP_MODE_EXHAUSTIVE (old *readbytes == -1 case)
>   AP_MODE_INIT (special case for NNTP over SSL)
>   The block parameter is an apr_read_type_e: APR_BLOCK_READ, APR_NONBLOCK_READ
>   This also allows cleanup of mod_ssl's handling in the getline case.
>   Reviewed by:	Ryan Bloom (concept), Greg Stein (concept)

View raw message