]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MAJOR: cookie prefix doesn't support cookie-less servers
authorWilly Tarreau <w@1wt.eu>
Wed, 6 Jun 2012 14:07:00 +0000 (16:07 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 6 Jun 2012 14:07:00 +0000 (16:07 +0200)
Commit 827aee91 merged in 1.5-dev5 introduced a regression causing
the srv pointer to be tested twice instead of srv then srv->cookie.
The result is that if a server has no cookie in prefix mode, haproxy
will crash when trying to modify it.

Such a config is very unlikely to happen, except maybe with a backup
server, which would cause haproxy to die with the last server in the
farm.

No backport is needed, only 1.5-dev was affected.

src/proto_http.c

index 8834532289bb62cde7226abea9d39270f6282295..054c6ac140cb311e41856663c239c32476b4d629 100644 (file)
@@ -6907,7 +6907,7 @@ void manage_server_side_cookies(struct session *t, struct buffer *res)
                                        txn->flags &= ~TX_SCK_MASK;
                                        txn->flags |= TX_SCK_REPLACED;
                                }
-                               else if (srv && srv && (t->be->ck_opts & PR_CK_PFX)) {
+                               else if (srv && srv->cookie && (t->be->ck_opts & PR_CK_PFX)) {
                                        /* insert the cookie name associated with this server
                                         * before existing cookie, and insert a delimiter between them..
                                         */