BUG/MEDIUM: config: propagate frontend to backend process binding again.
authorWilly Tarreau <w@1wt.eu>
Tue, 16 Sep 2014 09:31:31 +0000 (11:31 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 16 Sep 2014 10:14:49 +0000 (12:14 +0200)
This basically reverts 3507d5d ("MEDIUM: proxy: only adjust the backend's
bind-process when already set"). It was needed during the transition to
the new process binding method but is causing trouble now because frontend
to backend binding is not properly propagated.

This fix should be backported to 1.5.

src/cfgparse.c

index 2519e84..a9d7662 100644 (file)
@@ -6260,9 +6260,8 @@ int check_config_validity()
                                /* we force the backend to be present on at least all of
                                 * the frontend's processes.
                                 */
-                               if (target->bind_proc)
-                                       target->bind_proc = curproxy->bind_proc ?
-                                               (target->bind_proc | curproxy->bind_proc) : 0;
+                               target->bind_proc = curproxy->bind_proc ?
+                                       (target->bind_proc | curproxy->bind_proc) : 0;
 
                                /* Emit a warning if this proxy also has some servers */
                                if (curproxy->srv) {
@@ -6298,9 +6297,8 @@ int check_config_validity()
                                        /* we force the backend to be present on at least all of
                                         * the frontend's processes.
                                         */
-                                       if (target->bind_proc)
-                                               target->bind_proc = curproxy->bind_proc ?
-                                                       (target->bind_proc | curproxy->bind_proc) : 0;
+                                       target->bind_proc = curproxy->bind_proc ?
+                                               (target->bind_proc | curproxy->bind_proc) : 0;
                                }
                        }
                }
@@ -6352,9 +6350,8 @@ int check_config_validity()
                                /* we force the backend to be present on at least all of
                                 * the frontend's processes.
                                 */
-                               if (target->bind_proc)
-                                       target->bind_proc = curproxy->bind_proc ?
-                                               (target->bind_proc | curproxy->bind_proc) : 0;
+                               target->bind_proc = curproxy->bind_proc ?
+                                       (target->bind_proc | curproxy->bind_proc) : 0;
                        }
                }