You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modproxy-dev@apache.org by Rodent of Unusual Size <Ke...@Golux.Com> on 2002/01/10 05:45:15 UTC

[STATUS] (httpd-proxy) Wed Jan 9 23:45:15 EST 2002

HTTPD PROXY STATUS:
Last modified at [$Date: 2001/10/05 08:57:18 $]

Release:

intended for 1.3/2.0 release date

httpd 1.3.x)
   
   Source for HTTP/1.1 mod_proxy is now available 
    in httpd-proxy/module-1.0/ via CVS
   Note: this code now maintains binary compatibility

   CVS snapshots of HTTP/1.1 proxy + apache 1.3-current are at
    http://cvs.apache.org/builds/httpd-proxy/

httpd 2.0)

   work ongoing
   Graham's patches for httpd-2.0 committed
   merged back into httpd-2.0 module
    
   CVS snapshots of httpd-2.0 (including apr & apr-util & buildconf'ed) are at
    http://cvs.apache.org/builds/httpd-proxy/   
    
httpd 2.0+)

   email block diagrams exchanged, and clarified a little
   talked about these at ApacheCon AFA a new proxy and cache design
       got good feedback from Theo and Ian

httpd 2.1) 

   TBD - create new development subdir, snapshots
       
RELEASE SHOWSTOPPERS:

a), b), c) below.

2.0

   * problems with akamai proxies - under investigation
      This problem is fixed on FreeBSD 4.3 and Linux 2.2 as of 6/26/01
   * Inter-module dependencies cause the proxy to act up on AIX as a
     DSO. Hack in place currently - need to clean this up.
   * Remove the last bits of non-threadsafe code. inet_ntoa springs to mind.

RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:

1.3.x

    * Ronald Tschaler's patch to mod_proxy to allow other modules to
      set headers too (needed by mod_auth_digest)
        Message-ID: <19...@chill.innovation.ch>
        Status: TBD
    * announce to current-testers@ to get some looking at
    * possibly to fold this into a later release (1.3.20++?)
      currently being maintained as a separate code base + patch
    * Bill Rowe's suggested fix for Win32 - done
    * Kwindla Kramer's patches for downstream cache control
        Message-ID: <15...@khk.allafrica.com>
        Status: under consideration
    * Luis Londono's mod_ssl post patch to fix up after mod_ssl installed
        Message-ID: <01...@nisbic.com>
        Status: this needs to go to the mod_ssl guys

2.0

   * announce to current-testers@ to get some looking at

   * Audit all calls to ap_[get,pass]_brigade, and check that
     the return values are inspected and acted upon correctly.
     As it is, we blithely ignore FAR too many of these calls.
     General return code audit would be nice too...

   * problems when streaming mp3 from live365.com, and audio stream dies
     and reconnects - we seem to be hanging on the stream close, since
     the client (iTunes) may not be actually closing the connection
     (not believed to be an HTTP proxy problem)
   * Remove any and all code tied to IPv4, for IPv6 compatibility. Go looking
     for in_addr.
   * Possibly set SO_REUSEPORT in the ftp proxy, as some ftp servers may need
     it.
   * Possible proxy waiting scoreboard state

2.0+

    * none

Other known bugs that need fixing:

1.3.x

    * many PRs to be cleaned up - proceeding

2.0

    * none

2.0+

    * none

Other features that need writing:

1.3.x

    * mod_rewrite and possibly mod_include cleanup

2.0

    * none

2.0+

    * none

Documentation that needs editing:

1.3.x

    * mod_proxy.html (needs a once-over)

2.0

    * mod_proxy.html

2.0+

    * none

Available Patches:

1.3.x

    * PR#3489 patch for NoCache/mod_rewrite problem

2.0

    * none

2.0+

    * none

Open Issues:

    * Eventual reintegration into httpd-2.0. The basic criteria are:
        a) The code compiles and runs as often as any code in the tree
        b) The functionality makes sense for an HTTP proxy
        c) There is an active maintainer who is or can become an ASF
           member.
    * announce to current-testers@ to get some looking at (1.3/2.0 both)
    * announce for inclusion vote and Graham commit privs - done (sort of)

Problem reports to clean up (finally):
NOTE: These are pulled directly from httpd-2.0's STATUS.

    * PR#362: mod_proxy
      Mod_proxy doesn't allow change of error pages
        Status:

    * PR#440: mod_proxy
      Proxy doesn't deliver documents if not connected
        Status:

    * PR#534: mod_proxy
      proxy converts ~name to %7Ename when name starts with a dot (.)
        Status:

    * PR#612: mod_proxy
      Proxy FTP Authentication Fails
        Status:

    * PR#700: mod_proxy
      Proxy doesn't do links right for OpenVMS files through ftp:
        Status:

    * PR#980: mod_proxy
      Controlling Access to Remote Proxies would be nice...
        Status:

    * PR#994: mod_proxy
      Adding authentication "on the fly" through the proxy module
        Status:

    * PR#1085: mod_proxy
      ProxyRemote make a dead cycle.
        Status:

    * PR#1166: mod_proxy
      ``nph-'' not honored (no buffering) for ProxyRemote mapping
        Status:

    * PR#1290: mod_proxy
      Need to know "hit-rate" on proxy cache
        Status:

    * PR#1532: mod_proxy
      Proxy transfer logging
        Status:

    * PR#1547: mod_proxy
      No HTTP_X_FORWARDED_FOR set...
        Status:

    * PR#1567: mod_proxy
      ProxyRemote proxy requests fail authentication by firewall
        Status:

    * PR#1702: mod_proxy
      mod_proxy to support persistent conns?
        Status:

    * PR#1878: mod_proxy
      listing of proxy cache content
        Status:

    * PR#2314: mod_proxy
      patterns in ProxyRemote
        Status:

    * PR#3568: mod_proxy
      Accessing URL through proxy server corrupts data.
        Status:

    * PR#3605: mod_proxy
      Some anonymous FTP URLs ask for authentication
        Status:

Re: [STATUS] (httpd-proxy) Wed Jan 9 23:45:15 EST 2002

Posted by Chuck Murcko <ch...@topsail.org>.
Done.

On Thursday, January 10, 2002, at 07:49 AM, Zvi Har'El wrote:

> Another approach is to initialize wetag to NULL in its declaration
>
> 728:	const char *etag, *wetag = NULL;
>
>

Chuck


Re: [STATUS] (httpd-proxy) Wed Jan 9 23:45:15 EST 2002

Posted by Chuck Murcko <ch...@topsail.org>.
Thanks. I have to get a nightly build going on that, will fix.

There will be another pass through the bugdb on this as well, against 
the other proxy issues.

Chuck

On Thursday, January 10, 2002, at 07:49 AM, Zvi Har'El wrote:

> On Wed, 9 Jan 2002, Rodent of Unusual Size wrote:
>
>> HTTPD PROXY STATUS:
>> Last modified at [$Date: 2001/10/05 08:57:18 $]
>>
>> Release:
>>
>> intended for 1.3/2.0 release date
>>
>> httpd 1.3.x)
>>
>>    Source for HTTP/1.1 mod_proxy is now available
>>     in httpd-proxy/module-1.0/ via CVS
>>    Note: this code now maintains binary compatibility
>>
>>    CVS snapshots of HTTP/1.1 proxy + apache 1.3-current are at
>>     http://cvs.apache.org/builds/httpd-proxy/
>>
>
> Re intended merge of this code with 1.3.x, note that -Wall compilation 
> produces
> an error in proxy_cache.c, in the function ap_proxy_cache_conditional. 
> The
> problem is that wetag is used without initialization in the case etag 
> is NULL.
>
> The if statement
>
> 836:    else if (wetag && ap_proxy_liststr(c->inm, wetag, NULL)) {
>
> should perhaps be changed to
>
> 836:    else if (etag && wetag && ap_proxy_liststr(c->inm, wetag, 
> NULL)) {
>
> Another approach is to initialize wetag to NULL in its declaration
>
> 728:	const char *etag, *wetag = NULL;
>
> Yet another approach is to set it to NULL if etag is NULL
>
> 730:	/* get etag */
> 731:	if ((etag = ap_table_get(c->hdrs, "Etag"))) {
> 732:	    wetag = ap_pstrcat(r->pool, "W/", etag, NULL);
> 733:	} else wetag = NULL;
>
> If nothing is done, the results are unexpected. I.e., this is not a 
> matter of
> mere cosmetics, but a real bug. I regret I didn't send this in before, 
> but
> since it seems apache 1.3.x with the new proxy will actually be used 
> before
> 2.0.x is in production, I think it should be clean.
>
> Sincerely,
>
> Zvi.
>
> --
> Dr. Zvi Har'El     mailto:rl@math.technion.ac.il     Department of 
> Mathematics
> tel:+972-54-227607                   Technion - Israel Institute of 
> Technology
> fax:+972-4-8324654 http://www.math.technion.ac.il/~rl/     Haifa 32000, 
> ISRAEL
> "If you can't say somethin' nice, don't say nothin' at all." -- Thumper 
> (1942)
>                              Thursday, 26 Tevet 5762, 10 January 2002,  
> 2:31PM
>
>
>
Chuck Murcko
Topsail Group
http://www.topsail.org/


Re: [STATUS] (httpd-proxy) Wed Jan 9 23:45:15 EST 2002

Posted by Zvi Har'El <rl...@math.technion.ac.il>.
On Wed, 9 Jan 2002, Rodent of Unusual Size wrote:

> HTTPD PROXY STATUS:
> Last modified at [$Date: 2001/10/05 08:57:18 $]
>
> Release:
>
> intended for 1.3/2.0 release date
>
> httpd 1.3.x)
>
>    Source for HTTP/1.1 mod_proxy is now available
>     in httpd-proxy/module-1.0/ via CVS
>    Note: this code now maintains binary compatibility
>
>    CVS snapshots of HTTP/1.1 proxy + apache 1.3-current are at
>     http://cvs.apache.org/builds/httpd-proxy/
>

Re intended merge of this code with 1.3.x, note that -Wall compilation produces
an error in proxy_cache.c, in the function ap_proxy_cache_conditional. The
problem is that wetag is used without initialization in the case etag is NULL.

The if statement

836:    else if (wetag && ap_proxy_liststr(c->inm, wetag, NULL)) {

should perhaps be changed to

836:    else if (etag && wetag && ap_proxy_liststr(c->inm, wetag, NULL)) {

Another approach is to initialize wetag to NULL in its declaration

728:	const char *etag, *wetag = NULL;

Yet another approach is to set it to NULL if etag is NULL

730:	/* get etag */
731:	if ((etag = ap_table_get(c->hdrs, "Etag"))) {
732:	    wetag = ap_pstrcat(r->pool, "W/", etag, NULL);
733:	} else wetag = NULL;

If nothing is done, the results are unexpected. I.e., this is not a matter of
mere cosmetics, but a real bug. I regret I didn't send this in before, but
since it seems apache 1.3.x with the new proxy will actually be used before
2.0.x is in production, I think it should be clean.

Sincerely,

Zvi.

-- 
Dr. Zvi Har'El     mailto:rl@math.technion.ac.il     Department of Mathematics
tel:+972-54-227607                   Technion - Israel Institute of Technology
fax:+972-4-8324654 http://www.math.technion.ac.il/~rl/     Haifa 32000, ISRAEL
"If you can't say somethin' nice, don't say nothin' at all." -- Thumper (1942)
                             Thursday, 26 Tevet 5762, 10 January 2002,  2:31PM