[nginx] Cache: status must be less then 599 in *_cache_valid directives.

Maxim Dounin mdounin at mdounin.ru
Mon Sep 24 23:32:17 UTC 2018


details:   http://hg.nginx.org/nginx/rev/b5ea47df9bee
branches:  
changeset: 7359:b5ea47df9bee
user:      Gena Makhomed <gmm at csdoc.com>
date:      Mon Sep 24 20:26:46 2018 +0300
description:
Cache: status must be less then 599 in *_cache_valid directives.

Previously, configurations with typo, for example

    fastcgi_cache_valid 200301 302 5m;

successfully pass configuration test. Adding check for status
codes > 599, and such configurations are now properly rejected.

diffstat:

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

diffs (12 lines):

diff --git a/src/http/ngx_http_file_cache.c b/src/http/ngx_http_file_cache.c
--- a/src/http/ngx_http_file_cache.c
+++ b/src/http/ngx_http_file_cache.c
@@ -2669,7 +2669,7 @@ ngx_http_file_cache_valid_set_slot(ngx_c
         } else {
 
             status = ngx_atoi(value[i].data, value[i].len);
-            if (status < 100) {
+            if (status < 100 || status > 599) {
                 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
                                    "invalid status \"%V\"", &value[i]);
                 return NGX_CONF_ERROR;


More information about the nginx-devel mailing list