summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2019-12-23 20:39:27 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2019-12-23 20:39:27 +0300
commit5e5fa2e9e57b713e445b1737005ff6a202bda8ad (patch)
treeb77902bbf7a956d5c8ef7ac95f0355545f4ccdbf
parentd97ccc831a6f4812cb9f086cbcdfdfdcae24f5df (diff)
downloadnginx-5e5fa2e9e57b713e445b1737005ff6a202bda8ad.tar.gz
nginx-5e5fa2e9e57b713e445b1737005ff6a202bda8ad.tar.bz2
Dav: added checks for chunked to body presence conditions.
These checks were missed when chunked support was introduced. And also added an explicit error message to ngx_http_dav_copy_move_handler() (it was missed for some reason, in contrast to DELETE and MKCOL handlers).
-rw-r--r--src/http/modules/ngx_http_dav_module.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/http/modules/ngx_http_dav_module.c b/src/http/modules/ngx_http_dav_module.c
index 59ad2cedf..8b69e6f38 100644
--- a/src/http/modules/ngx_http_dav_module.c
+++ b/src/http/modules/ngx_http_dav_module.c
@@ -312,7 +312,7 @@ ngx_http_dav_delete_handler(ngx_http_request_t *r)
ngx_file_info_t fi;
ngx_http_dav_loc_conf_t *dlcf;
- if (r->headers_in.content_length_n > 0) {
+ if (r->headers_in.content_length_n > 0 || r->headers_in.chunked) {
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
"DELETE with body is unsupported");
return NGX_HTTP_UNSUPPORTED_MEDIA_TYPE;
@@ -495,7 +495,7 @@ ngx_http_dav_mkcol_handler(ngx_http_request_t *r, ngx_http_dav_loc_conf_t *dlcf)
size_t root;
ngx_str_t path;
- if (r->headers_in.content_length_n > 0) {
+ if (r->headers_in.content_length_n > 0 || r->headers_in.chunked) {
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
"MKCOL with body is unsupported");
return NGX_HTTP_UNSUPPORTED_MEDIA_TYPE;
@@ -549,7 +549,9 @@ ngx_http_dav_copy_move_handler(ngx_http_request_t *r)
ngx_http_dav_copy_ctx_t copy;
ngx_http_dav_loc_conf_t *dlcf;
- if (r->headers_in.content_length_n > 0) {
+ if (r->headers_in.content_length_n > 0 || r->headers_in.chunked) {
+ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
+ "COPY and MOVE with body are unsupported");
return NGX_HTTP_UNSUPPORTED_MEDIA_TYPE;
}