Skip to content

Commit 587497e

Browse files
author
Zheng SHAO
committed
define php_ap_map_http_request_error function for older httpd only
1 parent d92606a commit 587497e

File tree

1 file changed

+24
-31
lines changed

1 file changed

+24
-31
lines changed

sapi/apache2handler/sapi_apache2.c

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -69,27 +69,32 @@ char *apache2_php_ini_path_override = NULL;
6969
ZEND_TSRMLS_CACHE_DEFINE()
7070
#endif
7171

72-
int
73-
php_ap_map_http_request_error(apr_status_t rv, int status)
72+
/* if apache's version is newer than 2.2.31 or 2.4.16 */
73+
#if MODULE_MAGIC_COOKIE == 0x41503232UL && AP_MODULE_MAGIC_AT_LEAST(20051115,40) || \
74+
MODULE_MAGIC_COOKIE == 0x41503234UL && AP_MODULE_MAGIC_AT_LEAST(20120211,47)
75+
#define php_ap_map_http_request_error ap_map_http_request_error
76+
#else
77+
static int php_ap_map_http_request_error(apr_status_t rv, int status)
7478
{
75-
switch (rv) {
76-
case AP_FILTER_ERROR: {
77-
return AP_FILTER_ERROR;
78-
}
79-
case APR_ENOSPC: {
80-
return HTTP_REQUEST_ENTITY_TOO_LARGE;
81-
}
82-
case APR_ENOTIMPL: {
83-
return HTTP_NOT_IMPLEMENTED;
84-
}
85-
case APR_ETIMEDOUT: {
86-
return HTTP_REQUEST_TIME_OUT;
87-
}
88-
default: {
89-
return status;
90-
}
91-
}
79+
switch (rv) {
80+
case AP_FILTER_ERROR: {
81+
return AP_FILTER_ERROR;
82+
}
83+
case APR_ENOSPC: {
84+
return HTTP_REQUEST_ENTITY_TOO_LARGE;
85+
}
86+
case APR_ENOTIMPL: {
87+
return HTTP_NOT_IMPLEMENTED;
88+
}
89+
case APR_ETIMEDOUT: {
90+
return HTTP_REQUEST_TIME_OUT;
91+
}
92+
default: {
93+
return status;
94+
}
95+
}
9296
}
97+
#endif
9398

9499
static size_t
95100
php_apache_sapi_ub_write(const char *str, size_t str_length)
@@ -229,25 +234,13 @@ php_apache_sapi_read_post(char *buf, size_t count_bytes)
229234
len = count_bytes - tlen;
230235
}
231236

232-
// Apache 2.2.31 or 2.4.16 above
233-
#if MODULE_MAGIC_COOKIE == 0x41503232UL && AP_MODULE_MAGIC_AT_LEAST(20051115,40) || \
234-
MODULE_MAGIC_COOKIE == 0x41503234UL && AP_MODULE_MAGIC_AT_LEAST(20120211,47)
235-
if (ret != APR_SUCCESS) {
236-
if (APR_STATUS_IS_TIMEUP(ret)) {
237-
SG(sapi_headers).http_response_code = ap_map_http_request_error(ret, HTTP_REQUEST_TIME_OUT);
238-
} else {
239-
SG(sapi_headers).http_response_code = ap_map_http_request_error(ret, HTTP_BAD_REQUEST);
240-
}
241-
}
242-
#else
243237
if (ret != APR_SUCCESS) {
244238
if (APR_STATUS_IS_TIMEUP(ret)) {
245239
SG(sapi_headers).http_response_code = php_ap_map_http_request_error(ret, HTTP_REQUEST_TIME_OUT);
246240
} else {
247241
SG(sapi_headers).http_response_code = php_ap_map_http_request_error(ret, HTTP_BAD_REQUEST);
248242
}
249243
}
250-
#endif
251244

252245
return tlen;
253246
}

0 commit comments

Comments
 (0)