httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ryan Bloom" <...@covalent.net>
Subject RE: proxy busted
Date Thu, 07 Mar 2002 04:41:38 GMT
> a little bit of debug info in case it saves anybody some time:
> 
> Input filters for the fake request_rec used by proxy aren't getting
> set up right.
> 
> ap_proxy_http_process_response() calls ap_proxy_make_fake_req() to set
> up a request_rec to be passed to ap_getline().
> 
> ap_proxy_make_fake_req() sets r->input_filters to c->input_filters
> (which ends up being core_input_filter), then calls
> proxy_run_create_req(), which gets us to core_create_req().  But when
> we're done with that, we end up with just the net_time filter and no
> core_input_filter.    core_req() adds the net_time filter with a call
> to ap_add_input_filter_handle().
> 
> The loss of core_input_filter is (I think) done by
> add_any_filter_handle() with the logic
> 
>     if (frec->ftype < AP_FTYPE_CONNECTION && (*r_filters ==
*c_filters)) {
>         *r_filters = *p_filters;
>     }
> 
> But I guess the problem is a misuse of r->proto_input_filters
> vs. r->input_filters on this path???

Nope.  This problem is in the proxy itself.  Make_fake_proxy_req isn't
setting r->proto_input_filters or r->proto_output_filters.  That means
that the rest of the logic is wrong.  I'll try to get around to fixing
this tonight, but I may not get to it.

Ryan



Mime
View raw message