]> git.kaiwu.me - haproxy.git/commitdiff
[BUG] config: cookie domain was ignored in defaults sections
authorWilly Tarreau <w@1wt.eu>
Thu, 3 Dec 2009 22:13:06 +0000 (23:13 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 3 Dec 2009 22:57:58 +0000 (23:57 +0100)
Since cookie can appear in a defaults section, the domain extension
must be supported there as well.

(cherry picked from commit baf78c8e03db8c2255aefb6e11b38b48d1ec5d34)

src/cfgparse.c

index 7a714ec895b4667884fcd5eaf2355dcae55189dd..dd552a8669bd26f4d6abd122c142f24ff6f8f154 100644 (file)
@@ -645,6 +645,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int inv)
                        if (defproxy.cookie_name)
                                curproxy->cookie_name = strdup(defproxy.cookie_name);
                        curproxy->cookie_len = defproxy.cookie_len;
+                       if (defproxy.cookie_domain)
+                               curproxy->cookie_domain = strdup(defproxy.cookie_domain);
 
                        if (defproxy.url_param_name)
                                curproxy->url_param_name = strdup(defproxy.url_param_name);
@@ -701,6 +703,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int inv)
                 */
                if (defproxy.check_req)     free(defproxy.check_req);
                if (defproxy.cookie_name)   free(defproxy.cookie_name);
+               if (defproxy.cookie_domain) free(defproxy.cookie_domain);
                if (defproxy.url_param_name) free(defproxy.url_param_name);
                if (defproxy.capture_name)  free(defproxy.capture_name);
                if (defproxy.monitor_uri)   free(defproxy.monitor_uri);
@@ -884,6 +887,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int inv)
                              file, linenum, args[0]);
                        return -1;
                }
+
+               free(curproxy->cookie_domain); curproxy->cookie_domain = NULL;
                curproxy->cookie_name = strdup(args[1]);
                curproxy->cookie_len = strlen(curproxy->cookie_name);