[nginx] Dav: fixed Location in successful MKCOL response.

Ruslan Ermilov ru at nginx.com
Mon Dec 23 15:45:41 UTC 2019


details:   https://hg.nginx.org/nginx/rev/c1a7d3672653
branches:  
changeset: 7601:c1a7d3672653
user:      Ruslan Ermilov <ru at nginx.com>
date:      Mon Dec 16 15:19:01 2019 +0300
description:
Dav: fixed Location in successful MKCOL response.

Instead of reducing URI length to not include the terminating '\0'
character in 6ddaac3e0bf7, restore the terminating '/' character.

diffstat:

 src/http/modules/ngx_http_dav_module.c |  3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diffs (20 lines):

diff -r 3939483cd1b5 -r c1a7d3672653 src/http/modules/ngx_http_dav_module.c
--- a/src/http/modules/ngx_http_dav_module.c	Thu Dec 05 19:38:06 2019 +0300
+++ b/src/http/modules/ngx_http_dav_module.c	Mon Dec 16 15:19:01 2019 +0300
@@ -513,7 +513,6 @@
     }
 
     *(p - 1) = '\0';
-    r->uri.len--;
 
     ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
                    "http mkcol path: \"%s\"", path.data);
@@ -521,6 +520,8 @@
     if (ngx_create_dir(path.data, ngx_dir_access(dlcf->access))
         != NGX_FILE_ERROR)
     {
+        *(p - 1) = '/';
+
         if (ngx_http_dav_location(r, path.data) != NGX_OK) {
             return NGX_HTTP_INTERNAL_SERVER_ERROR;
         }


More information about the nginx-devel mailing list