diff options
author | Zheng SHAO <z-shao@colopl.co.jp> | 2016-12-29 13:00:31 +0900 |
---|---|---|
committer | Zheng SHAO <z-shao@colopl.co.jp> | 2016-12-29 16:07:05 +0900 |
commit | 587497e3a9f5d74442b35ad9d0bf5f67be142edc (patch) | |
tree | dc1de8e26972011925fb38ff5b694cf34a861c2d /sapi/apache2handler/sapi_apache2.c | |
parent | d92606a4bee4381f6762a3cd157c304bea4934d0 (diff) | |
download | php-git-587497e3a9f5d74442b35ad9d0bf5f67be142edc.tar.gz |
define php_ap_map_http_request_error function for older httpd only
Diffstat (limited to 'sapi/apache2handler/sapi_apache2.c')
-rw-r--r-- | sapi/apache2handler/sapi_apache2.c | 55 |
1 files changed, 24 insertions, 31 deletions
diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index 9e9b853e1c..81574a4784 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -69,27 +69,32 @@ char *apache2_php_ini_path_override = NULL; ZEND_TSRMLS_CACHE_DEFINE() #endif -int -php_ap_map_http_request_error(apr_status_t rv, int status) +/* if apache's version is newer than 2.2.31 or 2.4.16 */ +#if MODULE_MAGIC_COOKIE == 0x41503232UL && AP_MODULE_MAGIC_AT_LEAST(20051115,40) || \ + MODULE_MAGIC_COOKIE == 0x41503234UL && AP_MODULE_MAGIC_AT_LEAST(20120211,47) +#define php_ap_map_http_request_error ap_map_http_request_error +#else +static int php_ap_map_http_request_error(apr_status_t rv, int status) { - switch (rv) { - case AP_FILTER_ERROR: { - return AP_FILTER_ERROR; - } - case APR_ENOSPC: { - return HTTP_REQUEST_ENTITY_TOO_LARGE; - } - case APR_ENOTIMPL: { - return HTTP_NOT_IMPLEMENTED; - } - case APR_ETIMEDOUT: { - return HTTP_REQUEST_TIME_OUT; - } - default: { - return status; - } - } + switch (rv) { + case AP_FILTER_ERROR: { + return AP_FILTER_ERROR; + } + case APR_ENOSPC: { + return HTTP_REQUEST_ENTITY_TOO_LARGE; + } + case APR_ENOTIMPL: { + return HTTP_NOT_IMPLEMENTED; + } + case APR_ETIMEDOUT: { + return HTTP_REQUEST_TIME_OUT; + } + default: { + return status; + } + } } +#endif static size_t php_apache_sapi_ub_write(const char *str, size_t str_length) @@ -229,17 +234,6 @@ php_apache_sapi_read_post(char *buf, size_t count_bytes) len = count_bytes - tlen; } -// Apache 2.2.31 or 2.4.16 above -#if MODULE_MAGIC_COOKIE == 0x41503232UL && AP_MODULE_MAGIC_AT_LEAST(20051115,40) || \ - MODULE_MAGIC_COOKIE == 0x41503234UL && AP_MODULE_MAGIC_AT_LEAST(20120211,47) - if (ret != APR_SUCCESS) { - if (APR_STATUS_IS_TIMEUP(ret)) { - SG(sapi_headers).http_response_code = ap_map_http_request_error(ret, HTTP_REQUEST_TIME_OUT); - } else { - SG(sapi_headers).http_response_code = ap_map_http_request_error(ret, HTTP_BAD_REQUEST); - } - } -#else if (ret != APR_SUCCESS) { if (APR_STATUS_IS_TIMEUP(ret)) { SG(sapi_headers).http_response_code = php_ap_map_http_request_error(ret, HTTP_REQUEST_TIME_OUT); @@ -247,7 +241,6 @@ php_apache_sapi_read_post(char *buf, size_t count_bytes) SG(sapi_headers).http_response_code = php_ap_map_http_request_error(ret, HTTP_BAD_REQUEST); } } -#endif return tlen; } |