Welcome! Log In Create A New Profile

Advanced

[nginx] Skipping spaces in configuration files (ticket #1557).

Maxim Dounin
August 09, 2018 05:28AM
details: http://hg.nginx.org/nginx/rev/f17e313009b0
branches:
changeset: 7334:f17e313009b0
user: Maxim Dounin <mdounin@mdounin.ru>
date: Thu Aug 09 12:15:42 2018 +0300
description:
Skipping spaces in configuration files (ticket #1557).

Previously, a chunk of spaces larger than NGX_CONF_BUFFER (4096 bytes)
resulted in the "too long parameter" error during parsing such a
configuration. This was because the code only set start and start_line
on non-whitespace characters, and hence adjacent whitespace characters
were preserved when reading additional data from the configuration file.
Fix is to always move start and start_line if the last character was
a space.

diffstat:

src/core/ngx_conf_file.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)

diffs (21 lines):

diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -656,13 +656,14 @@ ngx_conf_read_token(ngx_conf_t *cf)
}

if (last_space) {
+
+ start = b->pos - 1;
+ start_line = cf->conf_file->line;
+
if (ch == ' ' || ch == '\t' || ch == CR || ch == LF) {
continue;
}

- start = b->pos - 1;
- start_line = cf->conf_file->line;
-
switch (ch) {

case ';':
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] Skipping spaces in configuration files (ticket #1557).

Maxim Dounin 552 August 09, 2018 05:28AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 245
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready