From 5e1779abbf175c26343a3ffb67c634d802d959f0 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 16 Sep 2020 16:28:08 +0200 Subject: [PATCH] MEDIUM: config: make str2listener() not accept datagram sockets anymore str2listener() was temporarily hacked to support datagram sockets for the log-forward listeners. This has has an undesirable side effect that "bind udp@1.2.3.4:5555" was silently accepted as TCP for a bind line. We don't need this hack anymore since the only user (log-forward) now relies on str2receiver(). Now such an address will properly be rejected. --- src/cfgparse.c | 2 +- tests/ports.cfg | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cfgparse.c b/src/cfgparse.c index 5451359c4..23a369561 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -129,7 +129,7 @@ int str2listener(char *str, struct proxy *curproxy, struct bind_conf *bind_conf, ss2 = str2sa_range(str, NULL, &port, &end, &fd, err, curproxy == global.stats_fe ? NULL : global.unix_bind.prefix, NULL, PA_O_RESOLVE | PA_O_PORT_OK | PA_O_PORT_MAND | PA_O_PORT_RANGE | - PA_O_SOCKET_FD | PA_O_DGRAM | PA_O_STREAM | PA_O_XPRT); + PA_O_SOCKET_FD | PA_O_STREAM | PA_O_XPRT); if (!ss2) goto fail; diff --git a/tests/ports.cfg b/tests/ports.cfg index 7210c3c85..57793487e 100644 --- a/tests/ports.cfg +++ b/tests/ports.cfg @@ -14,6 +14,7 @@ frontend f1 bind :::11003-11010 bind :::+11011 # port offset not permitted here in ':::+11011' bind :::-11012 # port offset not permitted here in ':::-11012' + bind udp@:11013 # dgram-type socket not acceptable in 'udp@:11013' frontend f2 bind :::0 # invalid port '0'