packages/net/haproxy/patches/0016-BUG-MINOR-tools-make-str2sa_range-report-unresolvabl.patch
heil 1b9a79c04d haproxy: fixes from upstream
- [PATCH 14/16] BUG/MINOR: http: remove stupid HTTP_METH_NONE entry
 - [PATCH 15/16] BUG/MAJOR: http: don't call http_send_name_header()
 - [PATCH 16/16] BUG/MINOR: tools: make str2sa_range() report

Signed-off-by: heil <heil@terminal-consulting.de>
2015-09-09 20:49:16 +02:00

36 lines
1.1 KiB
Diff

From 36456071ea34546d98d3b66a696cd4c4c4643de5 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Tue, 8 Sep 2015 16:01:25 +0200
Subject: [PATCH 16/16] BUG/MINOR: tools: make str2sa_range() report
unresolvable addresses
If an environment variable is used in an address, and is not set, it's
silently considered as ":" or "0.0.0.0:0" which is not correct as it
can hide environment issues and lead to unexpected behaviours. Let's
report this case when it happens.
This fix should be backported to 1.5.
(cherry picked from commit 9f69f46d1f1b1d116c00b4b0483c519747f977b7)
---
src/standard.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/standard.c b/src/standard.c
index f57724c..9299882 100644
--- a/src/standard.c
+++ b/src/standard.c
@@ -709,6 +709,11 @@ struct sockaddr_storage *str2sa_range(const char *str, int *low, int *high, char
goto out;
}
+ if (!*str2) {
+ memprintf(err, "'%s' resolves to an empty address (environment variable missing?)\n", str);
+ goto out;
+ }
+
memset(&ss, 0, sizeof(ss));
if (strncmp(str2, "unix@", 5) == 0) {
--
2.4.6