diff options
-rw-r--r-- | src/mod_fastcgi.c | 2 | ||||
-rw-r--r-- | src/mod_scgi.c | 2 | ||||
-rw-r--r-- | src/mod_staticfile.c | 10 |
3 files changed, 4 insertions, 10 deletions
diff --git a/src/mod_fastcgi.c b/src/mod_fastcgi.c index 2991de04..d464c125 100644 --- a/src/mod_fastcgi.c +++ b/src/mod_fastcgi.c @@ -3390,7 +3390,7 @@ static handler_t fcgi_check_extension(server *srv, connection *con, void *p_d, i /* Possibly, we processed already this request */ if (con->file_started == 1) return HANDLER_GO_ON; - fn = uri_path_handler ? con->uri.path : con->physical.rel_path; + fn = uri_path_handler ? con->uri.path : con->physical.path; if (fn->used == 0) { return HANDLER_ERROR; diff --git a/src/mod_scgi.c b/src/mod_scgi.c index 78569f78..a27b28a1 100644 --- a/src/mod_scgi.c +++ b/src/mod_scgi.c @@ -2677,7 +2677,7 @@ static handler_t scgi_check_extension(server *srv, connection *con, void *p_d, i /* Possibly, we processed already this request */ if (con->file_started == 1) return HANDLER_GO_ON; - fn = uri_path_handler ? con->uri.path : con->physical.rel_path; + fn = uri_path_handler ? con->uri.path : con->physical.path; if (fn->used == 0) { return HANDLER_ERROR; diff --git a/src/mod_staticfile.c b/src/mod_staticfile.c index 94d44c0e..cbc443d3 100644 --- a/src/mod_staticfile.c +++ b/src/mod_staticfile.c @@ -372,17 +372,11 @@ URIHANDLER_FUNC(mod_staticfile_subrequest) { /* ignore certain extensions */ for (k = 0; k < p->conf.exclude_ext->used; k++) { - int ct_len; - ds = (data_string *)p->conf.exclude_ext->data[k]; - - ct_len = ds->value->used - 1; - - if (ct_len > s_len) continue; if (ds->value->used == 0) continue; - - if (0 == strncmp(con->physical.rel_path->ptr + s_len - ct_len, ds->value->ptr, ct_len)) { + + if (buffer_is_equal_right_len(con->physical.path, ds->value, ds->value->used - 1)) { return HANDLER_GO_ON; } } |