From: Willy Tarreau Date: Wed, 16 Sep 2020 14:28:08 +0000 (+0200) Subject: MEDIUM: config: make str2listener() not accept datagram sockets anymore X-Git-Tag: v2.3-dev5~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5e1779abbf175c26343a3ffb67c634d802d959f0;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/cfgparse.c b/src/cfgparse.c index 5451359c43..23a3695614 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 7210c3c856..57793487e0 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'