aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/ngx_conf_file.c19
-rw-r--r--src/core/ngx_conf_file.h10
2 files changed, 25 insertions, 4 deletions
diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
index 60d68a06c..7214e1f14 100644
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -805,9 +805,24 @@ char *ngx_conf_check_num_bounds(ngx_conf_t *cf, void *post, void *data)
ngx_conf_num_bounds_t *bounds = post;
int *np = data;
- if (*np >= bounds->low && (u_int) *np <= (u_int) bounds->high) {
+ if (bounds->high == -1) {
+ if (*np >= bounds->low) {
+ return NGX_CONF_OK;
+ }
+
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+ "value must be more than %d", bounds->low);
+
+ return NGX_CONF_ERROR;
+ }
+
+ if (*np >= bounds->low && *np <= bounds->high) {
return NGX_CONF_OK;
}
- return "invalid value";
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+ "value must be between %d and %d",
+ bounds->low, bounds->high);
+
+ return NGX_CONF_ERROR;
}
diff --git a/src/core/ngx_conf_file.h b/src/core/ngx_conf_file.h
index c1e2c010e..b2dce803d 100644
--- a/src/core/ngx_conf_file.h
+++ b/src/core/ngx_conf_file.h
@@ -195,9 +195,14 @@ char *ngx_conf_check_num_bounds(ngx_conf_t *cf, void *post, void *data);
conf = (prev == (ngx_msec_t) NGX_CONF_UNSET) ? default : prev; \
}
+#define ngx_conf_merge_sec_value(conf, prev, default) \
+ if (conf == NGX_CONF_UNSET) { \
+ conf = (prev == NGX_CONF_UNSET) ? default : prev; \
+ }
+
#define ngx_conf_merge_size_value(conf, prev, default) \
- if (conf == (ssize_t) NGX_CONF_UNSET) { \
- conf = (prev == (ssize_t) NGX_CONF_UNSET) ? default : prev; \
+ if (conf == (ssize_t) NGX_CONF_UNSET) { \
+ conf = (prev == (ssize_t) NGX_CONF_UNSET) ? default : prev; \
}
#define ngx_conf_merge_str_value(conf, prev, default) \
@@ -244,6 +249,7 @@ char *ngx_conf_set_str_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
char *ngx_conf_set_num_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
char *ngx_conf_set_size_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
char *ngx_conf_set_msec_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
+char *ngx_conf_set_sec_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
char *ngx_conf_set_time_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
char *ngx_conf_set_bufs_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
char *ngx_conf_set_bitmask_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);