summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2022-10-10 13:57:31 +0400
committerRoman Arutyunyan <arut@nginx.com>2022-10-10 13:57:31 +0400
commit68119b43620c4da4ce0269a2f860a3df7c4dc0b5 (patch)
tree29c85be9481e5e196a8e2299a30f78ecec84c000
parent5071bc0bcf18c2eade9d452b27d92bee341dd053 (diff)
downloadnginx-68119b43620c4da4ce0269a2f860a3df7c4dc0b5.tar.gz
Log only the first line of user input on PROXY protocol v1 error.
Previously, all received user input was logged. If a multi-line text was received from client and logged, it could reduce log readability and also make it harder to parse nginx log by scripts. The change brings to PROXY protocol the same behavior that exists for HTTP request line in ngx_http_log_error_handler().
-rw-r--r--src/core/ngx_proxy_protocol.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/ngx_proxy_protocol.c b/src/core/ngx_proxy_protocol.c
index 7a9e7f9d1..1f59f1ff4 100644
--- a/src/core/ngx_proxy_protocol.c
+++ b/src/core/ngx_proxy_protocol.c
@@ -139,8 +139,14 @@ skip:
invalid:
+ for (p = buf; p < last; p++) {
+ if (*p == CR || *p == LF) {
+ break;
+ }
+ }
+
ngx_log_error(NGX_LOG_ERR, c->log, 0,
- "broken header: \"%*s\"", (size_t) (last - buf), buf);
+ "broken header: \"%*s\"", (size_t) (p - buf), buf);
return NULL;
}