]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: spoe: Don't compare engine name and SPOE scope when both are NULL
authorChristopher Faulet <cfaulet@haproxy.com>
Tue, 19 Sep 2017 08:35:35 +0000 (10:35 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 31 Oct 2017 10:36:12 +0000 (11:36 +0100)
SPOE filter can be declared without engine name. This is an optional
parameter. But in this case, no scope must be used in the SPOE configuration
file. So engine name and scope are both undefined, and, obviously, we must not
try to compare them.

This patch must be backported in 1.7.

src/flt_spoe.c

index 228770c9a9950a1d45820e4667a6ad1736715135..abaded156c26c0d664f538f63f3552b7df7e5443 100644 (file)
@@ -2967,7 +2967,7 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
 
        if ((cfg_scope == NULL && curengine != NULL) ||
            (cfg_scope != NULL && curengine == NULL) ||
-           strcmp(curengine, cfg_scope))
+           (curengine != NULL && cfg_scope != NULL && strcmp(curengine, cfg_scope)))
                goto out;
 
        if (!strcmp(args[0], "spoe-agent")) { /* new spoe-agent section */
@@ -3274,7 +3274,7 @@ cfg_parse_spoe_message(const char *file, int linenum, char **args, int kwm)
 
        if ((cfg_scope == NULL && curengine != NULL) ||
            (cfg_scope != NULL && curengine == NULL) ||
-           strcmp(curengine, cfg_scope))
+           (curengine != NULL && cfg_scope != NULL && strcmp(curengine, cfg_scope)))
                goto out;
 
        if (!strcmp(args[0], "spoe-message")) { /* new spoe-message section */