diff options
Diffstat (limited to 'src/http/modules')
| -rw-r--r-- | src/http/modules/ngx_http_autoindex_module.c | 5 | ||||
| -rw-r--r-- | src/http/modules/ngx_http_dav_module.c | 8 | ||||
| -rw-r--r-- | src/http/modules/ngx_http_index_module.c | 6 | ||||
| -rw-r--r-- | src/http/modules/ngx_http_static_module.c | 3 |
4 files changed, 14 insertions, 8 deletions
diff --git a/src/http/modules/ngx_http_autoindex_module.c b/src/http/modules/ngx_http_autoindex_module.c index 1c7709376..f5944c447 100644 --- a/src/http/modules/ngx_http_autoindex_module.c +++ b/src/http/modules/ngx_http_autoindex_module.c @@ -135,7 +135,7 @@ ngx_http_autoindex_handler(ngx_http_request_t *r) { u_char *last, *filename, scale; off_t length; - size_t len, copy, allocated; + size_t len, copy, allocated, root; ngx_tm_t tm; ngx_err_t err; ngx_buf_t *b; @@ -174,7 +174,8 @@ ngx_http_autoindex_handler(ngx_http_request_t *r) /* NGX_DIR_MASK_LEN is lesser than NGX_HTTP_AUTOINDEX_PREALLOCATE */ - last = ngx_http_map_uri_to_path(r, &path, NGX_HTTP_AUTOINDEX_PREALLOCATE); + last = ngx_http_map_uri_to_path(r, &path, &root, + NGX_HTTP_AUTOINDEX_PREALLOCATE); if (last == NULL) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } diff --git a/src/http/modules/ngx_http_dav_module.c b/src/http/modules/ngx_http_dav_module.c index 02dd3886e..81c1dc49a 100644 --- a/src/http/modules/ngx_http_dav_module.c +++ b/src/http/modules/ngx_http_dav_module.c @@ -102,6 +102,7 @@ static ngx_int_t ngx_http_dav_handler(ngx_http_request_t *r) { char *failed; + size_t root; ngx_int_t rc; ngx_str_t path; ngx_file_info_t fi; @@ -152,7 +153,7 @@ ngx_http_dav_handler(ngx_http_request_t *r) return rc; } - ngx_http_map_uri_to_path(r, &path, 0); + ngx_http_map_uri_to_path(r, &path, &root, 0); ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "http delete filename: \"%s\"", path.data); @@ -219,7 +220,7 @@ ngx_http_dav_handler(ngx_http_request_t *r) return rc; } - ngx_http_map_uri_to_path(r, &path, 0); + ngx_http_map_uri_to_path(r, &path, &root, 0); ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "http mkcol path: \"%s\"", path.data); @@ -245,6 +246,7 @@ ngx_http_dav_put_handler(ngx_http_request_t *r) { char *failed; u_char *name; + size_t root; time_t date; ngx_err_t err; ngx_str_t *temp, path; @@ -252,7 +254,7 @@ ngx_http_dav_put_handler(ngx_http_request_t *r) ngx_file_info_t fi; ngx_http_dav_loc_conf_t *dlcf; - ngx_http_map_uri_to_path(r, &path, 0); + ngx_http_map_uri_to_path(r, &path, &root, 0); ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "http put filename: \"%s\"", path.data); diff --git a/src/http/modules/ngx_http_index_module.c b/src/http/modules/ngx_http_index_module.c index cd1c51ee5..3af802663 100644 --- a/src/http/modules/ngx_http_index_module.c +++ b/src/http/modules/ngx_http_index_module.c @@ -28,6 +28,8 @@ typedef struct { ngx_str_t path; ngx_str_t index; + size_t root; + ngx_uint_t tested; /* unsigned tested:1 */ } ngx_http_index_ctx_t; @@ -200,7 +202,7 @@ ngx_http_index_handler(ngx_http_request_t *r) if (len > (size_t) (ctx->path.data + ctx->path.len - ctx->index.data)) { - last = ngx_http_map_uri_to_path(r, &ctx->path, len); + last = ngx_http_map_uri_to_path(r, &ctx->path, &ctx->root, len); if (last == NULL) { return NGX_ERROR; } @@ -291,7 +293,7 @@ ngx_http_index_handler(ngx_http_request_t *r) uri.len = r->uri.len + ctx->index.len - 1; if (!clcf->alias) { - uri.data = ctx->path.data + r->root_length; + uri.data = ctx->path.data + ctx->root; } else { uri.data = ngx_palloc(r->pool, uri.len); diff --git a/src/http/modules/ngx_http_static_module.c b/src/http/modules/ngx_http_static_module.c index f9df46eeb..bc150bffa 100644 --- a/src/http/modules/ngx_http_static_module.c +++ b/src/http/modules/ngx_http_static_module.c @@ -73,6 +73,7 @@ static ngx_int_t ngx_http_static_handler(ngx_http_request_t *r) { u_char *last, *location; + size_t root; ngx_fd_t fd; ngx_int_t rc; ngx_uint_t level; @@ -112,7 +113,7 @@ ngx_http_static_handler(ngx_http_request_t *r) * so we do not need to reserve memory for '/' for possible redirect */ - last = ngx_http_map_uri_to_path(r, &path, 0); + last = ngx_http_map_uri_to_path(r, &path, &root, 0); if (last == NULL) { return NGX_HTTP_INTERNAL_SERVER_ERROR; } |
