Problem reported by John Lauro. When "source ... usesrc ..." is
set in the defaults section, it is not possible anymore to remove
the "usesrc" part when declaring a more precise "source" in a
backend. The only workaround was to declare it by server.
We need to clear optional settings when declaring a new "source".
The problem was the same with the "interface" declaration.
file, linenum, "source", "usesrc", "interface");
return -1;
}
-
+
+ /* we must first clear any optional default setting */
+ curproxy->options &= ~PR_O_TPXY_MASK;
+ free(curproxy->iface_name);
+ curproxy->iface_name = NULL;
+ curproxy->iface_len = 0;
+
curproxy->source_addr = *str2sa(args[1]);
curproxy->options |= PR_O_BIND_SRC;