Re: Re: Consistent update of invoking ap_map_http_request_error()

2018-01-06 Thread 牛旭



> -Original Messages-
> From: "Yann Ylavic" 
> Sent Time: 2018-01-05 18:41:15 (Friday)
> To: httpd-dev 
> Cc: 
> Subject: Re: Consistent update of invoking ap_map_http_request_error()
> 
> Hi,
> 
> On Fri, Jan 5, 2018 at 4:56 AM, 牛旭  wrote:
> > Our team researches on the consistent edits of Httpd during
> > evolution. And we have figured out several spots that may be missed
> > for consistent update.
> 
> I'm not sure what consistent means here, consistent with?
> 
> > They are both about invoking of function,
> > ap_map_http_request_error(). We suggest to escape call of function
> > and return the corresponding error code directly when this call is
> > under the control dependence where return value of ap_get_brigade()
> > does not equal to APR_SUCCESS.
> 
> Looking at the recommendations and patches, why do you the below
> change is equivalent or consitent:
> - return ap_map_http_request_error(status, HTTP_BAD_REQUEST);
> + return HTTP_BAD_REQUEST;
> ?
> 
> The purpose of ap_map_http_request_error() is to turn a system error
> (errno, apr_status_t) to an HTTP error code (4xx, 5xx), *and* forward
> internal errors like AP_FILTER_ERROR to the core handler.
> The above change pretty much defeats that, the "status" returned by
> the preceding ap_get_brigade() may vary and
> ap_map_http_request_error() takes care of this.
> 
In this way, i guess the patches that i have discovered is against your 
original design purpose. Which means the following recommendations are also not 
feasible. Anyway, thanks for your reply.
> >
> > More recommendations and supporting patches are saved in attachments.
> > It is so kind of you to reply me about the correctness of our
> > suggestions.
> 
> Could you elaborate a bit more about these recommendations? For now I
> don't see which consistency is talked about, sorry.
> 
> 
> Regards,
> Yann.


Re: Consistent update of invoking ap_map_http_request_error()

2018-01-05 Thread Yann Ylavic
Hi,

On Fri, Jan 5, 2018 at 4:56 AM, 牛旭  wrote:
> Our team researches on the consistent edits of Httpd during
> evolution. And we have figured out several spots that may be missed
> for consistent update.

I'm not sure what consistent means here, consistent with?

> They are both about invoking of function,
> ap_map_http_request_error(). We suggest to escape call of function
> and return the corresponding error code directly when this call is
> under the control dependence where return value of ap_get_brigade()
> does not equal to APR_SUCCESS.

Looking at the recommendations and patches, why do you the below
change is equivalent or consitent:
- return ap_map_http_request_error(status, HTTP_BAD_REQUEST);
+ return HTTP_BAD_REQUEST;
?

The purpose of ap_map_http_request_error() is to turn a system error
(errno, apr_status_t) to an HTTP error code (4xx, 5xx), *and* forward
internal errors like AP_FILTER_ERROR to the core handler.
The above change pretty much defeats that, the "status" returned by
the preceding ap_get_brigade() may vary and
ap_map_http_request_error() takes care of this.

>
> More recommendations and supporting patches are saved in attachments.
> It is so kind of you to reply me about the correctness of our
> suggestions.

Could you elaborate a bit more about these recommendations? For now I
don't see which consistency is talked about, sorry.


Regards,
Yann.