From da834b580366e17fc1a94f9fa9d1737448163717 Mon Sep 17 00:00:00 2001 From: Omar Polo <op@omarpolo.com> Date: Mon, 3 Jun 2024 16:14:09 +0000 Subject: fix `fastcgi off' handling When a matching location has a `fastcgi off' directive, we should honour that and stop searching for further location which may have a `fastcgi' directive. Bug reported by Alex // nytpu, thanks! --- server.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'server.c') diff --git a/server.c b/server.c index 8e39912..ed78ad6 100644 --- a/server.c +++ b/server.c @@ -249,7 +249,6 @@ struct location * vhost_fastcgi(struct vhost *v, const char *path) { struct location *loc; - int force_disable = 0; if (v == NULL || path == NULL) return NULL; @@ -260,12 +259,9 @@ vhost_fastcgi(struct vhost *v, const char *path) if (matches(loc->match, path)) return loc; if (loc->nofcgi && matches(loc->match, path)) - force_disable = 1; + return NULL; } - if (force_disable) - return NULL; - loc = TAILQ_FIRST(&v->locations); return loc->fcgi == -1 ? NULL : loc; } -- cgit v1.2.3