]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 24 Nov 2017 15:50:31 +0000 (16:50 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 24 Nov 2017 16:19:12 +0000 (17:19 +0100)
32 files changed:
include/common/cfgparse.h
include/proto/log.h
src/51d.c
src/acl.c
src/auth.c
src/backend.c
src/cache.c
src/cfgparse.c
src/checks.c
src/cli.c
src/da.c
src/dns.c
src/filters.c
src/flt_http_comp.c
src/flt_spoe.c
src/haproxy.c
src/hlua.c
src/listener.c
src/log.c
src/namespace.c
src/peers.c
src/proto_http.c
src/proto_tcp.c
src/proto_uxst.c
src/proxy.c
src/regex.c
src/sample.c
src/server.c
src/ssl_sock.c
src/uri_auth.c
src/vars.c
src/wurfl.c

index 1ce7251e8be2413960949ee3284a55154dfb8abe..c3355ca44ed5e1dc66e3ee9205cfa1c67ce1c428 100644 (file)
@@ -106,8 +106,8 @@ static inline int warnifnotcap(struct proxy *proxy, int cap, const char *file, i
        }
 
        if (!(proxy->cap & cap)) {
-               Warning("parsing [%s:%d] : '%s' ignored because %s '%s' has %s capability.%s\n",
-                       file, line, arg, proxy_type_str(proxy), proxy->id, msg, hint ? hint : "");
+               ha_warning("parsing [%s:%d] : '%s' ignored because %s '%s' has %s capability.%s\n",
+                          file, line, arg, proxy_type_str(proxy), proxy->id, msg, hint ? hint : "");
                return 1;
        }
        return 0;
index ec00809113e159c51b107509663cccd8afc9f7f6..95c17018bc8f83c8ae53e616b91a55e5227891c1 100644 (file)
@@ -86,13 +86,13 @@ int parse_logformat_string(const char *str, struct proxy *curproxy, struct list
  * Displays the message on stderr with the date and pid. Overrides the quiet
  * mode during startup.
  */
-void Alert(const char *fmt, ...)
+void ha_alert(const char *fmt, ...)
        __attribute__ ((format(printf, 1, 2)));
 
 /*
  * Displays the message on stderr with the date and pid.
  */
-void Warning(const char *fmt, ...)
+void ha_warning(const char *fmt, ...)
        __attribute__ ((format(printf, 1, 2)));
 
 /*
index baeb2c277bd3bfe13b3d1e68e678cd00c146c2e3..a36333ef5039eb643376df683cc0e029e13997fe 100644 (file)
--- a/src/51d.c
+++ b/src/51d.c
@@ -548,7 +548,7 @@ static int init_51degrees(void)
                return 0;
 
        if (global.nbthread > 1) {
-               Alert("51Degrees: multithreading is not supported for now.\n");
+               ha_alert("51Degrees: multithreading is not supported for now.\n");
                return (ERR_FATAL | ERR_ALERT);
        }
 
@@ -616,9 +616,9 @@ static int init_51degrees(void)
        }
        if (_51d_dataset_status != DATA_SET_INIT_STATUS_SUCCESS) {
                if (temp->len)
-                       Alert("51Degrees Setup - Error reading 51Degrees data file. %s\n", temp->str);
+                       ha_alert("51Degrees Setup - Error reading 51Degrees data file. %s\n", temp->str);
                else
-                       Alert("51Degrees Setup - Error reading 51Degrees data file.\n");
+                       ha_alert("51Degrees Setup - Error reading 51Degrees data file.\n");
                return ERR_ALERT | ERR_FATAL;
        }
        free(_51d_property_list);
index bc1f2e2151b5be9967127845ad1ff4612ee5ced0..f19b2d2014d0df51f2aef111392d4da8fca0c9b2 100644 (file)
--- a/src/acl.c
+++ b/src/acl.c
@@ -422,13 +422,13 @@ struct acl_expr *parse_acl_expr(const char **args, char **err, struct arg_list *
 
        /* Additional check to protect against common mistakes */
        if (expr->pat.parse && cur_type != SMP_T_BOOL && !*args[1]) {
-               Warning("parsing acl keyword '%s' :\n"
-                       "  no pattern to match against were provided, so this ACL will never match.\n"
-                       "  If this is what you intended, please add '--' to get rid of this warning.\n"
-                       "  If you intended to match only for existence, please use '-m found'.\n"
-                       "  If you wanted to force an int to match as a bool, please use '-m bool'.\n"
-                       "\n",
-                       args[0]);
+               ha_warning("parsing acl keyword '%s' :\n"
+                          "  no pattern to match against were provided, so this ACL will never match.\n"
+                          "  If this is what you intended, please add '--' to get rid of this warning.\n"
+                          "  If you intended to match only for existence, please use '-m found'.\n"
+                          "  If you wanted to force an int to match as a bool, please use '-m bool'.\n"
+                          "\n",
+                          args[0]);
        }
 
        args++;
@@ -733,12 +733,12 @@ struct acl *parse_acl(const char **args, struct list *known_acl, char **err, str
         * emit a warning, so let's do so.
         */
        if (!strchr(args[1], '(') && *args[2] == '(')
-               Warning("parsing acl '%s' :\n"
-                       "  matching '%s' for pattern '%s' is likely a mistake and probably\n"
-                       "  not what you want. Maybe you need to remove the extraneous space before '('.\n"
-                       "  If you are really sure this is not an error, please insert '--' between the\n"
-                       "  match and the pattern to make this warning message disappear.\n",
-                       args[0], args[1], args[2]);
+               ha_warning("parsing acl '%s' :\n"
+                          "  matching '%s' for pattern '%s' is likely a mistake and probably\n"
+                          "  not what you want. Maybe you need to remove the extraneous space before '('.\n"
+                          "  If you are really sure this is not an error, please insert '--' between the\n"
+                          "  match and the pattern to make this warning message disappear.\n",
+                          args[0], args[1], args[2]);
 
        if (*args[0])
                cur_acl = find_acl_by_name(args[0], known_acl);
@@ -1271,15 +1271,15 @@ int acl_find_targets(struct proxy *p)
                                 * by smp_resolve_args().
                                 */
                                if (expr->smp->arg_p->unresolved) {
-                                       Alert("Internal bug in proxy %s: %sacl %s %s() makes use of unresolved userlist '%s'. Please report this.\n",
-                                             p->id, *acl->name ? "" : "anonymous ", acl->name, expr->kw, expr->smp->arg_p->data.str.str);
+                                       ha_alert("Internal bug in proxy %s: %sacl %s %s() makes use of unresolved userlist '%s'. Please report this.\n",
+                                                p->id, *acl->name ? "" : "anonymous ", acl->name, expr->kw, expr->smp->arg_p->data.str.str);
                                        cfgerr++;
                                        continue;
                                }
 
                                if (LIST_ISEMPTY(&expr->pat.head)) {
-                                       Alert("proxy %s: acl %s %s(): no groups specified.\n",
-                                               p->id, acl->name, expr->kw);
+                                       ha_alert("proxy %s: acl %s %s(): no groups specified.\n",
+                                                p->id, acl->name, expr->kw);
                                        cfgerr++;
                                        continue;
                                }
@@ -1287,8 +1287,8 @@ int acl_find_targets(struct proxy *p)
                                /* For each pattern, check if the group exists. */
                                list_for_each_entry(pexp, &expr->pat.head, list) {
                                        if (LIST_ISEMPTY(&pexp->expr->patterns)) {
-                                               Alert("proxy %s: acl %s %s(): no groups specified.\n",
-                                                       p->id, acl->name, expr->kw);
+                                               ha_alert("proxy %s: acl %s %s(): no groups specified.\n",
+                                                        p->id, acl->name, expr->kw);
                                                cfgerr++;
                                                continue;
                                        }
@@ -1296,8 +1296,8 @@ int acl_find_targets(struct proxy *p)
                                        list_for_each_entry(pattern, &pexp->expr->patterns, list) {
                                                /* this keyword only has one argument */
                                                if (!check_group(expr->smp->arg_p->data.usr, pattern->pat.ptr.str)) {
-                                                       Alert("proxy %s: acl %s %s(): invalid group '%s'.\n",
-                                                             p->id, acl->name, expr->kw, pattern->pat.ptr.str);
+                                                       ha_alert("proxy %s: acl %s %s(): invalid group '%s'.\n",
+                                                                p->id, acl->name, expr->kw, pattern->pat.ptr.str);
                                                        cfgerr++;
                                                }
                                        }
@@ -1328,8 +1328,8 @@ int init_acl()
 
                        smp = find_sample_fetch(name, strlen(name));
                        if (!smp) {
-                               Alert("Critical internal error: ACL keyword '%s' relies on sample fetch '%s' which was not registered!\n",
-                                     kwl->kw[index].kw, name);
+                               ha_alert("Critical internal error: ACL keyword '%s' relies on sample fetch '%s' which was not registered!\n",
+                                        kwl->kw[index].kw, name);
                                err++;
                                continue;
                        }
index b0418892e8fbf2a1adfb3290b9ed21873c88e7e3..a2c689f761878d93f208cd069adbc2b02ebd5d81 100644 (file)
@@ -133,8 +133,8 @@ int userlist_postinit()
                                }
 
                                if (!ag) {
-                                       Alert("userlist '%s': no such group '%s' specified in user '%s'\n",
-                                             curuserlist->name, group, curuser->user);
+                                       ha_alert("userlist '%s': no such group '%s' specified in user '%s'\n",
+                                                curuserlist->name, group, curuser->user);
                                        free(groups);
                                        return ERR_ALERT | ERR_FATAL;
                                }
@@ -142,8 +142,8 @@ int userlist_postinit()
                                /* Add this group at the group userlist. */
                                grl = calloc(1, sizeof(*grl));
                                if (!grl) {
-                                       Alert("userlist '%s': no more memory when trying to allocate the user groups.\n",
-                                             curuserlist->name);
+                                       ha_alert("userlist '%s': no more memory when trying to allocate the user groups.\n",
+                                                curuserlist->name);
                                        free(groups);
                                        return ERR_ALERT | ERR_FATAL;
                                }
@@ -170,16 +170,16 @@ int userlist_postinit()
                                }
 
                                if (!curuser) {
-                                       Alert("userlist '%s': no such user '%s' specified in group '%s'\n",
-                                             curuserlist->name, user, ag->name);
+                                       ha_alert("userlist '%s': no such user '%s' specified in group '%s'\n",
+                                                curuserlist->name, user, ag->name);
                                        return ERR_ALERT | ERR_FATAL;
                                }
 
                                /* Add this group at the group userlist. */
                                grl = calloc(1, sizeof(*grl));
                                if (!grl) {
-                                       Alert("userlist '%s': no more memory when trying to allocate the user groups.\n",
-                                             curuserlist->name);
+                                       ha_alert("userlist '%s': no more memory when trying to allocate the user groups.\n",
+                                                curuserlist->name);
                                        return  ERR_ALERT | ERR_FATAL;
                                }
 
index 4231c34705404db01b50a8cd7d254303199bbe9b..2b6167dc2d2b96d277f09601148b46385fae11e8 100644 (file)
@@ -1359,7 +1359,7 @@ void set_backend_down(struct proxy *be)
        HA_ATOMIC_ADD(&be->down_trans, 1);
 
        if (!(global.mode & MODE_STARTING)) {
-               Alert("%s '%s' has no server available!\n", proxy_type_str(be), be->id);
+               ha_alert("%s '%s' has no server available!\n", proxy_type_str(be), be->id);
                send_log(be, LOG_EMERG, "%s %s has no server available!\n", proxy_type_str(be), be->id);
        }
 }
index 7ae3267e583f609ee678dbfed33450cf5f8823ca..97861d761c20ab6c6710a8653d317e150c800e42 100644 (file)
@@ -609,15 +609,15 @@ enum act_parse_ret parse_cache_store(const char **args, int *orig_arg, struct pr
 
        rule->arg.act.p[0] = strdup(args[cur_arg]);
        if (!rule->arg.act.p[0]) {
-               Alert("config: %s '%s': out of memory\n", proxy_type_str(proxy), proxy->id);
+               ha_alert("config: %s '%s': out of memory\n", proxy_type_str(proxy), proxy->id);
                err++;
                goto err;
        }
        /* register a filter to fill the cache buffer */
        fconf = calloc(1, sizeof(*fconf));
        if (!fconf) {
-               Alert("config: %s '%s': out of memory\n",
-                     proxy_type_str(proxy), proxy->id);
+               ha_alert("config: %s '%s': out of memory\n",
+                        proxy_type_str(proxy), proxy->id);
                err++;
                goto err;
        }
@@ -718,7 +718,7 @@ enum act_parse_ret parse_cache_use(const char **args, int *orig_arg, struct prox
 
        rule->arg.act.p[0] = strdup(args[cur_arg]);
        if (!rule->arg.act.p[0]) {
-               Alert("config: %s '%s': out of memory\n", proxy_type_str(proxy), proxy->id);
+               ha_alert("config: %s '%s': out of memory\n", proxy_type_str(proxy), proxy->id);
                err++;
                goto err;
        }
@@ -738,8 +738,8 @@ int cfg_parse_cache(const char *file, int linenum, char **args, int kwm)
        if (strcmp(args[0], "cache") == 0) { /* new cache section */
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects an <id> argument\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an <id> argument\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -752,15 +752,15 @@ int cfg_parse_cache(const char *file, int linenum, char **args, int kwm)
                if (tmp_cache_config == NULL) {
                        tmp_cache_config = calloc(1, sizeof(*tmp_cache_config));
                        if (!tmp_cache_config) {
-                               Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
 
                        strlcpy2(tmp_cache_config->id, args[1], 33);
                        if (strlen(args[1]) > 32) {
-                               Warning("parsing [%s:%d]: cache id is limited to 32 characters, truncate to '%s'.\n",
-                                       file, linenum, tmp_cache_config->id);
+                               ha_warning("parsing [%s:%d]: cache id is limited to 32 characters, truncate to '%s'.\n",
+                                          file, linenum, tmp_cache_config->id);
                                err_code |= ERR_WARN;
                        }
 
@@ -779,7 +779,7 @@ int cfg_parse_cache(const char *file, int linenum, char **args, int kwm)
                tmp_cache_config->maxblocks = maxsize;
 
        } else if (*args[0] != 0) {
-               Alert("parsing [%s:%d] : unknown keyword '%s' in 'cache' section\n", file, linenum, args[0]);
+               ha_alert("parsing [%s:%d] : unknown keyword '%s' in 'cache' section\n", file, linenum, args[0]);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -799,7 +799,7 @@ int cfg_post_parse_section_cache()
                struct cache *cache;
 
                if (tmp_cache_config->maxblocks <= 0) {
-                       Alert("Size not specified for cache '%s'\n", tmp_cache_config->id);
+                       ha_alert("Size not specified for cache '%s'\n", tmp_cache_config->id);
                        err_code |= ERR_FATAL | ERR_ALERT;
                        goto out;
                }
@@ -808,9 +808,9 @@ int cfg_post_parse_section_cache()
 
                if (ret_shctx < 0) {
                        if (ret_shctx == SHCTX_E_INIT_LOCK)
-                               Alert("Unable to initialize the lock for the cache.\n");
+                               ha_alert("Unable to initialize the lock for the cache.\n");
                        else
-                               Alert("Unable to allocate cache.\n");
+                               ha_alert("Unable to allocate cache.\n");
 
                        err_code |= ERR_FATAL | ERR_ALERT;
                        goto out;
@@ -859,8 +859,8 @@ int cfg_cache_postparser()
                        }
 
                        if (cache_ptr == hresrule->arg.act.p[0]) {
-                               Alert("Proxy '%s': unable to find the cache '%s' referenced by http-response cache-store rule.\n",
-                                     curproxy->id, (char *)hresrule->arg.act.p[0]);
+                               ha_alert("Proxy '%s': unable to find the cache '%s' referenced by http-response cache-store rule.\n",
+                                        curproxy->id, (char *)hresrule->arg.act.p[0]);
                                err++;
                        }
 
@@ -884,8 +884,8 @@ int cfg_cache_postparser()
                        }
 
                        if (cache_ptr == hrqrule->arg.act.p[0]) {
-                               Alert("Proxy '%s': unable to find the cache '%s' referenced by http-request cache-use rule.\n",
-                                     curproxy->id, (char *)hrqrule->arg.act.p[0]);
+                               ha_alert("Proxy '%s': unable to find the cache '%s' referenced by http-request cache-use rule.\n",
+                                        curproxy->id, (char *)hrqrule->arg.act.p[0]);
                                err++;
                        }
 
@@ -910,8 +910,8 @@ int cfg_cache_postparser()
                        }
 
                        if (cache_ptr == fconf->conf) {
-                               Alert("Proxy '%s': unable to find the cache '%s' referenced by the filter 'cache'.\n",
-                                     curproxy->id, (char *)fconf->conf);
+                               ha_alert("Proxy '%s': unable to find the cache '%s' referenced by the filter 'cache'.\n",
+                                        curproxy->id, (char *)fconf->conf);
                                err++;
                        }
                        fconf->conf = cache_ptr;
index 1a75686cb276a25b14eb5437df7d828c47130ca7..685fbe9b050d2f2eb2abfa95a331d6726e3d85f0 100644 (file)
@@ -366,7 +366,7 @@ int alertif_too_many_args_idx(int maxarg, int index, const char *file, int linen
                memprintf(&kw, "%s %s", kw, args[i]);
        }
 
-       Alert("parsing [%s:%d] : '%s' cannot handle unexpected argument '%s'.\n", file, linenum, kw, args[index + maxarg + 1]);
+       ha_alert("parsing [%s:%d] : '%s' cannot handle unexpected argument '%s'.\n", file, linenum, kw, args[index + maxarg + 1]);
        free(kw);
        *err_code |= ERR_ALERT | ERR_FATAL;
        return 1;
@@ -386,8 +386,8 @@ int alertif_too_many_args(int maxarg, const char *file, int linenum, char **args
 int warnif_rule_after_tcp_sess(struct proxy *proxy, const char *file, int line, const char *arg)
 {
        if (!LIST_ISEMPTY(&proxy->tcp_req.l5_rules)) {
-               Warning("parsing [%s:%d] : a '%s' rule placed after a 'tcp-request session' rule will still be processed before.\n",
-                       file, line, arg);
+               ha_warning("parsing [%s:%d] : a '%s' rule placed after a 'tcp-request session' rule will still be processed before.\n",
+                          file, line, arg);
                return 1;
        }
        return 0;
@@ -399,8 +399,8 @@ int warnif_rule_after_tcp_sess(struct proxy *proxy, const char *file, int line,
 int warnif_rule_after_tcp_cont(struct proxy *proxy, const char *file, int line, const char *arg)
 {
        if (!LIST_ISEMPTY(&proxy->tcp_req.inspect_rules)) {
-               Warning("parsing [%s:%d] : a '%s' rule placed after a 'tcp-request content' rule will still be processed before.\n",
-                       file, line, arg);
+               ha_warning("parsing [%s:%d] : a '%s' rule placed after a 'tcp-request content' rule will still be processed before.\n",
+                          file, line, arg);
                return 1;
        }
        return 0;
@@ -412,8 +412,8 @@ int warnif_rule_after_tcp_cont(struct proxy *proxy, const char *file, int line,
 int warnif_rule_after_block(struct proxy *proxy, const char *file, int line, const char *arg)
 {
        if (!LIST_ISEMPTY(&proxy->block_rules)) {
-               Warning("parsing [%s:%d] : a '%s' rule placed after a 'block' rule will still be processed before.\n",
-                       file, line, arg);
+               ha_warning("parsing [%s:%d] : a '%s' rule placed after a 'block' rule will still be processed before.\n",
+                          file, line, arg);
                return 1;
        }
        return 0;
@@ -425,8 +425,8 @@ int warnif_rule_after_block(struct proxy *proxy, const char *file, int line, con
 int warnif_rule_after_http_req(struct proxy *proxy, const char *file, int line, const char *arg)
 {
        if (!LIST_ISEMPTY(&proxy->http_req_rules)) {
-               Warning("parsing [%s:%d] : a '%s' rule placed after an 'http-request' rule will still be processed before.\n",
-                       file, line, arg);
+               ha_warning("parsing [%s:%d] : a '%s' rule placed after an 'http-request' rule will still be processed before.\n",
+                          file, line, arg);
                return 1;
        }
        return 0;
@@ -438,8 +438,8 @@ int warnif_rule_after_http_req(struct proxy *proxy, const char *file, int line,
 int warnif_rule_after_reqxxx(struct proxy *proxy, const char *file, int line, const char *arg)
 {
        if (proxy->req_exp) {
-               Warning("parsing [%s:%d] : a '%s' rule placed after a 'reqxxx' rule will still be processed before.\n",
-                       file, line, arg);
+               ha_warning("parsing [%s:%d] : a '%s' rule placed after a 'reqxxx' rule will still be processed before.\n",
+                          file, line, arg);
                return 1;
        }
        return 0;
@@ -451,8 +451,8 @@ int warnif_rule_after_reqxxx(struct proxy *proxy, const char *file, int line, co
 int warnif_rule_after_reqadd(struct proxy *proxy, const char *file, int line, const char *arg)
 {
        if (!LIST_ISEMPTY(&proxy->req_add)) {
-               Warning("parsing [%s:%d] : a '%s' rule placed after a 'reqadd' rule will still be processed before.\n",
-                       file, line, arg);
+               ha_warning("parsing [%s:%d] : a '%s' rule placed after a 'reqadd' rule will still be processed before.\n",
+                          file, line, arg);
                return 1;
        }
        return 0;
@@ -464,8 +464,8 @@ int warnif_rule_after_reqadd(struct proxy *proxy, const char *file, int line, co
 int warnif_rule_after_redirect(struct proxy *proxy, const char *file, int line, const char *arg)
 {
        if (!LIST_ISEMPTY(&proxy->redirect_rules)) {
-               Warning("parsing [%s:%d] : a '%s' rule placed after a 'redirect' rule will still be processed before.\n",
-                       file, line, arg);
+               ha_warning("parsing [%s:%d] : a '%s' rule placed after a 'redirect' rule will still be processed before.\n",
+                          file, line, arg);
                return 1;
        }
        return 0;
@@ -477,8 +477,8 @@ int warnif_rule_after_redirect(struct proxy *proxy, const char *file, int line,
 int warnif_rule_after_use_backend(struct proxy *proxy, const char *file, int line, const char *arg)
 {
        if (!LIST_ISEMPTY(&proxy->switching_rules)) {
-               Warning("parsing [%s:%d] : a '%s' rule placed after a 'use_backend' rule will still be processed before.\n",
-                       file, line, arg);
+               ha_warning("parsing [%s:%d] : a '%s' rule placed after a 'use_backend' rule will still be processed before.\n",
+                          file, line, arg);
                return 1;
        }
        return 0;
@@ -490,8 +490,8 @@ int warnif_rule_after_use_backend(struct proxy *proxy, const char *file, int lin
 int warnif_rule_after_use_server(struct proxy *proxy, const char *file, int line, const char *arg)
 {
        if (!LIST_ISEMPTY(&proxy->server_rules)) {
-               Warning("parsing [%s:%d] : a '%s' rule placed after a 'use-server' rule will still be processed before.\n",
-                       file, line, arg);
+               ha_warning("parsing [%s:%d] : a '%s' rule placed after a 'use-server' rule will still be processed before.\n",
+                          file, line, arg);
                return 1;
        }
        return 0;
@@ -569,22 +569,22 @@ static int warnif_cond_conflicts(const struct acl_cond *cond, unsigned int where
        acl = acl_cond_conflicts(cond, where);
        if (acl) {
                if (acl->name && *acl->name)
-                       Warning("parsing [%s:%d] : acl '%s' will never match because it only involves keywords that are incompatible with '%s'\n",
-                               file, line, acl->name, sample_ckp_names(where));
+                       ha_warning("parsing [%s:%d] : acl '%s' will never match because it only involves keywords that are incompatible with '%s'\n",
+                                  file, line, acl->name, sample_ckp_names(where));
                else
-                       Warning("parsing [%s:%d] : anonymous acl will never match because it uses keyword '%s' which is incompatible with '%s'\n",
-                               file, line, LIST_ELEM(acl->expr.n, struct acl_expr *, list)->kw, sample_ckp_names(where));
+                       ha_warning("parsing [%s:%d] : anonymous acl will never match because it uses keyword '%s' which is incompatible with '%s'\n",
+                                  file, line, LIST_ELEM(acl->expr.n, struct acl_expr *, list)->kw, sample_ckp_names(where));
                return ERR_WARN;
        }
        if (!acl_cond_kw_conflicts(cond, where, &acl, &kw))
                return 0;
 
        if (acl->name && *acl->name)
-               Warning("parsing [%s:%d] : acl '%s' involves keywords '%s' which is incompatible with '%s'\n",
-                       file, line, acl->name, kw, sample_ckp_names(where));
+               ha_warning("parsing [%s:%d] : acl '%s' involves keywords '%s' which is incompatible with '%s'\n",
+                          file, line, acl->name, kw, sample_ckp_names(where));
        else
-               Warning("parsing [%s:%d] : anonymous acl involves keyword '%s' which is incompatible with '%s'\n",
-                       file, line, kw, sample_ckp_names(where));
+               ha_warning("parsing [%s:%d] : anonymous acl involves keyword '%s' which is incompatible with '%s'\n",
+                          file, line, kw, sample_ckp_names(where));
        return ERR_WARN;
 }
 
@@ -719,7 +719,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                        if (!strcmp(args[1], "exit-on-failure")) {
                                global.tune.options |= GTUNE_EXIT_ONFAILURE;
                        } else {
-                               Alert("parsing [%s:%d] : '%s' only supports 'exit-on-failure' option.\n", file, linenum, args[0]);
+                               ha_alert("parsing [%s:%d] : '%s' only supports 'exit-on-failure' option.\n", file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -770,12 +770,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.tune.maxpollevents != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -785,12 +785,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.tune.maxaccept != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -800,7 +800,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -810,7 +810,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -820,7 +820,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -836,7 +836,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -850,13 +850,13 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                global.tune.bufsize = atol(args[1]);
                if (global.tune.bufsize <= 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a positive integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a positive integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -865,13 +865,13 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                global.tune.maxrewrite = atol(args[1]);
                if (global.tune.maxrewrite < 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a positive integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a positive integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -883,21 +883,21 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a timer value between 0 and 65535 ms.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a timer value between 0 and 65535 ms.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                res = parse_time_err(args[1], &idle, TIME_UNIT_MS);
                if (res) {
-                       Alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s>.\n",
+                       ha_alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s>.\n",
                              file, linenum, *res, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (idle > 65535) {
-                       Alert("parsing [%s:%d] : '%s' expects a timer value between 0 and 65535 ms.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a timer value between 0 and 65535 ms.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -907,12 +907,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.tune.client_rcvbuf != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -922,12 +922,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.tune.server_rcvbuf != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -937,12 +937,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.tune.client_sndbuf != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -952,12 +952,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.tune.server_sndbuf != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -967,7 +967,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -977,7 +977,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -987,7 +987,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -997,14 +997,14 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                global.tune.max_http_hdr = atoi(args[1]);
                if (global.tune.max_http_hdr < 1 || global.tune.max_http_hdr > 32767) {
-                       Alert("parsing [%s:%d] : '%s' expects a numeric value between 1 and 32767\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a numeric value between 1 and 32767\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1015,14 +1015,14 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (*args[1]) {
                        global.tune.comp_maxlevel = atoi(args[1]);
                        if (global.tune.comp_maxlevel < 1 || global.tune.comp_maxlevel > 9) {
-                               Alert("parsing [%s:%d] : '%s' expects a numeric value between 1 and 9\n",
-                                     file, linenum, args[0]);
+                               ha_alert("parsing [%s:%d] : '%s' expects a numeric value between 1 and 9\n",
+                                        file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                } else {
-                       Alert("parsing [%s:%d] : '%s' expects a numeric value between 1 and 9\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a numeric value between 1 and 9\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1031,14 +1031,14 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (*args[1]) {
                        global.tune.pattern_cache = atoi(args[1]);
                        if (global.tune.pattern_cache < 0) {
-                               Alert("parsing [%s:%d] : '%s' expects a positive numeric value\n",
-                                     file, linenum, args[0]);
+                               ha_alert("parsing [%s:%d] : '%s' expects a positive numeric value\n",
+                                        file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                } else {
-                       Alert("parsing [%s:%d] : '%s' expects a positive numeric value\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a positive numeric value\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1047,17 +1047,17 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.uid != 0) {
-                       Alert("parsing [%s:%d] : user/uid already specified. Continuing.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : user/uid already specified. Continuing.\n", file, linenum);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                if (strl2irc(args[1], strlen(args[1]), &global.uid) != 0) {
-                       Warning("parsing [%s:%d] :  uid: string '%s' is not a number.\n   | You might want to use the 'user' parameter to use a system user name.\n", file, linenum, args[1]);
+                       ha_warning("parsing [%s:%d] :  uid: string '%s' is not a number.\n   | You might want to use the 'user' parameter to use a system user name.\n", file, linenum, args[1]);
                        err_code |= ERR_WARN;
                        goto out;
                }
@@ -1067,17 +1067,17 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.gid != 0) {
-                       Alert("parsing [%s:%d] : group/gid already specified. Continuing.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : group/gid already specified. Continuing.\n", file, linenum);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                if (strl2irc(args[1], strlen(args[1]), &global.gid) != 0) {
-                       Warning("parsing [%s:%d] :  gid: string '%s' is not a number.\n   | You might want to use the 'group' parameter to use a system group name.\n", file, linenum, args[1]);
+                       ha_warning("parsing [%s:%d] :  gid: string '%s' is not a number.\n   | You might want to use the 'group' parameter to use a system group name.\n", file, linenum, args[1]);
                        err_code |= ERR_WARN;
                        goto out;
                }
@@ -1093,7 +1093,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.uid != 0) {
-                       Alert("parsing [%s:%d] : user/uid already specified. Continuing.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : user/uid already specified. Continuing.\n", file, linenum);
                        err_code |= ERR_ALERT;
                        goto out;
                }
@@ -1103,7 +1103,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                        global.uid = (int)ha_user->pw_uid;
                }
                else {
-                       Alert("parsing [%s:%d] : cannot find user id for '%s' (%d:%s)\n", file, linenum, args[1], errno, strerror(errno));
+                       ha_alert("parsing [%s:%d] : cannot find user id for '%s' (%d:%s)\n", file, linenum, args[1], errno, strerror(errno));
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
        }
@@ -1112,7 +1112,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.gid != 0) {
-                       Alert("parsing [%s:%d] : gid/group was already specified. Continuing.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : gid/group was already specified. Continuing.\n", file, linenum);
                        err_code |= ERR_ALERT;
                        goto out;
                }
@@ -1122,7 +1122,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                        global.gid = (int)ha_group->gr_gid;
                }
                else {
-                       Alert("parsing [%s:%d] : cannot find group id for '%s' (%d:%s)\n", file, linenum, args[1], errno, strerror(errno));
+                       ha_alert("parsing [%s:%d] : cannot find group id for '%s' (%d:%s)\n", file, linenum, args[1], errno, strerror(errno));
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
        }
@@ -1131,14 +1131,14 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                global.nbproc = atol(args[1]);
                if (global.nbproc < 1 || global.nbproc > LONGBITS) {
-                       Alert("parsing [%s:%d] : '%s' must be between 1 and %d (was %d).\n",
-                             file, linenum, args[0], LONGBITS, global.nbproc);
+                       ha_alert("parsing [%s:%d] : '%s' must be between 1 and %d (was %d).\n",
+                                file, linenum, args[0], LONGBITS, global.nbproc);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1147,20 +1147,20 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                global.nbthread = atol(args[1]);
                if (global.nbthread < 1 || global.nbthread > LONGBITS) {
-                       Alert("parsing [%s:%d] : '%s' must be between 1 and %d (was %d).\n",
-                             file, linenum, args[0], LONGBITS, global.nbthread);
+                       ha_alert("parsing [%s:%d] : '%s' must be between 1 and %d (was %d).\n",
+                                file, linenum, args[0], LONGBITS, global.nbthread);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 #ifndef USE_THREAD
                if (global.nbthread > 1) {
-                       Alert("HAProxy is not compiled with threads support, please check build options for USE_THREAD.\n");
+                       ha_alert("HAProxy is not compiled with threads support, please check build options for USE_THREAD.\n");
                        global.nbthread = 1;
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
@@ -1171,19 +1171,19 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.maxconn != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                global.maxconn = atol(args[1]);
 #ifdef SYSTEM_MAXCONN
                if (global.maxconn > DEFAULT_MAXCONN && cfg_maxconn <= DEFAULT_MAXCONN) {
-                       Alert("parsing [%s:%d] : maxconn value %d too high for this system.\nLimiting to %d. Please use '-n' to force the value.\n", file, linenum, global.maxconn, DEFAULT_MAXCONN);
+                       ha_alert("parsing [%s:%d] : maxconn value %d too high for this system.\nLimiting to %d. Please use '-n' to force the value.\n", file, linenum, global.maxconn, DEFAULT_MAXCONN);
                        global.maxconn = DEFAULT_MAXCONN;
                        err_code |= ERR_ALERT;
                }
@@ -1193,7 +1193,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1202,7 +1202,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                else if (strcmp(args[1],"required") == 0)
                        global.ssl_server_verify = SSL_SERVER_VERIFY_REQUIRED;
                else {
-                       Alert("parsing [%s:%d] : '%s' expects 'none' or 'required' as argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects 'none' or 'required' as argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1211,12 +1211,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.cps_lim != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1226,12 +1226,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.sps_lim != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1241,12 +1241,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.ssl_lim != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1256,7 +1256,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument in kb/s.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument in kb/s.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1266,12 +1266,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.maxpipes != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1281,7 +1281,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1291,13 +1291,13 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument between 0 and 100.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument between 0 and 100.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                compress_min_idle = 100 - atoi(args[1]);
                if (compress_min_idle > 100) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument between 0 and 100.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument between 0 and 100.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1307,12 +1307,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.rlimit_nofile != 0) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1322,12 +1322,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.chroot != NULL) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a directory as an argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a directory as an argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1338,8 +1338,8 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                char *d;
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d]: '%s' expects a string argument.\n",
-                               file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects a string argument.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1371,9 +1371,9 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                }
 
                if (!i || args[1][i]) {
-                       Alert("parsing [%s:%d]: '%s' requires valid node name - non-empty string"
-                               " with digits(0-9), letters(A-Z, a-z), dot(.), hyphen(-) or underscode(_).\n",
-                               file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' requires valid node name - non-empty string"
+                                " with digits(0-9), letters(A-Z, a-z), dot(.), hyphen(-) or underscode(_).\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1387,12 +1387,12 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.pidfile != NULL) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a file name as an argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a file name as an argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1403,14 +1403,14 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                while (*(args[cur_arg])) {
                        if (!strcmp(args[cur_arg], "prefix")) {
                                if (global.unix_bind.prefix != NULL) {
-                                       Alert("parsing [%s:%d] : unix-bind '%s' already specified. Continuing.\n", file, linenum, args[cur_arg]);
+                                       ha_alert("parsing [%s:%d] : unix-bind '%s' already specified. Continuing.\n", file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT;
                                        cur_arg += 2;
                                        continue;
                                }
 
                                if (*(args[cur_arg+1]) == 0) {
-                                       Alert("parsing [%s:%d] : unix_bind '%s' expects a path as an argument.\n", file, linenum, args[cur_arg]);
+                                       ha_alert("parsing [%s:%d] : unix_bind '%s' expects a path as an argument.\n", file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -1445,8 +1445,8 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
 
                                user = getpwnam(args[cur_arg + 1]);
                                if (!user) {
-                                       Alert("parsing [%s:%d] : '%s' : '%s' unknown user.\n",
-                                               file, linenum, args[0], args[cur_arg + 1 ]);
+                                       ha_alert("parsing [%s:%d] : '%s' : '%s' unknown user.\n",
+                                                file, linenum, args[0], args[cur_arg + 1 ]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -1461,8 +1461,8 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
 
                                group = getgrnam(args[cur_arg + 1]);
                                if (!group) {
-                                       Alert("parsing [%s:%d] : '%s' : '%s' unknown group.\n",
-                                               file, linenum, args[0], args[cur_arg + 1 ]);
+                                       ha_alert("parsing [%s:%d] : '%s' : '%s' unknown group.\n",
+                                                file, linenum, args[0], args[cur_arg + 1 ]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -1472,8 +1472,8 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                                continue;
                        }
 
-                       Alert("parsing [%s:%d] : '%s' only supports the 'prefix', 'mode', 'uid', 'gid', 'user' and 'group' options.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' only supports the 'prefix', 'mode', 'uid', 'gid', 'user' and 'group' options.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                 }
@@ -1484,7 +1484,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                struct logsrv *tmp;
 
                if (*(args[1]) != 0) {
-                       Alert("parsing [%s:%d]:%s : 'no log' does not expect arguments.\n", file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d]:%s : 'no log' does not expect arguments.\n", file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1505,7 +1505,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                        goto out;
 
                if (*(args[1]) == 0 || *(args[2]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects <address> and <facility> as arguments.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <address> and <facility> as arguments.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1516,8 +1516,8 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (strcmp(args[arg+2], "len") == 0) {
                        len = atoi(args[arg+3]);
                        if (len < 80 || len > 65535) {
-                               Alert("parsing [%s:%d] : invalid log length '%s', must be between 80 and 65535.\n",
-                                     file, linenum, args[arg+3]);
+                               ha_alert("parsing [%s:%d] : invalid log length '%s', must be between 80 and 65535.\n",
+                                        file, linenum, args[arg+3]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -1536,7 +1536,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (strcmp(args[arg+2], "format") == 0) {
                        logsrv->format = get_log_format(args[arg+3]);
                        if (logsrv->format < 0) {
-                               Alert("parsing [%s:%d] : unknown log format '%s'\n", file, linenum, args[arg+3]);
+                               ha_alert("parsing [%s:%d] : unknown log format '%s'\n", file, linenum, args[arg+3]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                free(logsrv);
                                goto out;
@@ -1553,7 +1553,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
 
                logsrv->facility = get_log_facility(args[arg+2]);
                if (logsrv->facility < 0) {
-                       Alert("parsing [%s:%d] : unknown log facility '%s'\n", file, linenum, args[arg+2]);
+                       ha_alert("parsing [%s:%d] : unknown log facility '%s'\n", file, linenum, args[arg+2]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        logsrv->facility = 0;
                }
@@ -1562,7 +1562,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (*(args[arg+3])) {
                        logsrv->level = get_log_level(args[arg+3]);
                        if (logsrv->level < 0) {
-                               Alert("parsing [%s:%d] : unknown optional log level '%s'\n", file, linenum, args[arg+3]);
+                               ha_alert("parsing [%s:%d] : unknown optional log level '%s'\n", file, linenum, args[arg+3]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                logsrv->level = 0;
                        }
@@ -1572,7 +1572,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (*(args[arg+4])) {
                        logsrv->minlvl = get_log_level(args[arg+4]);
                        if (logsrv->minlvl < 0) {
-                               Alert("parsing [%s:%d] : unknown optional minimum log level '%s'\n", file, linenum, args[arg+4]);
+                               ha_alert("parsing [%s:%d] : unknown optional minimum log level '%s'\n", file, linenum, args[arg+4]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                logsrv->minlvl = 0;
                        }
@@ -1580,7 +1580,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
 
                sk = str2sa_range(args[1], NULL, &port1, &port2, &errmsg, NULL, NULL, 1);
                if (!sk) {
-                       Alert("parsing [%s:%d] : '%s': %s\n", file, linenum, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : '%s': %s\n", file, linenum, args[0], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        free(logsrv);
                        goto out;
@@ -1589,8 +1589,8 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
 
                if (sk->ss_family == AF_INET || sk->ss_family == AF_INET6) {
                        if (port1 != port2) {
-                               Alert("parsing [%s:%d] : '%s' : port ranges and offsets are not allowed in '%s'\n",
-                                     file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s' : port ranges and offsets are not allowed in '%s'\n",
+                                        file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                free(logsrv);
                                goto out;
@@ -1607,7 +1607,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                char *name;
 
                if (global.log_send_hostname != NULL) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
@@ -1622,13 +1622,13 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
        }
        else if (!strcmp(args[0], "server-state-base")) { /* path base where HAProxy can find server state files */
                if (global.server_state_base != NULL) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
 
                if (!*(args[1])) {
-                       Alert("parsing [%s:%d] : '%s' expects one argument: a directory path.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects one argument: a directory path.\n", file, linenum, args[0]);
                        err_code |= ERR_FATAL;
                        goto out;
                }
@@ -1637,13 +1637,13 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
        }
        else if (!strcmp(args[0], "server-state-file")) { /* path to the file where HAProxy can load the server states */
                if (global.server_state_file != NULL) {
-                       Alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' already specified. Continuing.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT;
                        goto out;
                }
 
                if (!*(args[1])) {
-                       Alert("parsing [%s:%d] : '%s' expect one argument: a file path.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expect one argument: a file path.\n", file, linenum, args[0]);
                        err_code |= ERR_FATAL;
                        goto out;
                }
@@ -1654,7 +1654,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a tag for use in syslog.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a tag for use in syslog.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1665,18 +1665,18 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (global.spread_checks != 0) {
-                       Alert("parsing [%s:%d]: spread-checks already specified. Continuing.\n", file, linenum);
+                       ha_alert("parsing [%s:%d]: spread-checks already specified. Continuing.\n", file, linenum);
                        err_code |= ERR_ALERT;
                        goto out;
                }
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d]: '%s' expects an integer argument (0..50).\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects an integer argument (0..50).\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                global.spread_checks = atol(args[1]);
                if (global.spread_checks < 0 || global.spread_checks > 50) {
-                       Alert("parsing [%s:%d]: 'spread-checks' needs a positive value in range 0..50.\n", file, linenum);
+                       ha_alert("parsing [%s:%d]: 'spread-checks' needs a positive value in range 0..50.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
        }
@@ -1687,19 +1687,19 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (alertif_too_many_args(1, file, linenum, args, &err_code))
                        goto out;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d]: '%s' expects an integer argument (0..50).\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects an integer argument (0..50).\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                err = parse_time_err(args[1], &val, TIME_UNIT_MS);
                if (err) {
-                       Alert("parsing [%s:%d]: unsupported character '%c' in '%s' (wants an integer delay).\n", file, linenum, *err, args[0]);
+                       ha_alert("parsing [%s:%d]: unsupported character '%c' in '%s' (wants an integer delay).\n", file, linenum, *err, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
                global.max_spread_checks = val;
                if (global.max_spread_checks < 0) {
-                       Alert("parsing [%s:%d]: '%s' needs a positive delay in milliseconds.\n",file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' needs a positive delay in milliseconds.\n",file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
        }
@@ -1711,10 +1711,10 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                int i, j, n, autoinc;
 
                if (!*args[1] || !*args[2]) {
-                       Alert("parsing [%s:%d] : %s expects a process number "
-                             " ('all', 'odd', 'even', a number from 1 to %d or a range), "
-                             " followed by a list of CPU ranges with numbers from 0 to %d.\n",
-                             file, linenum, args[0], LONGBITS, LONGBITS - 1);
+                       ha_alert("parsing [%s:%d] : %s expects a process number "
+                                " ('all', 'odd', 'even', a number from 1 to %d or a range), "
+                                " followed by a list of CPU ranges with numbers from 0 to %d.\n",
+                                file, linenum, args[0], LONGBITS, LONGBITS - 1);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1723,30 +1723,30 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                        *slash = 0;
 
                if (parse_process_number(args[1], &proc, &autoinc, &errmsg)) {
-                       Alert("parsing [%s:%d] : %s : %s\n", file, linenum, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : %s : %s\n", file, linenum, args[0], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (slash) {
                        if (parse_process_number(slash+1, &thread, NULL, &errmsg)) {
-                               Alert("parsing [%s:%d] : %s : %s\n", file, linenum, args[0], errmsg);
+                               ha_alert("parsing [%s:%d] : %s : %s\n", file, linenum, args[0], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                        *slash = '/';
 
                        if (autoinc && my_popcountl(proc) != 1 && my_popcountl(thread) != 1) {
-                               Alert("parsing [%s:%d] : %s : '%s' : unable to automatically bind "
-                                     "a process range _AND_ a thread range\n",
-                                     file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : %s : '%s' : unable to automatically bind "
+                                        "a process range _AND_ a thread range\n",
+                                        file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                }
 
                if (parse_cpu_set((const char **)args+2, &cpus, &errmsg)) {
-                       Alert("parsing [%s:%d] : %s : %s\n", file, linenum, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : %s : %s\n", file, linenum, args[0], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1754,9 +1754,9 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                if (autoinc &&
                    my_popcountl(proc)  != my_popcountl(cpus) &&
                    my_popcountl(thread) != my_popcountl(cpus)) {
-                       Alert("parsing [%s:%d] : %s : PROC/THREAD range and CPU sets "
-                             "must have the same size to be automatically bound\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : %s : PROC/THREAD range and CPU sets "
+                                "must have the same size to be automatically bound\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1792,8 +1792,8 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                        }
                }
 #else
-               Alert("parsing [%s:%d] : '%s' is not enabled, please check build options for USE_CPU_AFFINITY.\n",
-                     file, linenum, args[0]);
+               ha_alert("parsing [%s:%d] : '%s' is not enabled, please check build options for USE_CPU_AFFINITY.\n",
+                        file, linenum, args[0]);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
 #endif /* ! USE_CPU_AFFINITY */
@@ -1803,14 +1803,14 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                        goto out;
 
                if (*(args[2]) == 0) {
-                       Alert("parsing [%s:%d]: '%s' expects a name and a value.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects a name and a value.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                /* "setenv" overwrites, "presetenv" only sets if not yet set */
                if (setenv(args[1], args[2], (args[0][0] == 's')) != 0) {
-                       Alert("parsing [%s:%d]: '%s' failed on variable '%s' : %s.\n", file, linenum, args[0], args[1], strerror(errno));
+                       ha_alert("parsing [%s:%d]: '%s' failed on variable '%s' : %s.\n", file, linenum, args[0], args[1], strerror(errno));
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1819,14 +1819,14 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                int arg;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d]: '%s' expects at least one variable name.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects at least one variable name.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                for (arg = 1; *args[arg]; arg++) {
                        if (unsetenv(args[arg]) != 0) {
-                               Alert("parsing [%s:%d]: '%s' failed on variable '%s' : %s.\n", file, linenum, args[0], args[arg], strerror(errno));
+                               ha_alert("parsing [%s:%d]: '%s' failed on variable '%s' : %s.\n", file, linenum, args[0], args[arg], strerror(errno));
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -1852,7 +1852,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                                char *delim = strchr(*env, '=');
 
                                if (!delim || delim - *env >= trash.size) {
-                                       Alert("parsing [%s:%d]: '%s' failed to unset invalid variable '%s'.\n", file, linenum, args[0], *env);
+                                       ha_alert("parsing [%s:%d]: '%s' failed to unset invalid variable '%s'.\n", file, linenum, args[0], *env);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -1861,7 +1861,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                                trash.str[delim - *env] = 0;
 
                                if (unsetenv(trash.str) != 0) {
-                                       Alert("parsing [%s:%d]: '%s' failed to unset variable '%s' : %s.\n", file, linenum, args[0], *env, strerror(errno));
+                                       ha_alert("parsing [%s:%d]: '%s' failed to unset variable '%s' : %s.\n", file, linenum, args[0], *env, strerror(errno));
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -1882,11 +1882,11 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                                if (strcmp(kwl->kw[index].kw, args[0]) == 0) {
                                        rc = kwl->kw[index].parse(args, CFG_GLOBAL, NULL, NULL, file, linenum, &errmsg);
                                        if (rc < 0) {
-                                               Alert("parsing [%s:%d] : %s\n", file, linenum, errmsg);
+                                               ha_alert("parsing [%s:%d] : %s\n", file, linenum, errmsg);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                        }
                                        else if (rc > 0) {
-                                               Warning("parsing [%s:%d] : %s\n", file, linenum, errmsg);
+                                               ha_warning("parsing [%s:%d] : %s\n", file, linenum, errmsg);
                                                err_code |= ERR_WARN;
                                                goto out;
                                        }
@@ -1895,7 +1895,7 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
                        }
                }
                
-               Alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], "global");
+               ha_alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], "global");
                err_code |= ERR_ALERT | ERR_FATAL;
        }
 
@@ -1958,13 +1958,13 @@ static int create_cond_regex_rule(const char *file, int line,
        int cap;
 
        if (px == &defproxy) {
-               Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, line, cmd);
+               ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, line, cmd);
                ret_code |= ERR_ALERT | ERR_FATAL;
                goto err;
        }
 
        if (*reg == 0) {
-               Alert("parsing [%s:%d] : '%s' expects <regex> as an argument.\n", file, line, cmd);
+               ha_alert("parsing [%s:%d] : '%s' expects <regex> as an argument.\n", file, line, cmd);
                ret_code |= ERR_ALERT | ERR_FATAL;
                goto err;
        }
@@ -1975,15 +1975,15 @@ static int create_cond_regex_rule(const char *file, int line,
        if (cond_start &&
            (strcmp(*cond_start, "if") == 0 || strcmp(*cond_start, "unless") == 0)) {
                if ((cond = build_acl_cond(file, line, &px->acl, px, cond_start, &errmsg)) == NULL) {
-                       Alert("parsing [%s:%d] : error detected while parsing a '%s' condition : %s.\n",
-                             file, line, cmd, errmsg);
+                       ha_alert("parsing [%s:%d] : error detected while parsing a '%s' condition : %s.\n",
+                                file, line, cmd, errmsg);
                        ret_code |= ERR_ALERT | ERR_FATAL;
                        goto err;
                }
        }
        else if (cond_start && **cond_start) {
-               Alert("parsing [%s:%d] : '%s' : Expecting nothing, 'if', or 'unless', got '%s'.\n",
-                     file, line, cmd, *cond_start);
+               ha_alert("parsing [%s:%d] : '%s' : Expecting nothing, 'if', or 'unless', got '%s'.\n",
+                        file, line, cmd, *cond_start);
                ret_code |= ERR_ALERT | ERR_FATAL;
                goto err;
        }
@@ -1996,7 +1996,7 @@ static int create_cond_regex_rule(const char *file, int line,
 
        preg = calloc(1, sizeof(*preg));
        if (!preg) {
-               Alert("parsing [%s:%d] : '%s' : not enough memory to build regex.\n", file, line, cmd);
+               ha_alert("parsing [%s:%d] : '%s' : not enough memory to build regex.\n", file, line, cmd);
                ret_code = ERR_ALERT | ERR_FATAL;
                goto err;
        }
@@ -2005,7 +2005,7 @@ static int create_cond_regex_rule(const char *file, int line,
        cap = !(flags & REG_NOSUB);
        error = NULL;
        if (!regex_comp(reg, preg, cs, cap, &error)) {
-               Alert("parsing [%s:%d] : '%s' : regular expression '%s' : %s\n", file, line, cmd, reg, error);
+               ha_alert("parsing [%s:%d] : '%s' : regular expression '%s' : %s\n", file, line, cmd, reg, error);
                free(error);
                ret_code = ERR_ALERT | ERR_FATAL;
                goto err;
@@ -2014,8 +2014,8 @@ static int create_cond_regex_rule(const char *file, int line,
        err = chain_regex((dir == SMP_OPT_DIR_REQ) ? &px->req_exp : &px->rsp_exp,
                          preg, action, repl ? strdup(repl) : NULL, cond);
        if (repl && err) {
-               Alert("parsing [%s:%d] : '%s' : invalid character or unterminated sequence in replacement string near '%c'.\n",
-                     file, line, cmd, *err);
+               ha_alert("parsing [%s:%d] : '%s' : invalid character or unterminated sequence in replacement string near '%c'.\n",
+                        file, line, cmd, *err);
                ret_code |= ERR_ALERT | ERR_FATAL;
                goto err_free;
        }
@@ -2055,7 +2055,7 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
 
        if (strcmp(args[0], "peers") == 0) { /* new peers section */
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : missing name for peers section.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : missing name for peers section.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2065,8 +2065,8 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
-                             file, linenum, *err, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
+                                file, linenum, *err, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2077,14 +2077,14 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
                         * combinations are allowed:
                         */
                        if (strcmp(curpeers->id, args[1]) == 0) {
-                               Alert("Parsing [%s:%d]: peers section '%s' has the same name as another peers section declared at %s:%d.\n",
-                                       file, linenum, args[1], curpeers->conf.file, curpeers->conf.line);
+                               ha_alert("Parsing [%s:%d]: peers section '%s' has the same name as another peers section declared at %s:%d.\n",
+                                        file, linenum, args[1], curpeers->conf.file, curpeers->conf.line);
                                err_code |= ERR_ALERT | ERR_FATAL;
                        }
                }
 
                if ((curpeers = calloc(1, sizeof(*curpeers))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2103,22 +2103,22 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
                struct protocol *proto;
 
                if (!*args[2]) {
-                       Alert("parsing [%s:%d] : '%s' expects <name> and <addr>[:<port>] as arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <name> and <addr>[:<port>] as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in server name '%s'.\n",
-                             file, linenum, *err, args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in server name '%s'.\n",
+                                file, linenum, *err, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if ((newpeer = calloc(1, sizeof(*newpeer))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2135,29 +2135,29 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
 
                sk = str2sa_range(args[2], NULL, &port1, &port2, &errmsg, NULL, NULL, 1);
                if (!sk) {
-                       Alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg);
+                       ha_alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                proto = protocol_by_family(sk->ss_family);
                if (!proto || !proto->connect) {
-                       Alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
-                             file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (port1 != port2) {
-                       Alert("parsing [%s:%d] : '%s %s' : port ranges and offsets are not allowed in '%s'\n",
-                             file, linenum, args[0], args[1], args[2]);
+                       ha_alert("parsing [%s:%d] : '%s %s' : port ranges and offsets are not allowed in '%s'\n",
+                                file, linenum, args[0], args[1], args[2]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (!port1) {
-                       Alert("parsing [%s:%d] : '%s %s' : missing or invalid port in '%s'\n",
-                             file, linenum, args[0], args[1], args[2]);
+                       ha_alert("parsing [%s:%d] : '%s %s' : missing or invalid port in '%s'\n",
+                                file, linenum, args[0], args[1], args[2]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -2175,7 +2175,7 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
 
                        if (!curpeers->peers_fe) {
                                if ((curpeers->peers_fe  = calloc(1, sizeof(struct proxy))) == NULL) {
-                                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                        err_code |= ERR_ALERT | ERR_ABORT;
                                        goto out;
                                }
@@ -2192,11 +2192,11 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
                                if (!str2listener(args[2], curpeers->peers_fe, bind_conf, file, linenum, &errmsg)) {
                                        if (errmsg && *errmsg) {
                                                indent_msg(&errmsg, 2);
-                                               Alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg);
+                                               ha_alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg);
                                        }
                                        else
-                                               Alert("parsing [%s:%d] : '%s %s' : error encountered while parsing listening address %s.\n",
-                                                     file, linenum, args[0], args[1], args[2]);
+                                               ha_alert("parsing [%s:%d] : '%s %s' : error encountered while parsing listening address %s.\n",
+                                                        file, linenum, args[0], args[1], args[2]);
                                        err_code |= ERR_FATAL;
                                        goto out;
                                }
@@ -2213,9 +2213,9 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
                                }
                        }
                        else {
-                               Alert("parsing [%s:%d] : '%s %s' : local peer name already referenced at %s:%d.\n",
-                                     file, linenum, args[0], args[1],
-                                     curpeers->peers_fe->conf.file, curpeers->peers_fe->conf.line);
+                               ha_alert("parsing [%s:%d] : '%s %s' : local peer name already referenced at %s:%d.\n",
+                                        file, linenum, args[0], args[1],
+                                        curpeers->peers_fe->conf.file, curpeers->peers_fe->conf.line);
                                err_code |= ERR_FATAL;
                                goto out;
                        }
@@ -2228,7 +2228,7 @@ int cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
                curpeers->state = PR_STNEW;
        }
        else if (*args[0] != 0) {
-               Alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], cursection);
+               ha_alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], cursection);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -2258,15 +2258,15 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
 
        if (strcmp(args[0], "resolvers") == 0) { /* new resolvers section */
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : missing name for resolvers section.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : missing name for resolvers section.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
-                               file, linenum, *err, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
+                                file, linenum, *err, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2274,14 +2274,14 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
                list_for_each_entry(curr_resolvers, &dns_resolvers, list) {
                        /* Error if two resolvers owns the same name */
                        if (strcmp(curr_resolvers->id, args[1]) == 0) {
-                               Alert("Parsing [%s:%d]: resolvers '%s' has same name as another resolvers (declared at %s:%d).\n",
-                                       file, linenum, args[1], curr_resolvers->conf.file, curr_resolvers->conf.line);
+                               ha_alert("Parsing [%s:%d]: resolvers '%s' has same name as another resolvers (declared at %s:%d).\n",
+                                        file, linenum, args[1], curr_resolvers->conf.file, curr_resolvers->conf.line);
                                err_code |= ERR_ALERT | ERR_ABORT;
                        }
                }
 
                if ((curr_resolvers = calloc(1, sizeof(*curr_resolvers))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2317,16 +2317,16 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
                struct protocol *proto;
 
                if (!*args[2]) {
-                       Alert("parsing [%s:%d] : '%s' expects <name> and <addr>[:<port>] as arguments.\n",
-                               file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <name> and <addr>[:<port>] as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in server name '%s'.\n",
-                               file, linenum, *err, args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in server name '%s'.\n",
+                                file, linenum, *err, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -2334,14 +2334,14 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
                list_for_each_entry(newnameserver, &curr_resolvers->nameservers, list) {
                        /* Error if two resolvers owns the same name */
                        if (strcmp(newnameserver->id, args[1]) == 0) {
-                               Alert("Parsing [%s:%d]: nameserver '%s' has same name as another nameserver (declared at %s:%d).\n",
-                                       file, linenum, args[1], curr_resolvers->conf.file, curr_resolvers->conf.line);
+                               ha_alert("Parsing [%s:%d]: nameserver '%s' has same name as another nameserver (declared at %s:%d).\n",
+                                        file, linenum, args[1], curr_resolvers->conf.file, curr_resolvers->conf.line);
                                err_code |= ERR_ALERT | ERR_FATAL;
                        }
                }
 
                if ((newnameserver = calloc(1, sizeof(*newnameserver))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2355,29 +2355,29 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
 
                sk = str2sa_range(args[2], NULL, &port1, &port2, &errmsg, NULL, NULL, 1);
                if (!sk) {
-                       Alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg);
+                       ha_alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                proto = protocol_by_family(sk->ss_family);
                if (!proto || !proto->connect) {
-                       Alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
+                       ha_alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (port1 != port2) {
-                       Alert("parsing [%s:%d] : '%s %s' : port ranges and offsets are not allowed in '%s'\n",
-                               file, linenum, args[0], args[1], args[2]);
+                       ha_alert("parsing [%s:%d] : '%s %s' : port ranges and offsets are not allowed in '%s'\n",
+                                file, linenum, args[0], args[1], args[2]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (!port1 && !port2) {
-                       Alert("parsing [%s:%d] : '%s %s' : no UDP port specified\n",
-                               file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s %s' : no UDP port specified\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -2389,16 +2389,16 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
                unsigned int time;
 
                if (!*args[2]) {
-                       Alert("parsing [%s:%d] : '%s' expects an <event> and a <time> as arguments.\n",
-                               file, linenum, args[0]);
-                       Alert("<event> can be either 'valid', 'nx', 'refused', 'timeout', or 'other'\n");
+                       ha_alert("parsing [%s:%d] : '%s' expects an <event> and a <time> as arguments.\n",
+                                file, linenum, args[0]);
+                       ha_alert("<event> can be either 'valid', 'nx', 'refused', 'timeout', or 'other'\n");
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                res = parse_time_err(args[2], &time, TIME_UNIT_MS);
                if (res) {
-                       Alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s>.\n",
-                               file, linenum, *res, args[0]);
+                       ha_alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s>.\n",
+                                file, linenum, *res, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -2415,8 +2415,8 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
                else if (strcmp(args[1], "obsolete") == 0)
                        curr_resolvers->hold.obsolete = time;
                else {
-                       Alert("parsing [%s:%d] : '%s' unknown <event>: '%s', expects either 'nx', 'timeout', 'valid', 'obsolete' or 'other'.\n",
-                               file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s' unknown <event>: '%s', expects either 'nx', 'timeout', 'valid', 'obsolete' or 'other'.\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -2426,16 +2426,16 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
                int i = 0;
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects <nb> as argument.\n",
-                               file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <nb> as argument.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                i = atoi(args[1]);
                if (i < DNS_HEADER_SIZE || i > DNS_MAX_UDP_MESSAGE) {
-                       Alert("parsing [%s:%d] : '%s' must be between %d and %d inclusive (was %s).\n",
-                             file, linenum, args[0], DNS_HEADER_SIZE, DNS_MAX_UDP_MESSAGE, args[1]);
+                       ha_alert("parsing [%s:%d] : '%s' must be between %d and %d inclusive (was %s).\n",
+                                file, linenum, args[0], DNS_HEADER_SIZE, DNS_MAX_UDP_MESSAGE, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -2443,15 +2443,15 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
                curr_resolvers->accepted_payload_size = i;
        }
        else if (strcmp(args[0], "resolution_pool_size") == 0) {
-               Warning("parsing [%s:%d] : '%s' directive is now deprecated and ignored.\n",
-                       file, linenum, args[0]);
+               ha_warning("parsing [%s:%d] : '%s' directive is now deprecated and ignored.\n",
+                          file, linenum, args[0]);
                err_code |= ERR_WARN;
                goto out;
        }
        else if (strcmp(args[0], "resolve_retries") == 0) {
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects <nb> as argument.\n",
-                               file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <nb> as argument.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -2459,8 +2459,8 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
        }
        else if (strcmp(args[0], "timeout") == 0) {
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects 'retry' or 'resolve' and <time> as arguments.\n",
-                               file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects 'retry' or 'resolve' and <time> as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -2470,15 +2470,15 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
                        unsigned int tout;
 
                        if (!*args[2]) {
-                               Alert("parsing [%s:%d] : '%s %s' expects <time> as argument.\n",
-                                       file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' expects <time> as argument.\n",
+                                        file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                        res = parse_time_err(args[2], &tout, TIME_UNIT_MS);
                        if (res) {
-                               Alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s %s>.\n",
-                                       file, linenum, *res, args[0], args[1]);
+                               ha_alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s %s>.\n",
+                                        file, linenum, *res, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -2488,14 +2488,14 @@ int cfg_parse_resolvers(const char *file, int linenum, char **args, int kwm)
                                curr_resolvers->timeout.resolve = tout;
                }
                else {
-                       Alert("parsing [%s:%d] : '%s' expects 'retry' or 'resolve' and <time> as arguments got '%s'.\n",
-                               file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s' expects 'retry' or 'resolve' and <time> as arguments got '%s'.\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        } /* neither "nameserver" nor "resolvers" */
        else if (*args[0] != 0) {
-               Alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], cursection);
+               ha_alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], cursection);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -2525,15 +2525,15 @@ int cfg_parse_mailers(const char *file, int linenum, char **args, int kwm)
 
        if (strcmp(args[0], "mailers") == 0) { /* new mailers section */
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : missing name for mailers section.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : missing name for mailers section.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
-                             file, linenum, *err, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
+                                file, linenum, *err, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2544,14 +2544,14 @@ int cfg_parse_mailers(const char *file, int linenum, char **args, int kwm)
                         * combinations are allowed:
                         */
                        if (strcmp(curmailers->id, args[1]) == 0) {
-                               Alert("Parsing [%s:%d]: mailers section '%s' has the same name as another mailers section declared at %s:%d.\n",
-                                       file, linenum, args[1], curmailers->conf.file, curmailers->conf.line);
+                               ha_alert("Parsing [%s:%d]: mailers section '%s' has the same name as another mailers section declared at %s:%d.\n",
+                                        file, linenum, args[1], curmailers->conf.file, curmailers->conf.line);
                                err_code |= ERR_ALERT | ERR_FATAL;
                        }
                }
 
                if ((curmailers = calloc(1, sizeof(*curmailers))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2571,22 +2571,22 @@ int cfg_parse_mailers(const char *file, int linenum, char **args, int kwm)
                struct protocol *proto;
 
                if (!*args[2]) {
-                       Alert("parsing [%s:%d] : '%s' expects <name> and <addr>[:<port>] as arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <name> and <addr>[:<port>] as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in server name '%s'.\n",
-                             file, linenum, *err, args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in server name '%s'.\n",
+                                file, linenum, *err, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if ((newmailer = calloc(1, sizeof(*newmailer))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2603,29 +2603,29 @@ int cfg_parse_mailers(const char *file, int linenum, char **args, int kwm)
 
                sk = str2sa_range(args[2], NULL, &port1, &port2, &errmsg, NULL, NULL, 1);
                if (!sk) {
-                       Alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg);
+                       ha_alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                proto = protocol_by_family(sk->ss_family);
                if (!proto || !proto->connect || proto->sock_prot != IPPROTO_TCP) {
-                       Alert("parsing [%s:%d] : '%s %s' : TCP not supported for this address family.\n",
-                             file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s %s' : TCP not supported for this address family.\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (port1 != port2) {
-                       Alert("parsing [%s:%d] : '%s %s' : port ranges and offsets are not allowed in '%s'\n",
-                             file, linenum, args[0], args[1], args[2]);
+                       ha_alert("parsing [%s:%d] : '%s %s' : port ranges and offsets are not allowed in '%s'\n",
+                                file, linenum, args[0], args[1], args[2]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (!port1) {
-                       Alert("parsing [%s:%d] : '%s %s' : missing or invalid port in '%s'\n",
-                             file, linenum, args[0], args[1], args[2]);
+                       ha_alert("parsing [%s:%d] : '%s %s' : missing or invalid port in '%s'\n",
+                                file, linenum, args[0], args[1], args[2]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -2637,8 +2637,8 @@ int cfg_parse_mailers(const char *file, int linenum, char **args, int kwm)
        }
        else if (strcmp(args[0], "timeout") == 0) {
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects 'mail' and <time> as arguments.\n",
-                               file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects 'mail' and <time> as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -2646,33 +2646,33 @@ int cfg_parse_mailers(const char *file, int linenum, char **args, int kwm)
                        const char *res;
                        unsigned int timeout_mail;
                        if (!*args[2]) {
-                               Alert("parsing [%s:%d] : '%s %s' expects <time> as argument.\n",
-                                       file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' expects <time> as argument.\n",
+                                        file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                        res = parse_time_err(args[2], &timeout_mail, TIME_UNIT_MS);
                        if (res) {
-                               Alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s>.\n",
-                                       file, linenum, *res, args[0]);
+                               ha_alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s>.\n",
+                                        file, linenum, *res, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                        if (timeout_mail <= 0) {
-                               Alert("parsing [%s:%d] : '%s %s' expects a positive <time> argument.\n", file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' expects a positive <time> argument.\n", file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                        curmailers->timeout.mail = timeout_mail;
                } else {
-                       Alert("parsing [%s:%d] : '%s' expects 'mail' and <time> as arguments got '%s'.\n",
+                       ha_alert("parsing [%s:%d] : '%s' expects 'mail' and <time> as arguments got '%s'.\n",
                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        }
        else if (*args[0] != 0) {
-               Alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], cursection);
+               ha_alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], cursection);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -2718,30 +2718,30 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
 
        if (rc != PR_CAP_NONE) {  /* new proxy */
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects an <id> argument and\n"
-                             "  optionally supports [addr1]:port1[-end1]{,[addr]:port[-end]}...\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an <id> argument and\n"
+                                "  optionally supports [addr1]:port1[-end1]{,[addr]:port[-end]}...\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
-                             file, linenum, *err, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
+                                file, linenum, *err, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
 
                curproxy = (rc & PR_CAP_FE) ? proxy_fe_by_name(args[1]) : proxy_be_by_name(args[1]);
                if (curproxy) {
-                       Alert("Parsing [%s:%d]: %s '%s' has the same name as %s '%s' declared at %s:%d.\n",
-                             file, linenum, proxy_cap_str(rc), args[1], proxy_type_str(curproxy),
-                             curproxy->id, curproxy->conf.file, curproxy->conf.line);
+                       ha_alert("Parsing [%s:%d]: %s '%s' has the same name as %s '%s' declared at %s:%d.\n",
+                                file, linenum, proxy_cap_str(rc), args[1], proxy_type_str(curproxy),
+                                curproxy->id, curproxy->conf.file, curproxy->conf.line);
                                err_code |= ERR_ALERT | ERR_FATAL;
                }
 
                if ((curproxy = calloc(1, sizeof(*curproxy))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -2758,7 +2758,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
 
                if (alertif_too_many_args(1, file, linenum, args, &err_code)) {
                        if (curproxy->cap & PR_CAP_FE)
-                               Alert("parsing [%s:%d] : please use the 'bind' keyword for listening addresses.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : please use the 'bind' keyword for listening addresses.\n", file, linenum);
                        goto out;
                }
 
@@ -3043,7 +3043,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                goto out;
        }
        else if (curproxy == NULL) {
-               Alert("parsing [%s:%d] : 'listen' or 'defaults' expected.\n", file, linenum);
+               ha_alert("parsing [%s:%d] : 'listen' or 'defaults' expected.\n", file, linenum);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -3065,7 +3065,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                int cur_arg;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3073,8 +3073,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        err_code |= ERR_WARN;
 
                if (!*(args[1])) {
-                       Alert("parsing [%s:%d] : '%s' expects {<path>|[addr1]:port1[-end1]}{,[addr]:port[-end]}... as arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects {<path>|[addr1]:port1[-end1]}{,[addr]:port[-end]}... as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3093,11 +3093,11 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                if (!str2listener(args[1], curproxy, bind_conf, file, linenum, &errmsg)) {
                        if (errmsg && *errmsg) {
                                indent_msg(&errmsg, 2);
-                               Alert("parsing [%s:%d] : '%s' : %s\n", file, linenum, args[0], errmsg);
+                               ha_alert("parsing [%s:%d] : '%s' : %s\n", file, linenum, args[0], errmsg);
                        }
                        else
-                               Alert("parsing [%s:%d] : '%s' : error encountered while parsing listening address '%s'.\n",
-                                     file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s' : error encountered while parsing listening address '%s'.\n",
+                                        file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3119,8 +3119,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                int code;
 
                                if (!kw->parse) {
-                                       Alert("parsing [%s:%d] : '%s %s' : '%s' option is not implemented in this version (check build options).\n",
-                                             file, linenum, args[0], args[1], args[cur_arg]);
+                                       ha_alert("parsing [%s:%d] : '%s %s' : '%s' option is not implemented in this version (check build options).\n",
+                                                file, linenum, args[0], args[1], args[cur_arg]);
                                        cur_arg += 1 + kw->skip ;
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -3132,11 +3132,11 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                if (code) {
                                        if (err && *err) {
                                                indent_msg(&err, 2);
-                                               Alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], err);
+                                               ha_alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], err);
                                        }
                                        else
-                                               Alert("parsing [%s:%d] : '%s %s' : error encountered while processing '%s'.\n",
-                                                     file, linenum, args[0], args[1], args[cur_arg]);
+                                               ha_alert("parsing [%s:%d] : '%s %s' : error encountered while processing '%s'.\n",
+                                                        file, linenum, args[0], args[1], args[cur_arg]);
                                        if (code & ERR_FATAL) {
                                                free(err);
                                                cur_arg += 1 + kw->skip;
@@ -3155,9 +3155,9 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                bind_dumped = 1;
                        }
 
-                       Alert("parsing [%s:%d] : '%s %s' unknown keyword '%s'.%s%s\n",
-                             file, linenum, args[0], args[1], args[cur_arg],
-                             err ? " Registered keywords :" : "", err ? err : "");
+                       ha_alert("parsing [%s:%d] : '%s %s' unknown keyword '%s'.%s%s\n",
+                                file, linenum, args[0], args[1], args[cur_arg],
+                                err ? " Registered keywords :" : "", err ? err : "");
                        free(err);
 
                        err_code |= ERR_ALERT | ERR_FATAL;
@@ -3167,8 +3167,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
        }
        else if (!strcmp(args[0], "monitor-net")) {  /* set the range of IPs to ignore */
                if (!*args[1] || !str2net(args[1], 1, &curproxy->mon_net, &curproxy->mon_mask)) {
-                       Alert("parsing [%s:%d] : '%s' expects address[/mask].\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects address[/mask].\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3187,8 +3187,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        goto out;
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects an URI.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an URI.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3209,7 +3209,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                else if (!strcmp(args[1], "tcp")) curproxy->mode = PR_MODE_TCP;
                else if (!strcmp(args[1], "health")) curproxy->mode = PR_MODE_HEALTH;
                else {
-                       Alert("parsing [%s:%d] : unknown proxy mode '%s'.\n", file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d] : unknown proxy mode '%s'.\n", file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3218,7 +3218,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                struct eb32_node *node;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n",
+                       ha_alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n",
                                 file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
@@ -3228,8 +3228,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        goto out;
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d]: '%s' expects an integer argument.\n",
-                               file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects an integer argument.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3239,8 +3239,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                curproxy->options |= PR_O_FORCED_ID;
 
                if (curproxy->uuid <= 0) {
-                       Alert("parsing [%s:%d]: custom id has to be > 0.\n",
-                               file, linenum);
+                       ha_alert("parsing [%s:%d]: custom id has to be > 0.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3248,9 +3248,9 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                node = eb32_lookup(&used_proxy_id, curproxy->uuid);
                if (node) {
                        struct proxy *target = container_of(node, struct proxy, conf.id);
-                       Alert("parsing [%s:%d]: %s %s reuses same custom id as %s %s (declared at %s:%d).\n",
-                             file, linenum, proxy_type_str(curproxy), curproxy->id,
-                             proxy_type_str(target), target->id, target->conf.file, target->conf.line);
+                       ha_alert("parsing [%s:%d]: %s %s reuses same custom id as %s %s (declared at %s:%d).\n",
+                                file, linenum, proxy_type_str(curproxy), curproxy->id,
+                                proxy_type_str(target), target->id, target->conf.file, target->conf.line);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3261,15 +3261,15 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                char *d;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n",
+                       ha_alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n",
                                 file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d]: '%s' expects a string argument.\n",
-                               file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects a string argument.\n",
+                                file, linenum, args[0]);
                        return -1;
                }
 
@@ -3304,7 +3304,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                break;
                        }
                        if (parse_process_number(args[cur_arg], &set, NULL, &errmsg)) {
-                               Alert("parsing [%s:%d] : %s : %s\n", file, linenum, args[0], errmsg);
+                               ha_alert("parsing [%s:%d] : %s : %s\n", file, linenum, args[0], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3314,22 +3314,22 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
        }
        else if (!strcmp(args[0], "acl")) {  /* add an ACL */
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in acl name '%s'.\n",
-                             file, linenum, *err, args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in acl name '%s'.\n",
+                                file, linenum, *err, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (parse_acl((const char **)args + 1, &curproxy->acl, &errmsg, &curproxy->conf.args, file, linenum) == NULL) {
-                       Alert("parsing [%s:%d] : error detected while parsing ACL '%s' : %s.\n",
-                             file, linenum, args[1], errmsg);
+                       ha_alert("parsing [%s:%d] : error detected while parsing ACL '%s' : %s.\n",
+                                file, linenum, args[1], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3340,8 +3340,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        err_code |= ERR_WARN;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects <secret_key> as argument.\n",
-                                       file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <secret_key> as argument.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3355,8 +3355,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        err_code |= ERR_WARN;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects <cookie_name> as argument.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <cookie_name> as argument.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3399,25 +3399,25 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        }
                        else if (!strcmp(args[cur_arg], "domain")) {
                                if (!*args[cur_arg + 1]) {
-                                       Alert("parsing [%s:%d]: '%s' expects <domain> as argument.\n",
-                                               file, linenum, args[cur_arg]);
+                                       ha_alert("parsing [%s:%d]: '%s' expects <domain> as argument.\n",
+                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
 
                                if (*args[cur_arg + 1] != '.' || !strchr(args[cur_arg + 1] + 1, '.')) {
                                        /* rfc2109, 4.3.2 Rejecting Cookies */
-                                       Warning("parsing [%s:%d]: domain '%s' contains no embedded"
-                                               " dots nor does not start with a dot."
-                                               " RFC forbids it, this configuration may not work properly.\n",
-                                               file, linenum, args[cur_arg + 1]);
+                                       ha_warning("parsing [%s:%d]: domain '%s' contains no embedded"
+                                                  " dots nor does not start with a dot."
+                                                  " RFC forbids it, this configuration may not work properly.\n",
+                                                  file, linenum, args[cur_arg + 1]);
                                        err_code |= ERR_WARN;
                                }
 
                                err = invalid_domainchar(args[cur_arg + 1]);
                                if (err) {
-                                       Alert("parsing [%s:%d]: character '%c' is not permitted in domain name '%s'.\n",
-                                               file, linenum, *err, args[cur_arg + 1]);
+                                       ha_alert("parsing [%s:%d]: character '%c' is not permitted in domain name '%s'.\n",
+                                                file, linenum, *err, args[cur_arg + 1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -3444,16 +3444,16 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                const char *res;
 
                                if (!*args[cur_arg + 1]) {
-                                       Alert("parsing [%s:%d]: '%s' expects <idletime> in seconds as argument.\n",
-                                               file, linenum, args[cur_arg]);
+                                       ha_alert("parsing [%s:%d]: '%s' expects <idletime> in seconds as argument.\n",
+                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
 
                                res = parse_time_err(args[cur_arg + 1], &maxidle, TIME_UNIT_S);
                                if (res) {
-                                       Alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s>.\n",
-                                             file, linenum, *res, args[cur_arg]);
+                                       ha_alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s>.\n",
+                                                file, linenum, *res, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -3465,16 +3465,16 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                const char *res;
 
                                if (!*args[cur_arg + 1]) {
-                                       Alert("parsing [%s:%d]: '%s' expects <lifetime> in seconds as argument.\n",
-                                               file, linenum, args[cur_arg]);
+                                       ha_alert("parsing [%s:%d]: '%s' expects <lifetime> in seconds as argument.\n",
+                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
 
                                res = parse_time_err(args[cur_arg + 1], &maxlife, TIME_UNIT_S);
                                if (res) {
-                                       Alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s>.\n",
-                                             file, linenum, *res, args[cur_arg]);
+                                       ha_alert("parsing [%s:%d]: unexpected character '%c' in argument to <%s>.\n",
+                                                file, linenum, *res, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -3489,43 +3489,43 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        }
 
                        else {
-                               Alert("parsing [%s:%d] : '%s' supports 'rewrite', 'insert', 'prefix', 'indirect', 'nocache', 'postonly', 'domain', 'maxidle', 'dynamic' and 'maxlife' options.\n",
-                                     file, linenum, args[0]);
+                               ha_alert("parsing [%s:%d] : '%s' supports 'rewrite', 'insert', 'prefix', 'indirect', 'nocache', 'postonly', 'domain', 'maxidle', 'dynamic' and 'maxlife' options.\n",
+                                        file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                        cur_arg++;
                }
                if (!POWEROF2(curproxy->ck_opts & (PR_CK_RW|PR_CK_IND))) {
-                       Alert("parsing [%s:%d] : cookie 'rewrite' and 'indirect' modes are incompatible.\n",
-                             file, linenum);
+                       ha_alert("parsing [%s:%d] : cookie 'rewrite' and 'indirect' modes are incompatible.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
 
                if (!POWEROF2(curproxy->ck_opts & (PR_CK_RW|PR_CK_INS|PR_CK_PFX))) {
-                       Alert("parsing [%s:%d] : cookie 'rewrite', 'insert' and 'prefix' modes are incompatible.\n",
-                             file, linenum);
+                       ha_alert("parsing [%s:%d] : cookie 'rewrite', 'insert' and 'prefix' modes are incompatible.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
 
                if ((curproxy->ck_opts & (PR_CK_PSV | PR_CK_INS | PR_CK_IND)) == PR_CK_PSV) {
-                       Alert("parsing [%s:%d] : cookie 'preserve' requires at least 'insert' or 'indirect'.\n",
-                             file, linenum);
+                       ha_alert("parsing [%s:%d] : cookie 'preserve' requires at least 'insert' or 'indirect'.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
        }/* end else if (!strcmp(args[0], "cookie"))  */
        else if (!strcmp(args[0], "email-alert")) {
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : missing argument after '%s'.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : missing argument after '%s'.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                 }
 
                if (!strcmp(args[1], "from")) {
                        if (*(args[1]) == 0) {
-                               Alert("parsing [%s:%d] : missing argument after '%s'.\n",
-                                     file, linenum, args[1]);
+                               ha_alert("parsing [%s:%d] : missing argument after '%s'.\n",
+                                        file, linenum, args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3534,8 +3534,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                }
                else if (!strcmp(args[1], "mailers")) {
                        if (*(args[1]) == 0) {
-                               Alert("parsing [%s:%d] : missing argument after '%s'.\n",
-                                     file, linenum, args[1]);
+                               ha_alert("parsing [%s:%d] : missing argument after '%s'.\n",
+                                        file, linenum, args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3544,8 +3544,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                }
                else if (!strcmp(args[1], "myhostname")) {
                        if (*(args[1]) == 0) {
-                               Alert("parsing [%s:%d] : missing argument after '%s'.\n",
-                                     file, linenum, args[1]);
+                               ha_alert("parsing [%s:%d] : missing argument after '%s'.\n",
+                                        file, linenum, args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3555,16 +3555,16 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                else if (!strcmp(args[1], "level")) {
                        curproxy->email_alert.level = get_log_level(args[2]);
                        if (curproxy->email_alert.level < 0) {
-                               Alert("parsing [%s:%d] : unknown log level '%s' after '%s'\n",
-                                     file, linenum, args[1], args[2]);
+                               ha_alert("parsing [%s:%d] : unknown log level '%s' after '%s'\n",
+                                        file, linenum, args[1], args[2]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                }
                else if (!strcmp(args[1], "to")) {
                        if (*(args[1]) == 0) {
-                               Alert("parsing [%s:%d] : missing argument after '%s'.\n",
-                                     file, linenum, args[1]);
+                               ha_alert("parsing [%s:%d] : missing argument after '%s'.\n",
+                                        file, linenum, args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3572,8 +3572,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        curproxy->email_alert.to = strdup(args[2]);
                }
                else {
-                       Alert("parsing [%s:%d] : email-alert: unknown argument '%s'.\n",
-                             file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d] : email-alert: unknown argument '%s'.\n",
+                                file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3582,8 +3582,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
        }/* end else if (!strcmp(args[0], "email-alert"))  */
        else if (!strcmp(args[0], "external-check")) {
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : missing argument after '%s'.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : missing argument after '%s'.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                 }
@@ -3592,8 +3592,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        if (alertif_too_many_args(2, file, linenum, args, &err_code))
                                goto out;
                        if (*(args[2]) == 0) {
-                               Alert("parsing [%s:%d] : missing argument after '%s'.\n",
-                                     file, linenum, args[1]);
+                               ha_alert("parsing [%s:%d] : missing argument after '%s'.\n",
+                                        file, linenum, args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3604,8 +3604,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        if (alertif_too_many_args(2, file, linenum, args, &err_code))
                                goto out;
                        if (*(args[2]) == 0) {
-                               Alert("parsing [%s:%d] : missing argument after '%s'.\n",
-                                     file, linenum, args[1]);
+                               ha_alert("parsing [%s:%d] : missing argument after '%s'.\n",
+                                        file, linenum, args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3613,16 +3613,16 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        curproxy->check_path = strdup(args[2]);
                }
                else {
-                       Alert("parsing [%s:%d] : external-check: unknown argument '%s'.\n",
-                             file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d] : external-check: unknown argument '%s'.\n",
+                                file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        }/* end else if (!strcmp(args[0], "external-check"))  */
        else if (!strcmp(args[0], "persist")) {  /* persist */
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : missing persist method.\n",
-                               file, linenum);
+                       ha_alert("parsing [%s:%d] : missing persist method.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                 }
@@ -3640,8 +3640,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                        goto out;
 
                                if (!end || end == beg) {
-                                       Alert("parsing [%s:%d] : persist rdp-cookie(name)' requires an rdp cookie name.\n",
-                                             file, linenum);
+                                       ha_alert("parsing [%s:%d] : persist rdp-cookie(name)' requires an rdp cookie name.\n",
+                                                file, linenum);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -3656,21 +3656,21 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                curproxy->rdp_cookie_len = strlen(curproxy->rdp_cookie_name);
                        }
                        else { /* syntax */
-                               Alert("parsing [%s:%d] : persist rdp-cookie(name)' requires an rdp cookie name.\n",
-                                     file, linenum);
+                               ha_alert("parsing [%s:%d] : persist rdp-cookie(name)' requires an rdp cookie name.\n",
+                                        file, linenum);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                }
                else {
-                       Alert("parsing [%s:%d] : unknown persist method.\n",
-                             file, linenum);
+                       ha_alert("parsing [%s:%d] : unknown persist method.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        }
        else if (!strcmp(args[0], "appsession")) {  /* cookie name */
-               Alert("parsing [%s:%d] : '%s' is not supported anymore, please check the documentation.\n", file, linenum, args[0]);
+               ha_alert("parsing [%s:%d] : '%s' is not supported anymore, please check the documentation.\n", file, linenum, args[0]);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -3687,8 +3687,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        curproxy->load_server_state_from_file = PR_SRV_STATE_FILE_NONE;
                }
                else {
-                       Alert("parsing [%s:%d] : '%s' expects 'global', 'local' or 'none'. Got '%s'\n",
-                             file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s' expects 'global', 'local' or 'none'. Got '%s'\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3697,8 +3697,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                if (warnifnotcap(curproxy, PR_CAP_BE, file, linenum, args[0], NULL))
                        err_code |= ERR_WARN;
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects 'use-backend-name' or a string. Got no argument\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects 'use-backend-name' or a string. Got no argument\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3713,7 +3713,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
 
                if (!strcmp(args[1], "cookie")) {  /* name of a cookie to capture */
                        if (curproxy == &defproxy) {
-                               Alert("parsing [%s:%d] : '%s %s' not allowed in 'defaults' section.\n", file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' not allowed in 'defaults' section.\n", file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3722,8 +3722,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                goto out;
 
                        if (*(args[4]) == 0) {
-                               Alert("parsing [%s:%d] : '%s' expects 'cookie' <cookie_name> 'len' <len>.\n",
-                                     file, linenum, args[0]);
+                               ha_alert("parsing [%s:%d] : '%s' expects 'cookie' <cookie_name> 'len' <len>.\n",
+                                        file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3737,7 +3737,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        struct cap_hdr *hdr;
 
                        if (curproxy == &defproxy) {
-                               Alert("parsing [%s:%d] : '%s %s' not allowed in 'defaults' section.\n", file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' not allowed in 'defaults' section.\n", file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3746,8 +3746,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                goto out;
 
                        if (*(args[3]) == 0 || strcmp(args[4], "len") != 0 || *(args[5]) == 0) {
-                               Alert("parsing [%s:%d] : '%s %s' expects 'header' <header_name> 'len' <len>.\n",
-                                     file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' expects 'header' <header_name> 'len' <len>.\n",
+                                        file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3766,7 +3766,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        struct cap_hdr *hdr;
 
                        if (curproxy == &defproxy) {
-                               Alert("parsing [%s:%d] : '%s %s' not allowed in 'defaults' section.\n", file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' not allowed in 'defaults' section.\n", file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3775,8 +3775,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                goto out;
 
                        if (*(args[3]) == 0 || strcmp(args[4], "len") != 0 || *(args[5]) == 0) {
-                               Alert("parsing [%s:%d] : '%s %s' expects 'header' <header_name> 'len' <len>.\n",
-                                     file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' expects 'header' <header_name> 'len' <len>.\n",
+                                        file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3791,8 +3791,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        curproxy->to_log |= LW_RSPHDR;
                }
                else {
-                       Alert("parsing [%s:%d] : '%s' expects 'cookie' or 'request header' or 'response header'.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects 'cookie' or 'request header' or 'response header'.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3805,8 +3805,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        goto out;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument (dispatch counts for one).\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument (dispatch counts for one).\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3816,7 +3816,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                struct act_rule *rule;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3827,8 +3827,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                     LIST_PREV(&curproxy->http_req_rules, struct act_rule *, list)->action == ACT_ACTION_DENY ||
                     LIST_PREV(&curproxy->http_req_rules, struct act_rule *, list)->action == ACT_HTTP_REDIR ||
                     LIST_PREV(&curproxy->http_req_rules, struct act_rule *, list)->action == ACT_HTTP_REQ_AUTH)) {
-                       Warning("parsing [%s:%d]: previous '%s' action is final and has no condition attached, further entries are NOOP.\n",
-                               file, linenum, args[0]);
+                       ha_warning("parsing [%s:%d]: previous '%s' action is final and has no condition attached, further entries are NOOP.\n",
+                                  file, linenum, args[0]);
                        err_code |= ERR_WARN;
                }
 
@@ -3850,7 +3850,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                struct act_rule *rule;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3859,8 +3859,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                    !LIST_PREV(&curproxy->http_res_rules, struct act_rule *, list)->cond &&
                    (LIST_PREV(&curproxy->http_res_rules, struct act_rule *, list)->action == ACT_ACTION_ALLOW ||
                     LIST_PREV(&curproxy->http_res_rules, struct act_rule *, list)->action == ACT_ACTION_DENY)) {
-                       Warning("parsing [%s:%d]: previous '%s' action is final and has no condition attached, further entries are NOOP.\n",
-                               file, linenum, args[0]);
+                       ha_warning("parsing [%s:%d]: previous '%s' action is final and has no condition attached, further entries are NOOP.\n",
+                                  file, linenum, args[0]);
                        err_code |= ERR_WARN;
                }
 
@@ -3883,8 +3883,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        err_code |= ERR_WARN;
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' requires a header string.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' requires a header string.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3898,7 +3898,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                struct act_rule *rule;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3919,21 +3919,21 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                LIST_ADDQ(&curproxy->block_rules, &rule->list);
 
                if (!already_warned(WARN_BLOCK_DEPRECATED))
-                       Warning("parsing [%s:%d] : The '%s' directive is now deprecated in favor of 'http-request deny' which uses the exact same syntax. The rules are translated but support might disappear in a future version.\n", file, linenum, args[0]);
+                       ha_warning("parsing [%s:%d] : The '%s' directive is now deprecated in favor of 'http-request deny' which uses the exact same syntax. The rules are translated but support might disappear in a future version.\n", file, linenum, args[0]);
 
        }
        else if (!strcmp(args[0], "redirect")) {
                struct redirect_rule *rule;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if ((rule = http_parse_redirect_rule(file, linenum, curproxy, (const char **)args + 1, &errmsg, 0, 0)) == NULL) {
-                       Alert("parsing [%s:%d] : error detected in %s '%s' while parsing redirect rule : %s.\n",
-                             file, linenum, proxy_type_str(curproxy), curproxy->id, errmsg);
+                       ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing redirect rule : %s.\n",
+                                file, linenum, proxy_type_str(curproxy), curproxy->id, errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3948,7 +3948,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                struct switching_rule *rule;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3957,15 +3957,15 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        err_code |= ERR_WARN;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a backend name.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a backend name.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (strcmp(args[2], "if") == 0 || strcmp(args[2], "unless") == 0) {
                        if ((cond = build_acl_cond(file, linenum, &curproxy->acl, curproxy, (const char **)args + 2, &errmsg)) == NULL) {
-                               Alert("parsing [%s:%d] : error detected while parsing switching rule : %s.\n",
-                                     file, linenum, errmsg);
+                               ha_alert("parsing [%s:%d] : error detected while parsing switching rule : %s.\n",
+                                        file, linenum, errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3973,15 +3973,15 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        err_code |= warnif_cond_conflicts(cond, SMP_VAL_FE_SET_BCK, file, linenum);
                }
                else if (*args[2]) {
-                       Alert("parsing [%s:%d] : unexpected keyword '%s' after switching rule, only 'if' and 'unless' are allowed.\n",
-                             file, linenum, args[2]);
+                       ha_alert("parsing [%s:%d] : unexpected keyword '%s' after switching rule, only 'if' and 'unless' are allowed.\n",
+                                file, linenum, args[2]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                rule = calloc(1, sizeof(*rule));
                if (!rule) {
-                       Alert("Out of memory error.\n");
+                       ha_alert("Out of memory error.\n");
                        goto out;
                }
                rule->cond = cond;
@@ -3989,7 +3989,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                rule->line = linenum;
                rule->file = strdup(file);
                if (!rule->file) {
-                       Alert("Out of memory error.\n");
+                       ha_alert("Out of memory error.\n");
                        goto out;
                }
                LIST_INIT(&rule->list);
@@ -3999,7 +3999,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                struct server_rule *rule;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4008,21 +4008,21 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        err_code |= ERR_WARN;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a server name.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a server name.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (strcmp(args[2], "if") != 0 && strcmp(args[2], "unless") != 0) {
-                       Alert("parsing [%s:%d] : '%s' requires either 'if' or 'unless' followed by a condition.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' requires either 'if' or 'unless' followed by a condition.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if ((cond = build_acl_cond(file, linenum, &curproxy->acl, curproxy, (const char **)args + 2, &errmsg)) == NULL) {
-                       Alert("parsing [%s:%d] : error detected while parsing switching rule : %s.\n",
-                             file, linenum, errmsg);
+                       ha_alert("parsing [%s:%d] : error detected while parsing switching rule : %s.\n",
+                                file, linenum, errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4041,7 +4041,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                struct persist_rule *rule;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4050,15 +4050,15 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        err_code |= ERR_WARN;
 
                if (strcmp(args[1], "if") != 0 && strcmp(args[1], "unless") != 0) {
-                       Alert("parsing [%s:%d] : '%s' requires either 'if' or 'unless' followed by a condition.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' requires either 'if' or 'unless' followed by a condition.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if ((cond = build_acl_cond(file, linenum, &curproxy->acl, curproxy, (const char **)args + 1, &errmsg)) == NULL) {
-                       Alert("parsing [%s:%d] : error detected while parsing a '%s' rule : %s.\n",
-                             file, linenum, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : error detected while parsing a '%s' rule : %s.\n",
+                                file, linenum, args[0], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4084,8 +4084,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
 
                other = proxy_tbl_by_name(curproxy->id);
                if (other) {
-                       Alert("parsing [%s:%d] : stick-table name '%s' conflicts with table declared in %s '%s' at %s:%d.\n",
-                             file, linenum, curproxy->id, proxy_type_str(other), other->id, other->conf.file, other->conf.line);
+                       ha_alert("parsing [%s:%d] : stick-table name '%s' conflicts with table declared in %s '%s' at %s:%d.\n",
+                                file, linenum, curproxy->id, proxy_type_str(other), other->id, other->conf.file, other->conf.line);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4098,14 +4098,14 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        if (strcmp(args[myidx], "size") == 0) {
                                myidx++;
                                if (!*(args[myidx])) {
-                                       Alert("parsing [%s:%d] : stick-table: missing argument after '%s'.\n",
-                                             file, linenum, args[myidx-1]);
+                                       ha_alert("parsing [%s:%d] : stick-table: missing argument after '%s'.\n",
+                                                file, linenum, args[myidx-1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                                if ((err = parse_size_err(args[myidx], &curproxy->table.size))) {
-                                       Alert("parsing [%s:%d] : stick-table: unexpected character '%c' in argument of '%s'.\n",
-                                             file, linenum, *err, args[myidx-1]);
+                                       ha_alert("parsing [%s:%d] : stick-table: unexpected character '%c' in argument of '%s'.\n",
+                                                file, linenum, *err, args[myidx-1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -4114,8 +4114,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        else if (strcmp(args[myidx], "peers") == 0) {
                                myidx++;
                                if (!*(args[myidx])) {
-                                       Alert("parsing [%s:%d] : stick-table: missing argument after '%s'.\n",
-                                             file, linenum, args[myidx-1]);
+                                       ha_alert("parsing [%s:%d] : stick-table: missing argument after '%s'.\n",
+                                                file, linenum, args[myidx-1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -4124,21 +4124,21 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        else if (strcmp(args[myidx], "expire") == 0) {
                                myidx++;
                                if (!*(args[myidx])) {
-                                       Alert("parsing [%s:%d] : stick-table: missing argument after '%s'.\n",
-                                             file, linenum, args[myidx-1]);
+                                       ha_alert("parsing [%s:%d] : stick-table: missing argument after '%s'.\n",
+                                                file, linenum, args[myidx-1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                                err = parse_time_err(args[myidx], &val, TIME_UNIT_MS);
                                if (err) {
-                                       Alert("parsing [%s:%d] : stick-table: unexpected character '%c' in argument of '%s'.\n",
-                                             file, linenum, *err, args[myidx-1]);
+                                       ha_alert("parsing [%s:%d] : stick-table: unexpected character '%c' in argument of '%s'.\n",
+                                                file, linenum, *err, args[myidx-1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                                if (val > INT_MAX) {
-                                       Alert("parsing [%s:%d] : Expire value [%u]ms exceeds maxmimum value of 24.85 days.\n",
-                                             file, linenum, val);
+                                       ha_alert("parsing [%s:%d] : Expire value [%u]ms exceeds maxmimum value of 24.85 days.\n",
+                                                file, linenum, val);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -4152,8 +4152,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        else if (strcmp(args[myidx], "type") == 0) {
                                myidx++;
                                if (stktable_parse_type(args, &myidx, &curproxy->table.type, &curproxy->table.key_size) != 0) {
-                                       Alert("parsing [%s:%d] : stick-table: unknown type '%s'.\n",
-                                             file, linenum, args[myidx]);
+                                       ha_alert("parsing [%s:%d] : stick-table: unknown type '%s'.\n",
+                                                file, linenum, args[myidx]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -4175,8 +4175,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                                        sa = ++nw;
                                                        while (*nw != ')') {
                                                                if (!*nw) {
-                                                                       Alert("parsing [%s:%d] : %s: missing closing parenthesis after store option '%s'.\n",
-                                                                             file, linenum, args[0], cw);
+                                                                       ha_alert("parsing [%s:%d] : %s: missing closing parenthesis after store option '%s'.\n",
+                                                                                file, linenum, args[0], cw);
                                                                        err_code |= ERR_ALERT | ERR_FATAL;
                                                                        goto out;
                                                                }
@@ -4190,8 +4190,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                                *nw++ = '\0';
                                        type = stktable_get_data_type(cw);
                                        if (type < 0) {
-                                               Alert("parsing [%s:%d] : %s: unknown store option '%s'.\n",
-                                                     file, linenum, args[0], cw);
+                                               ha_alert("parsing [%s:%d] : %s: unknown store option '%s'.\n",
+                                                        file, linenum, args[0], cw);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -4200,26 +4200,26 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                        switch (err) {
                                        case PE_NONE: break;
                                        case PE_EXIST:
-                                               Warning("parsing [%s:%d]: %s: store option '%s' already enabled, ignored.\n",
-                                                       file, linenum, args[0], cw);
+                                               ha_warning("parsing [%s:%d]: %s: store option '%s' already enabled, ignored.\n",
+                                                          file, linenum, args[0], cw);
                                                err_code |= ERR_WARN;
                                                break;
 
                                        case PE_ARG_MISSING:
-                                               Alert("parsing [%s:%d] : %s: missing argument to store option '%s'.\n",
-                                                     file, linenum, args[0], cw);
+                                               ha_alert("parsing [%s:%d] : %s: missing argument to store option '%s'.\n",
+                                                        file, linenum, args[0], cw);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
 
                                        case PE_ARG_NOT_USED:
-                                               Alert("parsing [%s:%d] : %s: unexpected argument to store option '%s'.\n",
-                                                     file, linenum, args[0], cw);
+                                               ha_alert("parsing [%s:%d] : %s: unexpected argument to store option '%s'.\n",
+                                                        file, linenum, args[0], cw);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
 
                                        default:
-                                               Alert("parsing [%s:%d] : %s: error when processing store option '%s'.\n",
-                                                     file, linenum, args[0], cw);
+                                               ha_alert("parsing [%s:%d] : %s: error when processing store option '%s'.\n",
+                                                        file, linenum, args[0], cw);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -4227,23 +4227,23 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                myidx++;
                        }
                        else {
-                               Alert("parsing [%s:%d] : stick-table: unknown argument '%s'.\n",
-                                     file, linenum, args[myidx]);
+                               ha_alert("parsing [%s:%d] : stick-table: unknown argument '%s'.\n",
+                                        file, linenum, args[myidx]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                }
 
                if (!curproxy->table.size) {
-                       Alert("parsing [%s:%d] : stick-table: missing size.\n",
-                              file, linenum);
+                       ha_alert("parsing [%s:%d] : stick-table: missing size.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (curproxy->table.type == (unsigned int)-1) {
-                       Alert("parsing [%s:%d] : stick-table: missing type.\n",
-                              file, linenum);
+                       ha_alert("parsing [%s:%d] : stick-table: missing type.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4256,7 +4256,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                int flags;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4285,13 +4285,13 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        flags = STK_IS_MATCH | STK_IS_STORE;
                }
                else {
-                       Alert("parsing [%s:%d] : '%s' expects 'on', 'match', or 'store'.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects 'on', 'match', or 'store'.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (*(args[myidx]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a fetch method.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a fetch method.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4299,23 +4299,23 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                curproxy->conf.args.ctx = ARGC_STK;
                expr = sample_parse_expr(args, &myidx, file, linenum, &errmsg, &curproxy->conf.args);
                if (!expr) {
-                       Alert("parsing [%s:%d] : '%s': %s\n", file, linenum, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : '%s': %s\n", file, linenum, args[0], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (flags & STK_ON_RSP) {
                        if (!(expr->fetch->val & SMP_VAL_BE_STO_RUL)) {
-                               Alert("parsing [%s:%d] : '%s': fetch method '%s' extracts information from '%s', none of which is available for 'store-response'.\n",
-                                     file, linenum, args[0], expr->fetch->kw, sample_src_names(expr->fetch->use));
+                               ha_alert("parsing [%s:%d] : '%s': fetch method '%s' extracts information from '%s', none of which is available for 'store-response'.\n",
+                                        file, linenum, args[0], expr->fetch->kw, sample_src_names(expr->fetch->use));
                                err_code |= ERR_ALERT | ERR_FATAL;
                                free(expr);
                                goto out;
                        }
                } else {
                        if (!(expr->fetch->val & SMP_VAL_BE_SET_SRV)) {
-                               Alert("parsing [%s:%d] : '%s': fetch method '%s' extracts information from '%s', none of which is available during request.\n",
-                                     file, linenum, args[0], expr->fetch->kw, sample_src_names(expr->fetch->use));
+                               ha_alert("parsing [%s:%d] : '%s': fetch method '%s' extracts information from '%s', none of which is available during request.\n",
+                                        file, linenum, args[0], expr->fetch->kw, sample_src_names(expr->fetch->use));
                                err_code |= ERR_ALERT | ERR_FATAL;
                                free(expr);
                                goto out;
@@ -4332,16 +4332,16 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
 
                if (strcmp(args[myidx], "if") == 0 || strcmp(args[myidx], "unless") == 0) {
                        if ((cond = build_acl_cond(file, linenum, &curproxy->acl, curproxy, (const char **)args + myidx, &errmsg)) == NULL) {
-                               Alert("parsing [%s:%d] : '%s': error detected while parsing sticking condition : %s.\n",
-                                     file, linenum, args[0], errmsg);
+                               ha_alert("parsing [%s:%d] : '%s': error detected while parsing sticking condition : %s.\n",
+                                        file, linenum, args[0], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                free(expr);
                                goto out;
                        }
                }
                else if (*(args[myidx])) {
-                       Alert("parsing [%s:%d] : '%s': unknown keyword '%s'.\n",
-                             file, linenum, args[0], args[myidx]);
+                       ha_alert("parsing [%s:%d] : '%s': unknown keyword '%s'.\n",
+                                file, linenum, args[0], args[myidx]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        free(expr);
                        goto out;
@@ -4372,26 +4372,26 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        struct stats_admin_rule *rule;
 
                        if (curproxy == &defproxy) {
-                               Alert("parsing [%s:%d]: '%s %s' not allowed in 'defaults' section.\n", file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d]: '%s %s' not allowed in 'defaults' section.\n", file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
 
                        if (!stats_check_init_uri_auth(&curproxy->uri_auth)) {
-                               Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
 
                        if (strcmp(args[2], "if") != 0 && strcmp(args[2], "unless") != 0) {
-                               Alert("parsing [%s:%d] : '%s %s' requires either 'if' or 'unless' followed by a condition.\n",
-                               file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' requires either 'if' or 'unless' followed by a condition.\n",
+                                        file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                        if ((cond = build_acl_cond(file, linenum, &curproxy->acl, curproxy, (const char **)args + 2, &errmsg)) == NULL) {
-                               Alert("parsing [%s:%d] : error detected while parsing a '%s %s' rule : %s.\n",
-                                     file, linenum, args[0], args[1], errmsg);
+                               ha_alert("parsing [%s:%d] : error detected while parsing a '%s %s' rule : %s.\n",
+                                        file, linenum, args[0], args[1], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -4406,21 +4406,21 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        LIST_ADDQ(&curproxy->uri_auth->admin_rules, &rule->list);
                } else if (!strcmp(args[1], "uri")) {
                        if (*(args[2]) == 0) {
-                               Alert("parsing [%s:%d] : 'uri' needs an URI prefix.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : 'uri' needs an URI prefix.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        } else if (!stats_set_uri(&curproxy->uri_auth, args[2])) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
                } else if (!strcmp(args[1], "realm")) {
                        if (*(args[2]) == 0) {
-                               Alert("parsing [%s:%d] : 'realm' needs an realm name.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : 'realm' needs an realm name.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        } else if (!stats_set_realm(&curproxy->uri_auth, args[2])) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
@@ -4429,12 +4429,12 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
 
                        err = parse_time_err(args[2], &interval, TIME_UNIT_S);
                        if (err) {
-                               Alert("parsing [%s:%d] : unexpected character '%c' in stats refresh interval.\n",
-                                     file, linenum, *err);
+                               ha_alert("parsing [%s:%d] : unexpected character '%c' in stats refresh interval.\n",
+                                        file, linenum, *err);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        } else if (!stats_set_refresh(&curproxy->uri_auth, interval)) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
@@ -4442,21 +4442,21 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        struct act_rule *rule;
 
                        if (curproxy == &defproxy) {
-                               Alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                               ha_alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
 
                        if (!stats_check_init_uri_auth(&curproxy->uri_auth)) {
-                               Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
 
                        if (!LIST_ISEMPTY(&curproxy->uri_auth->http_req_rules) &&
                            !LIST_PREV(&curproxy->uri_auth->http_req_rules, struct act_rule *, list)->cond) {
-                               Warning("parsing [%s:%d]: previous '%s' action has no condition attached, further entries are NOOP.\n",
-                                       file, linenum, args[0]);
+                               ha_warning("parsing [%s:%d]: previous '%s' action has no condition attached, further entries are NOOP.\n",
+                                          file, linenum, args[0]);
                                err_code |= ERR_WARN;
                        }
 
@@ -4474,39 +4474,39 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
 
                } else if (!strcmp(args[1], "auth")) {
                        if (*(args[2]) == 0) {
-                               Alert("parsing [%s:%d] : 'auth' needs a user:password account.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : 'auth' needs a user:password account.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        } else if (!stats_add_auth(&curproxy->uri_auth, args[2])) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
                } else if (!strcmp(args[1], "scope")) {
                        if (*(args[2]) == 0) {
-                               Alert("parsing [%s:%d] : 'scope' needs a proxy name.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : 'scope' needs a proxy name.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        } else if (!stats_add_scope(&curproxy->uri_auth, args[2])) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
                } else if (!strcmp(args[1], "enable")) {
                        if (!stats_check_init_uri_auth(&curproxy->uri_auth)) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
                } else if (!strcmp(args[1], "hide-version")) {
                        if (!stats_set_flag(&curproxy->uri_auth, ST_HIDEVER)) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
                } else if (!strcmp(args[1], "show-legends")) {
                        if (!stats_set_flag(&curproxy->uri_auth, ST_SHLGNDS)) {
-                               Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
@@ -4524,16 +4524,16 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                                }
 
                                if (!i || args[2][i]) {
-                                       Alert("parsing [%s:%d]: '%s %s' invalid node name - should be a string"
-                                               "with digits(0-9), letters(A-Z, a-z), hyphen(-) or underscode(_).\n",
-                                               file, linenum, args[0], args[1]);
+                                       ha_alert("parsing [%s:%d]: '%s %s' invalid node name - should be a string"
+                                                "with digits(0-9), letters(A-Z, a-z), hyphen(-) or underscode(_).\n",
+                                                file, linenum, args[0], args[1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                        }
 
                        if (!stats_set_node(&curproxy->uri_auth, args[2])) {
-                               Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
@@ -4555,12 +4555,12 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        }
 
                        if (!*args[2] && !global.desc)
-                               Warning("parsing [%s:%d]: '%s' requires a parameter or 'desc' to be set in the global section.\n",
-                                       file, linenum, args[1]);
+                               ha_warning("parsing [%s:%d]: '%s' requires a parameter or 'desc' to be set in the global section.\n",
+                                          file, linenum, args[1]);
                        else {
                                if (!stats_set_desc(&curproxy->uri_auth, desc)) {
                                        free(desc);
-                                       Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                                       ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                                        err_code |= ERR_ALERT | ERR_ABORT;
                                        goto out;
                                }
@@ -4568,8 +4568,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
                        }
                } else {
 stats_error_parsing:
-                       Alert("parsing [%s:%d]: %s '%s', expects 'admin', 'uri', 'realm', 'auth', 'scope', 'enable', 'hide-version', 'show-node', 'show-desc' or 'show-legends'.\n",
-                             file, linenum, *args[1]?"unknown stats parameter":"missing keyword in", args[*args[1]?1:0]);
+                       ha_alert("parsing [%s:%d]: %s '%s', expects 'admin', 'uri', 'realm', 'auth', 'scope', 'enable', 'hide-version', 'show-node', 'show-desc' or 'show-legends'.\n",
+                                file, linenum, *args[1]?"unknown stats parameter":"missing keyword in", args[*args[1]?1:0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4578,8 +4578,8 @@ stats_error_parsing:
                int optnum;
 
                if (*(args[1]) == '\0') {
-                       Alert("parsing [%s:%d]: '%s' expects an option name.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects an option name.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4587,8 +4587,8 @@ stats_error_parsing:
                for (optnum = 0; cfg_opts[optnum].name; optnum++) {
                        if (!strcmp(args[1], cfg_opts[optnum].name)) {
                                if (cfg_opts[optnum].cap == PR_CAP_NONE) {
-                                       Alert("parsing [%s:%d]: option '%s' is not supported due to build options.\n",
-                                               file, linenum, cfg_opts[optnum].name);
+                                       ha_alert("parsing [%s:%d]: option '%s' is not supported due to build options.\n",
+                                                file, linenum, cfg_opts[optnum].name);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -4621,8 +4621,8 @@ stats_error_parsing:
                for (optnum = 0; cfg_opts2[optnum].name; optnum++) {
                        if (!strcmp(args[1], cfg_opts2[optnum].name)) {
                                if (cfg_opts2[optnum].cap == PR_CAP_NONE) {
-                                       Alert("parsing [%s:%d]: option '%s' is not supported due to build options.\n",
-                                               file, linenum, cfg_opts2[optnum].name);
+                                       ha_alert("parsing [%s:%d]: option '%s' is not supported due to build options.\n",
+                                                file, linenum, cfg_opts2[optnum].name);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -4758,8 +4758,8 @@ stats_error_parsing:
                }
 
                if (kwm != KWM_STD) {
-                       Alert("parsing [%s:%d]: negation/default is not supported for option '%s'.\n",
-                               file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d]: negation/default is not supported for option '%s'.\n",
+                                file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -4773,7 +4773,7 @@ stats_error_parsing:
                                        curproxy->options2 |= PR_O2_CLFLOG;
                                        logformat = clf_http_log_format;
                                } else {
-                                       Alert("parsing [%s:%d] : keyword '%s' only supports option 'clf'.\n", file, linenum, args[1]);
+                                       ha_alert("parsing [%s:%d] : keyword '%s' only supports option 'clf'.\n", file, linenum, args[1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -4792,8 +4792,8 @@ stats_error_parsing:
                                        oldlogformat = "option httplog clf";
                                if (logformat == clf_http_log_format)
                                        clflogformat = " clf";
-                               Warning("parsing [%s:%d]: 'option httplog%s' overrides previous '%s' in 'defaults' section.\n",
-                                       file, linenum, clflogformat, oldlogformat);
+                               ha_warning("parsing [%s:%d]: 'option httplog%s' overrides previous '%s' in 'defaults' section.\n",
+                                          file, linenum, clflogformat, oldlogformat);
                        }
                        if (curproxy->conf.logformat_string != default_http_log_format &&
                            curproxy->conf.logformat_string != default_tcp_log_format &&
@@ -4815,8 +4815,8 @@ stats_error_parsing:
                                        oldlogformat = "option tcplog";
                                else if (curproxy->conf.logformat_string == clf_http_log_format)
                                        oldlogformat = "option httplog clf";
-                               Warning("parsing [%s:%d]: 'option tcplog' overrides previous '%s' in 'defaults' section.\n",
-                                       file, linenum, oldlogformat);
+                               ha_warning("parsing [%s:%d]: 'option tcplog' overrides previous '%s' in 'defaults' section.\n",
+                                          file, linenum, oldlogformat);
                        }
                        /* generate a detailed TCP log */
                        if (curproxy->conf.logformat_string != default_http_log_format &&
@@ -4936,8 +4936,8 @@ stats_error_parsing:
 
                                                /* suboption header - needs additional argument for it */
                                                if (*(args[cur_arg+1]) == 0) {
-                                                       Alert("parsing [%s:%d] : '%s %s %s' expects <username> as argument.\n",
-                                                             file, linenum, args[0], args[1], args[cur_arg]);
+                                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <username> as argument.\n",
+                                                                file, linenum, args[0], args[1], args[cur_arg]);
                                                        err_code |= ERR_ALERT | ERR_FATAL;
                                                        goto out;
                                                }
@@ -4965,8 +4965,8 @@ stats_error_parsing:
                                                cur_arg += 2;
                                        } else {
                                                /* unknown suboption - catchall */
-                                               Alert("parsing [%s:%d] : '%s %s' only supports optional values: 'user'.\n",
-                                                     file, linenum, args[0], args[1]);
+                                               ha_alert("parsing [%s:%d] : '%s %s' only supports optional values: 'user'.\n",
+                                                        file, linenum, args[0], args[1]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5045,8 +5045,8 @@ stats_error_parsing:
 
                                                /* suboption header - needs additional argument for it */
                                                if (*(args[cur_arg+1]) == 0) {
-                                                       Alert("parsing [%s:%d] : '%s %s %s' expects <username> as argument.\n",
-                                                             file, linenum, args[0], args[1], args[cur_arg]);
+                                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <username> as argument.\n",
+                                                                file, linenum, args[0], args[1], args[cur_arg]);
                                                        err_code |= ERR_ALERT | ERR_FATAL;
                                                        goto out;
                                                }
@@ -5076,7 +5076,7 @@ stats_error_parsing:
                                                                curproxy->check_req[36 + userlen + 1 + 1 + 4] = 1;
                                                                cur_arg += 3;
                                                        } else {
-                                                               Alert("parsing [%s:%d] : keyword '%s' only supports option 'post-41'.\n", file, linenum, args[cur_arg+2]);
+                                                               ha_alert("parsing [%s:%d] : keyword '%s' only supports option 'post-41'.\n", file, linenum, args[cur_arg+2]);
                                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                                goto out;
                                                        }
@@ -5103,8 +5103,8 @@ stats_error_parsing:
                                                }
                                        } else {
                                                /* unknown suboption - catchall */
-                                               Alert("parsing [%s:%d] : '%s %s' only supports optional values: 'user'.\n",
-                                                     file, linenum, args[0], args[1]);
+                                               ha_alert("parsing [%s:%d] : '%s %s' only supports optional values: 'user'.\n",
+                                                        file, linenum, args[0], args[1]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5126,14 +5126,14 @@ stats_error_parsing:
                }
                else if (!strcmp(args[1], "spop-check")) {
                        if (curproxy == &defproxy) {
-                               Alert("parsing [%s:%d] : '%s %s' not allowed in 'defaults' section.\n",
-                                     file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' not allowed in 'defaults' section.\n",
+                                        file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                        if (curproxy->cap & PR_CAP_FE) {
-                               Alert("parsing [%s:%d] : '%s %s' not allowed in 'frontend' and 'listen' sections.\n",
-                                     file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' not allowed in 'frontend' and 'listen' sections.\n",
+                                        file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -5145,7 +5145,7 @@ stats_error_parsing:
                        curproxy->options2 |= PR_O2_SPOP_CHK;
 
                        if (spoe_prepare_healthcheck_request(&curproxy->check_req, &curproxy->check_len)) {
-                               Alert("parsing [%s:%d] : failed to prepare SPOP healthcheck request.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : failed to prepare SPOP healthcheck request.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -5192,8 +5192,8 @@ stats_error_parsing:
                                if (!strcmp(args[cur_arg], "except")) {
                                        /* suboption except - needs additional argument for it */
                                        if (!*(args[cur_arg+1]) || !str2net(args[cur_arg+1], 1, &curproxy->except_net, &curproxy->except_mask)) {
-                                               Alert("parsing [%s:%d] : '%s %s %s' expects <address>[/mask] as argument.\n",
-                                                     file, linenum, args[0], args[1], args[cur_arg]);
+                                               ha_alert("parsing [%s:%d] : '%s %s %s' expects <address>[/mask] as argument.\n",
+                                                        file, linenum, args[0], args[1], args[cur_arg]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5203,8 +5203,8 @@ stats_error_parsing:
                                } else if (!strcmp(args[cur_arg], "header")) {
                                        /* suboption header - needs additional argument for it */
                                        if (*(args[cur_arg+1]) == 0) {
-                                               Alert("parsing [%s:%d] : '%s %s %s' expects <header_name> as argument.\n",
-                                                     file, linenum, args[0], args[1], args[cur_arg]);
+                                               ha_alert("parsing [%s:%d] : '%s %s %s' expects <header_name> as argument.\n",
+                                                        file, linenum, args[0], args[1], args[cur_arg]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5217,8 +5217,8 @@ stats_error_parsing:
                                        cur_arg += 1;
                                } else {
                                        /* unknown suboption - catchall */
-                                       Alert("parsing [%s:%d] : '%s %s' only supports optional values: 'except', 'header' and 'if-none'.\n",
-                                             file, linenum, args[0], args[1]);
+                                       ha_alert("parsing [%s:%d] : '%s %s' only supports optional values: 'except', 'header' and 'if-none'.\n",
+                                                file, linenum, args[0], args[1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5243,8 +5243,8 @@ stats_error_parsing:
                                if (!strcmp(args[cur_arg], "except")) {
                                        /* suboption except - needs additional argument for it */
                                        if (!*(args[cur_arg+1]) || !str2net(args[cur_arg+1], 1, &curproxy->except_to, &curproxy->except_mask_to)) {
-                                               Alert("parsing [%s:%d] : '%s %s %s' expects <address>[/mask] as argument.\n",
-                                                     file, linenum, args[0], args[1], args[cur_arg]);
+                                               ha_alert("parsing [%s:%d] : '%s %s %s' expects <address>[/mask] as argument.\n",
+                                                        file, linenum, args[0], args[1], args[cur_arg]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5254,8 +5254,8 @@ stats_error_parsing:
                                } else if (!strcmp(args[cur_arg], "header")) {
                                        /* suboption header - needs additional argument for it */
                                        if (*(args[cur_arg+1]) == 0) {
-                                               Alert("parsing [%s:%d] : '%s %s %s' expects <header_name> as argument.\n",
-                                                     file, linenum, args[0], args[1], args[cur_arg]);
+                                               ha_alert("parsing [%s:%d] : '%s %s %s' expects <header_name> as argument.\n",
+                                                        file, linenum, args[0], args[1], args[cur_arg]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5265,15 +5265,15 @@ stats_error_parsing:
                                        cur_arg += 2;
                                } else {
                                        /* unknown suboption - catchall */
-                                       Alert("parsing [%s:%d] : '%s %s' only supports optional values: 'except' and 'header'.\n",
-                                             file, linenum, args[0], args[1]);
+                                       ha_alert("parsing [%s:%d] : '%s %s' only supports optional values: 'except' and 'header'.\n",
+                                                file, linenum, args[0], args[1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                        } /* end while loop */
                }
                else {
-                       Alert("parsing [%s:%d] : unknown option '%s'.\n", file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d] : unknown option '%s'.\n", file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5284,7 +5284,7 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a backend name.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a backend name.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5299,8 +5299,8 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (!already_warned(WARN_REDISPATCH_DEPRECATED))
-                       Warning("parsing [%s:%d]: keyword '%s' is deprecated in favor of 'option redispatch', and will not be supported by future versions.\n",
-                               file, linenum, args[0]);
+                       ha_warning("parsing [%s:%d]: keyword '%s' is deprecated in favor of 'option redispatch', and will not be supported by future versions.\n",
+                                  file, linenum, args[0]);
                err_code |= ERR_WARN;
                /* enable reconnections to dispatch */
                curproxy->options |= PR_O_REDISP;
@@ -5340,7 +5340,7 @@ stats_error_parsing:
                                goto out;
                }
                else {
-                       Alert("parsing [%s:%d] : '%s' only supports 'never', 'safe', 'aggressive', 'always'.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' only supports 'never', 'safe', 'aggressive', 'always'.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5366,7 +5366,7 @@ stats_error_parsing:
                        int cur_arg;
 
                        if (curproxy->options2 & PR_O2_EXP_TYPE) {
-                               Alert("parsing [%s:%d] : '%s %s' already specified.\n", file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' already specified.\n", file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -5387,8 +5387,8 @@ stats_error_parsing:
                         */
                        if (strcmp(ptr_arg, "status") == 0) {
                                if (!*(args[cur_arg + 1])) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' expects <string> as an argument.\n",
-                                             file, linenum, args[0], args[1], ptr_arg);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <string> as an argument.\n",
+                                                file, linenum, args[0], args[1], ptr_arg);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5398,8 +5398,8 @@ stats_error_parsing:
                        }
                        else if (strcmp(ptr_arg, "string") == 0) {
                                if (!*(args[cur_arg + 1])) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' expects <string> as an argument.\n",
-                                             file, linenum, args[0], args[1], ptr_arg);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <string> as an argument.\n",
+                                                file, linenum, args[0], args[1], ptr_arg);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5409,8 +5409,8 @@ stats_error_parsing:
                        }
                        else if (strcmp(ptr_arg, "rstatus") == 0) {
                                if (!*(args[cur_arg + 1])) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' expects <regex> as an argument.\n",
-                                             file, linenum, args[0], args[1], ptr_arg);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <regex> as an argument.\n",
+                                                file, linenum, args[0], args[1], ptr_arg);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5425,8 +5425,8 @@ stats_error_parsing:
                                curproxy->expect_regex = calloc(1, sizeof(*curproxy->expect_regex));
                                error = NULL;
                                if (!regex_comp(args[cur_arg + 1], curproxy->expect_regex, 1, 1, &error)) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' : bad regular expression '%s': %s.\n",
-                                             file, linenum, args[0], args[1], ptr_arg, args[cur_arg + 1], error);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' : bad regular expression '%s': %s.\n",
+                                                file, linenum, args[0], args[1], ptr_arg, args[cur_arg + 1], error);
                                        free(error);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -5434,8 +5434,8 @@ stats_error_parsing:
                        }
                        else if (strcmp(ptr_arg, "rstring") == 0) {
                                if (!*(args[cur_arg + 1])) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' expects <regex> as an argument.\n",
-                                             file, linenum, args[0], args[1], ptr_arg);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <regex> as an argument.\n",
+                                                file, linenum, args[0], args[1], ptr_arg);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5450,22 +5450,22 @@ stats_error_parsing:
                                curproxy->expect_regex = calloc(1, sizeof(*curproxy->expect_regex));
                                error = NULL;
                                if (!regex_comp(args[cur_arg + 1], curproxy->expect_regex, 1, 1, &error)) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' : bad regular expression '%s': %s.\n",
-                                             file, linenum, args[0], args[1], ptr_arg, args[cur_arg + 1], error);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' : bad regular expression '%s': %s.\n",
+                                                file, linenum, args[0], args[1], ptr_arg, args[cur_arg + 1], error);
                                        free(error);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                        }
                        else {
-                               Alert("parsing [%s:%d] : '%s %s' only supports [!] 'status', 'string', 'rstatus', 'rstring', found '%s'.\n",
-                                     file, linenum, args[0], args[1], ptr_arg);
+                               ha_alert("parsing [%s:%d] : '%s %s' only supports [!] 'status', 'string', 'rstatus', 'rstring', found '%s'.\n",
+                                        file, linenum, args[0], args[1], ptr_arg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                }
                else {
-                       Alert("parsing [%s:%d] : '%s' only supports 'disable-on-404', 'send-state', 'expect'.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' only supports 'disable-on-404', 'send-state', 'expect'.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5483,8 +5483,8 @@ stats_error_parsing:
                        tcpcheck->action = TCPCHK_ACT_COMMENT;
 
                        if (!*args[cur_arg + 1]) {
-                               Alert("parsing [%s:%d] : '%s' expects a comment string.\n",
-                                       file, linenum, args[cur_arg]);
+                               ha_alert("parsing [%s:%d] : '%s' expects a comment string.\n",
+                                        file, linenum, args[cur_arg]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -5509,8 +5509,8 @@ stats_error_parsing:
 
                        if (&tcpcheck->list != &curproxy->tcpcheck_rules
                            && tcpcheck->action != TCPCHK_ACT_CONNECT) {
-                               Alert("parsing [%s:%d] : first step MUST also be a 'connect' when there is a 'connect' step in the tcp-check ruleset.\n",
-                                     file, linenum);
+                               ha_alert("parsing [%s:%d] : first step MUST also be a 'connect' when there is a 'connect' step in the tcp-check ruleset.\n",
+                                        file, linenum);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -5525,8 +5525,8 @@ stats_error_parsing:
                                if (strcmp(args[cur_arg], "port") == 0) {
                                        if ( (atol(args[cur_arg + 1]) > 65535) ||
                                                        (atol(args[cur_arg + 1]) < 1) ){
-                                               Alert("parsing [%s:%d] : '%s %s %s' expects a valid TCP port (from range 1 to 65535), got %s.\n",
-                                                     file, linenum, args[0], args[1], "port", args[cur_arg + 1]);
+                                               ha_alert("parsing [%s:%d] : '%s %s %s' expects a valid TCP port (from range 1 to 65535), got %s.\n",
+                                                        file, linenum, args[0], args[1], "port", args[cur_arg + 1]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5548,8 +5548,8 @@ stats_error_parsing:
                                /* comment for this tcpcheck line */
                                else if (strcmp(args[cur_arg], "comment") == 0) {
                                        if (!*args[cur_arg + 1]) {
-                                               Alert("parsing [%s:%d] : '%s' expects a comment string.\n",
-                                                       file, linenum, args[cur_arg]);
+                                               ha_alert("parsing [%s:%d] : '%s' expects a comment string.\n",
+                                                        file, linenum, args[cur_arg]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5558,11 +5558,11 @@ stats_error_parsing:
                                }
                                else {
 #ifdef USE_OPENSSL
-                                       Alert("parsing [%s:%d] : '%s %s' expects 'comment', 'port', 'send-proxy' or 'ssl' but got '%s' as argument.\n",
+                                       ha_alert("parsing [%s:%d] : '%s %s' expects 'comment', 'port', 'send-proxy' or 'ssl' but got '%s' as argument.\n",
 #else /* USE_OPENSSL */
-                                       Alert("parsing [%s:%d] : '%s %s' expects 'comment', 'port', 'send-proxy' or but got '%s' as argument.\n",
+                                       ha_alert("parsing [%s:%d] : '%s %s' expects 'comment', 'port', 'send-proxy' or but got '%s' as argument.\n",
 #endif /* USE_OPENSSL */
-                                             file, linenum, args[0], args[1], args[cur_arg]);
+                                                file, linenum, args[0], args[1], args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5574,8 +5574,8 @@ stats_error_parsing:
                else if (strcmp(args[1], "send") == 0) {
                        if (! *(args[2]) ) {
                                /* SEND string expected */
-                               Alert("parsing [%s:%d] : '%s %s %s' expects <STRING> as argument.\n",
-                                     file, linenum, args[0], args[1], args[2]);
+                               ha_alert("parsing [%s:%d] : '%s %s %s' expects <STRING> as argument.\n",
+                                        file, linenum, args[0], args[1], args[2]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        } else {
@@ -5591,8 +5591,8 @@ stats_error_parsing:
                                /* comment for this tcpcheck line */
                                if (strcmp(args[3], "comment") == 0) {
                                        if (!*args[4]) {
-                                               Alert("parsing [%s:%d] : '%s' expects a comment string.\n",
-                                                       file, linenum, args[3]);
+                                               ha_alert("parsing [%s:%d] : '%s' expects a comment string.\n",
+                                                        file, linenum, args[3]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5605,8 +5605,8 @@ stats_error_parsing:
                else if (strcmp(args[1], "send-binary") == 0) {
                        if (! *(args[2]) ) {
                                /* SEND binary string expected */
-                               Alert("parsing [%s:%d] : '%s %s %s' expects <BINARY STRING> as argument.\n",
-                                     file, linenum, args[0], args[1], args[2]);
+                               ha_alert("parsing [%s:%d] : '%s %s %s' expects <BINARY STRING> as argument.\n",
+                                        file, linenum, args[0], args[1], args[2]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        } else {
@@ -5617,8 +5617,8 @@ stats_error_parsing:
 
                                tcpcheck->action = TCPCHK_ACT_SEND;
                                if (parse_binary(args[2], &tcpcheck->string, &tcpcheck->string_len, &err) == 0) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' expects <BINARY STRING> as argument, but %s\n",
-                                             file, linenum, args[0], args[1], args[2], err);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <BINARY STRING> as argument, but %s\n",
+                                                file, linenum, args[0], args[1], args[2], err);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5627,8 +5627,8 @@ stats_error_parsing:
                                /* comment for this tcpcheck line */
                                if (strcmp(args[3], "comment") == 0) {
                                        if (!*args[4]) {
-                                               Alert("parsing [%s:%d] : '%s' expects a comment string.\n",
-                                                       file, linenum, args[3]);
+                                               ha_alert("parsing [%s:%d] : '%s' expects a comment string.\n",
+                                                        file, linenum, args[3]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5644,7 +5644,7 @@ stats_error_parsing:
                        int inverse = 0;
 
                        if (curproxy->options2 & PR_O2_EXP_TYPE) {
-                               Alert("parsing [%s:%d] : '%s %s' already specified.\n", file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' already specified.\n", file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -5668,8 +5668,8 @@ stats_error_parsing:
                                char *err = NULL;
 
                                if (!*(args[cur_arg + 1])) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' expects <binary string> as an argument.\n",
-                                             file, linenum, args[0], args[1], ptr_arg);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <binary string> as an argument.\n",
+                                                file, linenum, args[0], args[1], ptr_arg);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5678,8 +5678,8 @@ stats_error_parsing:
 
                                tcpcheck->action = TCPCHK_ACT_EXPECT;
                                if (parse_binary(args[cur_arg + 1], &tcpcheck->string, &tcpcheck->string_len, &err) == 0) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' expects <BINARY STRING> as argument, but %s\n",
-                                             file, linenum, args[0], args[1], args[2], err);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <BINARY STRING> as argument, but %s\n",
+                                                file, linenum, args[0], args[1], args[2], err);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5690,8 +5690,8 @@ stats_error_parsing:
                                cur_arg += 2;
                                if (strcmp(args[cur_arg], "comment") == 0) {
                                        if (!*args[cur_arg + 1]) {
-                                               Alert("parsing [%s:%d] : '%s' expects a comment string.\n",
-                                                       file, linenum, args[cur_arg + 1]);
+                                               ha_alert("parsing [%s:%d] : '%s' expects a comment string.\n",
+                                                        file, linenum, args[cur_arg + 1]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5704,8 +5704,8 @@ stats_error_parsing:
                                struct tcpcheck_rule *tcpcheck;
 
                                if (!*(args[cur_arg + 1])) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' expects <string> as an argument.\n",
-                                             file, linenum, args[0], args[1], ptr_arg);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <string> as an argument.\n",
+                                                file, linenum, args[0], args[1], ptr_arg);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5722,8 +5722,8 @@ stats_error_parsing:
                                cur_arg += 2;
                                if (strcmp(args[cur_arg], "comment") == 0) {
                                        if (!*args[cur_arg + 1]) {
-                                               Alert("parsing [%s:%d] : '%s' expects a comment string.\n",
-                                                       file, linenum, args[cur_arg + 1]);
+                                               ha_alert("parsing [%s:%d] : '%s' expects a comment string.\n",
+                                                        file, linenum, args[cur_arg + 1]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5736,8 +5736,8 @@ stats_error_parsing:
                                struct tcpcheck_rule *tcpcheck;
 
                                if (!*(args[cur_arg + 1])) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' expects <regex> as an argument.\n",
-                                             file, linenum, args[0], args[1], ptr_arg);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' expects <regex> as an argument.\n",
+                                                file, linenum, args[0], args[1], ptr_arg);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -5750,8 +5750,8 @@ stats_error_parsing:
                                tcpcheck->expect_regex = calloc(1, sizeof(*tcpcheck->expect_regex));
                                error = NULL;
                                if (!regex_comp(args[cur_arg + 1], tcpcheck->expect_regex, 1, 1, &error)) {
-                                       Alert("parsing [%s:%d] : '%s %s %s' : bad regular expression '%s': %s.\n",
-                                             file, linenum, args[0], args[1], ptr_arg, args[cur_arg + 1], error);
+                                       ha_alert("parsing [%s:%d] : '%s %s %s' : bad regular expression '%s': %s.\n",
+                                                file, linenum, args[0], args[1], ptr_arg, args[cur_arg + 1], error);
                                        free(error);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -5762,8 +5762,8 @@ stats_error_parsing:
                                cur_arg += 2;
                                if (strcmp(args[cur_arg], "comment") == 0) {
                                        if (!*args[cur_arg + 1]) {
-                                               Alert("parsing [%s:%d] : '%s' expects a comment string.\n",
-                                                       file, linenum, args[cur_arg + 1]);
+                                               ha_alert("parsing [%s:%d] : '%s' expects a comment string.\n",
+                                                        file, linenum, args[cur_arg + 1]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -5773,21 +5773,21 @@ stats_error_parsing:
                                LIST_ADDQ(&curproxy->tcpcheck_rules, &tcpcheck->list);
                        }
                        else {
-                               Alert("parsing [%s:%d] : '%s %s' only supports [!] 'binary', 'string', 'rstring', found '%s'.\n",
-                                     file, linenum, args[0], args[1], ptr_arg);
+                               ha_alert("parsing [%s:%d] : '%s %s' only supports [!] 'binary', 'string', 'rstring', found '%s'.\n",
+                                        file, linenum, args[0], args[1], ptr_arg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                }
                else {
-                       Alert("parsing [%s:%d] : '%s' only supports 'comment', 'connect', 'send' or 'expect'.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' only supports 'comment', 'connect', 'send' or 'expect'.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        }
        else if (!strcmp(args[0], "monitor")) {
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5798,22 +5798,22 @@ stats_error_parsing:
                if (strcmp(args[1], "fail") == 0) {
                        /* add a condition to fail monitor requests */
                        if (strcmp(args[2], "if") != 0 && strcmp(args[2], "unless") != 0) {
-                               Alert("parsing [%s:%d] : '%s %s' requires either 'if' or 'unless' followed by a condition.\n",
-                                     file, linenum, args[0], args[1]);
+                               ha_alert("parsing [%s:%d] : '%s %s' requires either 'if' or 'unless' followed by a condition.\n",
+                                        file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
 
                        if ((cond = build_acl_cond(file, linenum, &curproxy->acl, curproxy, (const char **)args + 2, &errmsg)) == NULL) {
-                               Alert("parsing [%s:%d] : error detected while parsing a '%s %s' condition : %s.\n",
-                                     file, linenum, args[0], args[1], errmsg);
+                               ha_alert("parsing [%s:%d] : error detected while parsing a '%s %s' condition : %s.\n",
+                                        file, linenum, args[0], args[1], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                        LIST_ADDQ(&curproxy->mon_fail_cond, &cond->list);
                }
                else {
-                       Alert("parsing [%s:%d] : '%s' only supports 'fail'.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' only supports 'fail'.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5831,7 +5831,7 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5844,7 +5844,7 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5857,7 +5857,7 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5867,14 +5867,14 @@ stats_error_parsing:
        }
        else if (!strcmp(args[0], "grace")) {  /* grace time (ms) */
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a time in milliseconds.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a time in milliseconds.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                err = parse_time_err(args[1], &val, TIME_UNIT_MS);
                if (err) {
-                       Alert("parsing [%s:%d] : unexpected character '%c' in grace time.\n",
-                             file, linenum, *err);
+                       ha_alert("parsing [%s:%d] : unexpected character '%c' in grace time.\n",
+                                file, linenum, *err);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5888,7 +5888,7 @@ stats_error_parsing:
                struct protocol *proto;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5897,29 +5897,29 @@ stats_error_parsing:
 
                sk = str2sa_range(args[1], NULL, &port1, &port2, &errmsg, NULL, NULL, 1);
                if (!sk) {
-                       Alert("parsing [%s:%d] : '%s' : %s\n", file, linenum, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : '%s' : %s\n", file, linenum, args[0], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                proto = protocol_by_family(sk->ss_family);
                if (!proto || !proto->connect) {
-                       Alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
-                             file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (port1 != port2) {
-                       Alert("parsing [%s:%d] : '%s' : port ranges and offsets are not allowed in '%s'.\n",
-                             file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s' : port ranges and offsets are not allowed in '%s'.\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (!port1) {
-                       Alert("parsing [%s:%d] : '%s' : missing port number in '%s', <addr:port> expected.\n",
-                             file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s' : missing port number in '%s', <addr:port> expected.\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5935,7 +5935,7 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (backend_parse_balance((const char **)args + 1, &errmsg, curproxy) < 0) {
-                       Alert("parsing [%s:%d] : %s %s\n", file, linenum, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : %s %s\n", file, linenum, args[0], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5959,12 +5959,12 @@ stats_error_parsing:
                        curproxy->lbprm.algo |= BE_LB_HASH_MAP;
                }
                else if (strcmp(args[1], "avalanche") == 0) {
-                       Alert("parsing [%s:%d] : experimental feature '%s %s' is not supported anymore, please use '%s map-based sdbm avalanche' instead.\n", file, linenum, args[0], args[1], args[0]);
+                       ha_alert("parsing [%s:%d] : experimental feature '%s %s' is not supported anymore, please use '%s map-based sdbm avalanche' instead.\n", file, linenum, args[0], args[1], args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                else {
-                       Alert("parsing [%s:%d] : '%s' only supports 'consistent' and 'map-based'.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' only supports 'consistent' and 'map-based'.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -5992,7 +5992,7 @@ stats_error_parsing:
                                curproxy->lbprm.algo |= BE_LB_HFCN_CRC32;
                        }
                        else {
-                               Alert("parsing [%s:%d] : '%s' only supports 'sdbm', 'djb2', 'crc32', or 'wt6' hash functions.\n", file, linenum, args[0]);
+                               ha_alert("parsing [%s:%d] : '%s' only supports 'sdbm', 'djb2', 'crc32', or 'wt6' hash functions.\n", file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -6002,7 +6002,7 @@ stats_error_parsing:
                                curproxy->lbprm.algo |= BE_LB_HMOD_AVAL;
                        }
                        else if (*args[3]) {
-                               Alert("parsing [%s:%d] : '%s' only supports 'avalanche' as a modifier for hash functions.\n", file, linenum, args[0]);
+                               ha_alert("parsing [%s:%d] : '%s' only supports 'avalanche' as a modifier for hash functions.\n", file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -6010,25 +6010,25 @@ stats_error_parsing:
        }
        else if (strcmp(args[0], "hash-balance-factor") == 0) {
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                curproxy->lbprm.chash.balance_factor = atol(args[1]);
                if (curproxy->lbprm.chash.balance_factor != 0 && curproxy->lbprm.chash.balance_factor <= 100) {
-                       Alert("parsing [%s:%d] : '%s' must be 0 or greater than 100.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' must be 0 or greater than 100.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        }
        else if (strcmp(args[0], "unique-id-format") == 0) {
                if (!*(args[1])) {
-                       Alert("parsing [%s:%d] : %s expects an argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : %s expects an argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                if (*(args[2])) {
-                       Alert("parsing [%s:%d] : %s expects only one argument, don't forget to escape spaces!\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : %s expects only one argument, don't forget to escape spaces!\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6042,7 +6042,7 @@ stats_error_parsing:
 
        else if (strcmp(args[0], "unique-id-header") == 0) {
                if (!*(args[1])) {
-                       Alert("parsing [%s:%d] : %s expects an argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : %s expects an argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6052,12 +6052,12 @@ stats_error_parsing:
 
        else if (strcmp(args[0], "log-format") == 0) {
                if (!*(args[1])) {
-                       Alert("parsing [%s:%d] : %s expects an argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : %s expects an argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                if (*(args[2])) {
-                       Alert("parsing [%s:%d] : %s expects only one argument, don't forget to escape spaces!\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : %s expects only one argument, don't forget to escape spaces!\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6070,8 +6070,8 @@ stats_error_parsing:
                                oldlogformat = "option tcplog";
                        else if (curproxy->conf.logformat_string == clf_http_log_format)
                                oldlogformat = "option httplog clf";
-                       Warning("parsing [%s:%d]: 'log-format' overrides previous '%s' in 'defaults' section.\n",
-                               file, linenum, oldlogformat);
+                       ha_warning("parsing [%s:%d]: 'log-format' overrides previous '%s' in 'defaults' section.\n",
+                                  file, linenum, oldlogformat);
                }
                if (curproxy->conf.logformat_string != default_http_log_format &&
                    curproxy->conf.logformat_string != default_tcp_log_format &&
@@ -6087,19 +6087,19 @@ stats_error_parsing:
                 * reporting the correct line-number when possible.
                 */
                if (curproxy != &defproxy && !(curproxy->cap & PR_CAP_FE)) {
-                       Warning("parsing [%s:%d] : backend '%s' : 'log-format' directive is ignored in backends.\n",
-                               file, linenum, curproxy->id);
+                       ha_warning("parsing [%s:%d] : backend '%s' : 'log-format' directive is ignored in backends.\n",
+                                  file, linenum, curproxy->id);
                        err_code |= ERR_WARN;
                }
        }
        else if (!strcmp(args[0], "log-format-sd")) {
                if (!*(args[1])) {
-                       Alert("parsing [%s:%d] : %s expects an argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : %s expects an argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                if (*(args[2])) {
-                       Alert("parsing [%s:%d] : %s expects only one argument, don't forget to escape spaces!\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : %s expects only one argument, don't forget to escape spaces!\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6116,14 +6116,14 @@ stats_error_parsing:
                 * reporting the correct line-number when possible.
                 */
                if (curproxy != &defproxy && !(curproxy->cap & PR_CAP_FE)) {
-                       Warning("parsing [%s:%d] : backend '%s' : 'log-format-sd' directive is ignored in backends.\n",
-                               file, linenum, curproxy->id);
+                       ha_warning("parsing [%s:%d] : backend '%s' : 'log-format-sd' directive is ignored in backends.\n",
+                                  file, linenum, curproxy->id);
                        err_code |= ERR_WARN;
                }
        }
        else if (!strcmp(args[0], "log-tag")) {  /* tag to report to syslog */
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects a tag for use in syslog.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a tag for use in syslog.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6135,7 +6135,7 @@ stats_error_parsing:
                struct logsrv *back;
 
                if (*(args[1]) != 0) {
-                       Alert("parsing [%s:%d]:%s : 'no log' does not expect arguments.\n", file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d]:%s : 'no log' does not expect arguments.\n", file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6169,8 +6169,8 @@ stats_error_parsing:
                        if (strcmp(args[arg+2], "len") == 0) {
                                len = atoi(args[arg+3]);
                                if (len < 80 || len > 65535) {
-                                       Alert("parsing [%s:%d] : invalid log length '%s', must be between 80 and 65535.\n",
-                                             file, linenum, args[arg+3]);
+                                       ha_alert("parsing [%s:%d] : invalid log length '%s', must be between 80 and 65535.\n",
+                                                file, linenum, args[arg+3]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -6189,7 +6189,7 @@ stats_error_parsing:
                        if (strcmp(args[arg+2], "format") == 0) {
                                logsrv->format = get_log_format(args[arg+3]);
                                if (logsrv->format < 0) {
-                                       Alert("parsing [%s:%d] : unknown log format '%s'\n", file, linenum, args[arg+3]);
+                                       ha_alert("parsing [%s:%d] : unknown log format '%s'\n", file, linenum, args[arg+3]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -6203,7 +6203,7 @@ stats_error_parsing:
 
                        logsrv->facility = get_log_facility(args[arg+2]);
                        if (logsrv->facility < 0) {
-                               Alert("parsing [%s:%d] : unknown log facility '%s'\n", file, linenum, args[arg+2]);
+                               ha_alert("parsing [%s:%d] : unknown log facility '%s'\n", file, linenum, args[arg+2]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
 
@@ -6213,7 +6213,7 @@ stats_error_parsing:
                        if (*(args[arg+3])) {
                                logsrv->level = get_log_level(args[arg+3]);
                                if (logsrv->level < 0) {
-                                       Alert("parsing [%s:%d] : unknown optional log level '%s'\n", file, linenum, args[arg+3]);
+                                       ha_alert("parsing [%s:%d] : unknown optional log level '%s'\n", file, linenum, args[arg+3]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
 
@@ -6224,7 +6224,7 @@ stats_error_parsing:
                        if (*(args[arg+4])) {
                                logsrv->minlvl = get_log_level(args[arg+4]);
                                if (logsrv->minlvl < 0) {
-                                       Alert("parsing [%s:%d] : unknown optional minimum log level '%s'\n", file, linenum, args[arg+4]);
+                                       ha_alert("parsing [%s:%d] : unknown optional minimum log level '%s'\n", file, linenum, args[arg+4]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
 
@@ -6233,7 +6233,7 @@ stats_error_parsing:
 
                        sk = str2sa_range(args[1], NULL, &port1, &port2, &errmsg, NULL, NULL, 1);
                        if (!sk) {
-                               Alert("parsing [%s:%d] : '%s': %s\n", file, linenum, args[0], errmsg);
+                               ha_alert("parsing [%s:%d] : '%s': %s\n", file, linenum, args[0], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -6242,8 +6242,8 @@ stats_error_parsing:
 
                        if (sk->ss_family == AF_INET || sk->ss_family == AF_INET6) {
                                if (port1 != port2) {
-                                       Alert("parsing [%s:%d] : '%s' : port ranges and offsets are not allowed in '%s'\n",
-                                             file, linenum, args[0], args[1]);
+                                       ha_alert("parsing [%s:%d] : '%s' : port ranges and offsets are not allowed in '%s'\n",
+                                                file, linenum, args[0], args[1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -6255,8 +6255,8 @@ stats_error_parsing:
                        LIST_ADDQ(&curproxy->logsrvs, &logsrv->list);
                }
                else {
-                       Alert("parsing [%s:%d] : 'log' expects either <address[:port]> and <facility> or 'global' as arguments.\n",
-                             file, linenum);
+                       ha_alert("parsing [%s:%d] : 'log' expects either <address[:port]> and <facility> or 'global' as arguments.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6271,8 +6271,8 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects <addr>[:<port>], and optionally '%s' <addr>, and '%s' <name>.\n",
-                             file, linenum, "source", "usesrc", "interface");
+                       ha_alert("parsing [%s:%d] : '%s' expects <addr>[:<port>], and optionally '%s' <addr>, and '%s' <name>.\n",
+                                file, linenum, "source", "usesrc", "interface");
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6285,23 +6285,23 @@ stats_error_parsing:
 
                sk = str2sa_range(args[1], NULL, &port1, &port2, &errmsg, NULL, NULL, 1);
                if (!sk) {
-                       Alert("parsing [%s:%d] : '%s %s' : %s\n",
-                             file, linenum, args[0], args[1], errmsg);
+                       ha_alert("parsing [%s:%d] : '%s %s' : %s\n",
+                                file, linenum, args[0], args[1], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                proto = protocol_by_family(sk->ss_family);
                if (!proto || !proto->connect) {
-                       Alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
-                             file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if (port1 != port2) {
-                       Alert("parsing [%s:%d] : '%s' : port ranges and offsets are not allowed in '%s'\n",
-                             file, linenum, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : '%s' : port ranges and offsets are not allowed in '%s'\n",
+                                file, linenum, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6314,8 +6314,8 @@ stats_error_parsing:
                        if (!strcmp(args[cur_arg], "usesrc")) {  /* address to use outside */
 #if defined(CONFIG_HAP_TRANSPARENT)
                                if (!*args[cur_arg + 1]) {
-                                       Alert("parsing [%s:%d] : '%s' expects <addr>[:<port>], 'client', or 'clientip' as argument.\n",
-                                             file, linenum, "usesrc");
+                                       ha_alert("parsing [%s:%d] : '%s' expects <addr>[:<port>], 'client', or 'clientip' as argument.\n",
+                                                file, linenum, "usesrc");
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -6359,9 +6359,9 @@ stats_error_parsing:
                                        }
 
                                        if (curproxy->conn_src.bind_hdr_occ < -MAX_HDR_HISTORY) {
-                                               Alert("parsing [%s:%d] : usesrc hdr_ip(name,num) does not support negative"
-                                                     " occurrences values smaller than %d.\n",
-                                                     file, linenum, MAX_HDR_HISTORY);
+                                               ha_alert("parsing [%s:%d] : usesrc hdr_ip(name,num) does not support negative"
+                                                        " occurrences values smaller than %d.\n",
+                                                        file, linenum, MAX_HDR_HISTORY);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -6370,23 +6370,23 @@ stats_error_parsing:
 
                                        sk = str2sa_range(args[cur_arg + 1], NULL, &port1, &port2, &errmsg, NULL, NULL, 1);
                                        if (!sk) {
-                                               Alert("parsing [%s:%d] : '%s %s' : %s\n",
-                                                     file, linenum, args[cur_arg], args[cur_arg+1], errmsg);
+                                               ha_alert("parsing [%s:%d] : '%s %s' : %s\n",
+                                                        file, linenum, args[cur_arg], args[cur_arg+1], errmsg);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
 
                                        proto = protocol_by_family(sk->ss_family);
                                        if (!proto || !proto->connect) {
-                                               Alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
-                                                     file, linenum, args[cur_arg], args[cur_arg+1]);
+                                               ha_alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
+                                                        file, linenum, args[cur_arg], args[cur_arg+1]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
 
                                        if (port1 != port2) {
-                                               Alert("parsing [%s:%d] : '%s' : port ranges and offsets are not allowed in '%s'\n",
-                                                     file, linenum, args[cur_arg], args[cur_arg + 1]);
+                                               ha_alert("parsing [%s:%d] : '%s' : port ranges and offsets are not allowed in '%s'\n",
+                                                        file, linenum, args[cur_arg], args[cur_arg + 1]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
@@ -6395,8 +6395,8 @@ stats_error_parsing:
                                }
                                global.last_checks |= LSTCHK_NETADM;
 #else  /* no TPROXY support */
-                               Alert("parsing [%s:%d] : '%s' not allowed here because support for TPROXY was not compiled in.\n",
-                                     file, linenum, "usesrc");
+                               ha_alert("parsing [%s:%d] : '%s' not allowed here because support for TPROXY was not compiled in.\n",
+                                        file, linenum, "usesrc");
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
 #endif
@@ -6407,8 +6407,8 @@ stats_error_parsing:
                        if (!strcmp(args[cur_arg], "interface")) { /* specifically bind to this interface */
 #ifdef SO_BINDTODEVICE
                                if (!*args[cur_arg + 1]) {
-                                       Alert("parsing [%s:%d] : '%s' : missing interface name.\n",
-                                             file, linenum, args[0]);
+                                       ha_alert("parsing [%s:%d] : '%s' : missing interface name.\n",
+                                                file, linenum, args[0]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -6417,30 +6417,30 @@ stats_error_parsing:
                                curproxy->conn_src.iface_len  = strlen(curproxy->conn_src.iface_name);
                                global.last_checks |= LSTCHK_NETADM;
 #else
-                               Alert("parsing [%s:%d] : '%s' : '%s' option not implemented.\n",
-                                     file, linenum, args[0], args[cur_arg]);
+                               ha_alert("parsing [%s:%d] : '%s' : '%s' option not implemented.\n",
+                                        file, linenum, args[0], args[cur_arg]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
 #endif
                                cur_arg += 2;
                                continue;
                        }
-                       Alert("parsing [%s:%d] : '%s' only supports optional keywords '%s' and '%s'.\n",
-                             file, linenum, args[0], "interface", "usesrc");
+                       ha_alert("parsing [%s:%d] : '%s' only supports optional keywords '%s' and '%s'.\n",
+                                file, linenum, args[0], "interface", "usesrc");
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        }
        else if (!strcmp(args[0], "usesrc")) {  /* address to use outside: needs "source" first */
-               Alert("parsing [%s:%d] : '%s' only allowed after a '%s' statement.\n",
-                     file, linenum, "usesrc", "source");
+               ha_alert("parsing [%s:%d] : '%s' only allowed after a '%s' statement.\n",
+                        file, linenum, "usesrc", "source");
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
        else if (!strcmp(args[0], "cliexp") || !strcmp(args[0], "reqrep")) {  /* replace request header from a regex */
                if (*(args[2]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects <search> and <replace> as arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <search> and <replace> as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6488,8 +6488,8 @@ stats_error_parsing:
        }
        else if (!strcmp(args[0], "reqirep")) {  /* replace request header from a regex, ignoring case */
                if (*(args[2]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects <search> and <replace> as arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <search> and <replace> as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6539,7 +6539,7 @@ stats_error_parsing:
                struct cond_wordlist *wl;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6547,15 +6547,15 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects <header> as an argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <header> as an argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                if ((strcmp(args[2], "if") == 0 || strcmp(args[2], "unless") == 0)) {
                        if ((cond = build_acl_cond(file, linenum, &curproxy->acl, curproxy, (const char **)args+2, &errmsg)) == NULL) {
-                               Alert("parsing [%s:%d] : error detected while parsing a '%s' condition : %s.\n",
-                                     file, linenum, args[0], errmsg);
+                               ha_alert("parsing [%s:%d] : error detected while parsing a '%s' condition : %s.\n",
+                                        file, linenum, args[0], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -6564,8 +6564,8 @@ stats_error_parsing:
                                                          file, linenum);
                }
                else if (*args[2]) {
-                       Alert("parsing [%s:%d] : '%s' : Expecting nothing, 'if', or 'unless', got '%s'.\n",
-                             file, linenum, args[0], args[2]);
+                       ha_alert("parsing [%s:%d] : '%s' : Expecting nothing, 'if', or 'unless', got '%s'.\n",
+                                file, linenum, args[0], args[2]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6578,8 +6578,8 @@ stats_error_parsing:
        }
        else if (!strcmp(args[0], "srvexp") || !strcmp(args[0], "rsprep")) {  /* replace response header from a regex */
                if (*(args[2]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects <search> and <replace> as arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <search> and <replace> as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6606,8 +6606,8 @@ stats_error_parsing:
        }
        else if (!strcmp(args[0], "rspirep")) {  /* replace response header from a regex ignoring case */
                if (*(args[2]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects <search> and <replace> as arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <search> and <replace> as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6636,7 +6636,7 @@ stats_error_parsing:
                struct cond_wordlist *wl;
 
                if (curproxy == &defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6644,15 +6644,15 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (*(args[1]) == 0) {
-                       Alert("parsing [%s:%d] : '%s' expects <header> as an argument.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects <header> as an argument.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        
                if ((strcmp(args[2], "if") == 0 || strcmp(args[2], "unless") == 0)) {
                        if ((cond = build_acl_cond(file, linenum, &curproxy->acl, curproxy, (const char **)args+2, &errmsg)) == NULL) {
-                               Alert("parsing [%s:%d] : error detected while parsing a '%s' condition : %s.\n",
-                                     file, linenum, args[0], errmsg);
+                               ha_alert("parsing [%s:%d] : error detected while parsing a '%s' condition : %s.\n",
+                                        file, linenum, args[0], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -6661,8 +6661,8 @@ stats_error_parsing:
                                                          file, linenum);
                }
                else if (*args[2]) {
-                       Alert("parsing [%s:%d] : '%s' : Expecting nothing, 'if', or 'unless', got '%s'.\n",
-                             file, linenum, args[0], args[2]);
+                       ha_alert("parsing [%s:%d] : '%s' : Expecting nothing, 'if', or 'unless', got '%s'.\n",
+                                file, linenum, args[0], args[2]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6682,7 +6682,7 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (*(args[2]) == 0) {
-                       Alert("parsing [%s:%d] : <%s> expects <status_code> and <url> as arguments.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : <%s> expects <status_code> and <url> as arguments.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6707,8 +6707,8 @@ stats_error_parsing:
                }
 
                if (rc >= HTTP_ERR_SIZE) {
-                       Warning("parsing [%s:%d] : status code %d not handled by '%s', error relocation will be ignored.\n",
-                               file, linenum, errnum, args[0]);
+                       ha_warning("parsing [%s:%d] : status code %d not handled by '%s', error relocation will be ignored.\n",
+                                  file, linenum, errnum, args[0]);
                        free(err);
                }
        }
@@ -6721,15 +6721,15 @@ stats_error_parsing:
                        err_code |= ERR_WARN;
 
                if (*(args[2]) == 0) {
-                       Alert("parsing [%s:%d] : <%s> expects <status_code> and <file> as arguments.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : <%s> expects <status_code> and <file> as arguments.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                fd = open(args[2], O_RDONLY);
                if ((fd < 0) || (fstat(fd, &stat) < 0)) {
-                       Alert("parsing [%s:%d] : error opening file <%s> for custom error message <%s>.\n",
-                             file, linenum, args[2], args[1]);
+                       ha_alert("parsing [%s:%d] : error opening file <%s> for custom error message <%s>.\n",
+                                file, linenum, args[2], args[1]);
                        if (fd >= 0)
                                close(fd);
                        err_code |= ERR_ALERT | ERR_FATAL;
@@ -6739,8 +6739,8 @@ stats_error_parsing:
                if (stat.st_size <= global.tune.bufsize) {
                        errlen = stat.st_size;
                } else {
-                       Warning("parsing [%s:%d] : custom error message file <%s> larger than %d bytes. Truncating.\n",
-                               file, linenum, args[2], global.tune.bufsize);
+                       ha_warning("parsing [%s:%d] : custom error message file <%s> larger than %d bytes. Truncating.\n",
+                                  file, linenum, args[2], global.tune.bufsize);
                        err_code |= ERR_WARN;
                        errlen = global.tune.bufsize;
                }
@@ -6748,8 +6748,8 @@ stats_error_parsing:
                err = malloc(errlen); /* malloc() must succeed during parsing */
                errnum = read(fd, err, errlen);
                if (errnum != errlen) {
-                       Alert("parsing [%s:%d] : error reading file <%s> for custom error message <%s>.\n",
-                             file, linenum, args[2], args[1]);
+                       ha_alert("parsing [%s:%d] : error reading file <%s> for custom error message <%s>.\n",
+                                file, linenum, args[2], args[1]);
                        close(fd);
                        free(err);
                        err_code |= ERR_ALERT | ERR_FATAL;
@@ -6767,8 +6767,8 @@ stats_error_parsing:
                }
 
                if (rc >= HTTP_ERR_SIZE) {
-                       Warning("parsing [%s:%d] : status code %d not handled by '%s', error customization will be ignored.\n",
-                               file, linenum, errnum, args[0]);
+                       ha_warning("parsing [%s:%d] : status code %d not handled by '%s', error customization will be ignored.\n",
+                                  file, linenum, errnum, args[0]);
                        err_code |= ERR_WARN;
                        free(err);
                }
@@ -6785,12 +6785,12 @@ stats_error_parsing:
                                        /* prepare error message just in case */
                                        rc = kwl->kw[index].parse(args, CFG_LISTEN, curproxy, &defproxy, file, linenum, &errmsg);
                                        if (rc < 0) {
-                                               Alert("parsing [%s:%d] : %s\n", file, linenum, errmsg);
+                                               ha_alert("parsing [%s:%d] : %s\n", file, linenum, errmsg);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
                                        else if (rc > 0) {
-                                               Warning("parsing [%s:%d] : %s\n", file, linenum, errmsg);
+                                               ha_warning("parsing [%s:%d] : %s\n", file, linenum, errmsg);
                                                err_code |= ERR_WARN;
                                                goto out;
                                        }
@@ -6799,7 +6799,7 @@ stats_error_parsing:
                        }
                }
 
-               Alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], cursection);
+               ha_alert("parsing [%s:%d] : unknown keyword '%s' in '%s' section\n", file, linenum, args[0], cursection);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -6824,19 +6824,19 @@ cfg_parse_netns(const char *file, int linenum, char **args, int kwm)
                while (*(current = args[idx++])) {
                        err = invalid_char(current);
                        if (err) {
-                               Alert("parsing [%s:%d]: character '%c' is not permitted in '%s' name '%s'.\n",
-                                     file, linenum, *err, item, current);
+                               ha_alert("parsing [%s:%d]: character '%c' is not permitted in '%s' name '%s'.\n",
+                                        file, linenum, *err, item, current);
                                return ERR_ALERT | ERR_FATAL;
                        }
 
                        if (netns_store_lookup(current, strlen(current))) {
-                               Alert("parsing [%s:%d]: Namespace '%s' is already added.\n",
-                                     file, linenum, current);
+                               ha_alert("parsing [%s:%d]: Namespace '%s' is already added.\n",
+                                        file, linenum, current);
                                return ERR_ALERT | ERR_FATAL;
                        }
                        if (!netns_store_insert(current)) {
-                               Alert("parsing [%s:%d]: Cannot open namespace '%s'.\n",
-                                     file, linenum, current);
+                               ha_alert("parsing [%s:%d]: Cannot open namespace '%s'.\n",
+                                        file, linenum, current);
                                return ERR_ALERT | ERR_FATAL;
                        }
                }
@@ -6844,8 +6844,8 @@ cfg_parse_netns(const char *file, int linenum, char **args, int kwm)
 
        return 0;
 #else
-       Alert("parsing [%s:%d]: namespace support is not compiled in.",
-                       file, linenum);
+       ha_alert("parsing [%s:%d]: namespace support is not compiled in.",
+                file, linenum);
        return ERR_ALERT | ERR_FATAL;
 #endif
 }
@@ -6861,8 +6861,8 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
                struct userlist *newul;
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d]: '%s' expects <name> as arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects <name> as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6871,30 +6871,30 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d]: character '%c' is not permitted in '%s' name '%s'.\n",
-                             file, linenum, *err, args[0], args[1]);
+                       ha_alert("parsing [%s:%d]: character '%c' is not permitted in '%s' name '%s'.\n",
+                                file, linenum, *err, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                for (newul = userlist; newul; newul = newul->next)
                        if (!strcmp(newul->name, args[1])) {
-                               Warning("parsing [%s:%d]: ignoring duplicated userlist '%s'.\n",
-                                       file, linenum, args[1]);
+                               ha_warning("parsing [%s:%d]: ignoring duplicated userlist '%s'.\n",
+                                          file, linenum, args[1]);
                                err_code |= ERR_WARN;
                                goto out;
                        }
 
                newul = calloc(1, sizeof(*newul));
                if (!newul) {
-                       Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
 
                newul->name = strdup(args[1]);
                if (!newul->name) {
-                       Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        free(newul);
                        goto out;
@@ -6909,16 +6909,16 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
                struct auth_groups *ag;
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d]: '%s' expects <name> as arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects <name> as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d]: character '%c' is not permitted in '%s' name '%s'.\n",
-                             file, linenum, *err, args[0], args[1]);
+                       ha_alert("parsing [%s:%d]: character '%c' is not permitted in '%s' name '%s'.\n",
+                                file, linenum, *err, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6928,22 +6928,22 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
 
                for (ag = userlist->groups; ag; ag = ag->next)
                        if (!strcmp(ag->name, args[1])) {
-                               Warning("parsing [%s:%d]: ignoring duplicated group '%s' in userlist '%s'.\n",
-                                     file, linenum, args[1], userlist->name);
+                               ha_warning("parsing [%s:%d]: ignoring duplicated group '%s' in userlist '%s'.\n",
+                                          file, linenum, args[1], userlist->name);
                                err_code |= ERR_ALERT;
                                goto out;
                        }
 
                ag = calloc(1, sizeof(*ag));
                if (!ag) {
-                       Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
 
                ag->name = strdup(args[1]);
                if (!ag->name) {
-                       Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        free(ag);
                        goto out;
@@ -6957,8 +6957,8 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
                                cur_arg += 2;
                                continue;
                        } else {
-                               Alert("parsing [%s:%d]: '%s' only supports 'users' option.\n",
-                                     file, linenum, args[0]);
+                               ha_alert("parsing [%s:%d]: '%s' only supports 'users' option.\n",
+                                        file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                free(ag->groupusers);
                                free(ag->name);
@@ -6975,8 +6975,8 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
                int cur_arg;
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d]: '%s' expects <name> as arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: '%s' expects <name> as arguments.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -6985,15 +6985,15 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
 
                for (newuser = userlist->users; newuser; newuser = newuser->next)
                        if (!strcmp(newuser->user, args[1])) {
-                               Warning("parsing [%s:%d]: ignoring duplicated user '%s' in userlist '%s'.\n",
-                                     file, linenum, args[1], userlist->name);
+                               ha_warning("parsing [%s:%d]: ignoring duplicated user '%s' in userlist '%s'.\n",
+                                          file, linenum, args[1], userlist->name);
                                err_code |= ERR_ALERT;
                                goto out;
                        }
 
                newuser = calloc(1, sizeof(*newuser));
                if (!newuser) {
-                       Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -7009,14 +7009,14 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
                        if (!strcmp(args[cur_arg], "password")) {
 #ifdef CONFIG_HAP_CRYPT
                                if (!crypt("", args[cur_arg + 1])) {
-                                       Alert("parsing [%s:%d]: the encrypted password used for user '%s' is not supported by crypt(3).\n",
-                                               file, linenum, newuser->user);
+                                       ha_alert("parsing [%s:%d]: the encrypted password used for user '%s' is not supported by crypt(3).\n",
+                                                file, linenum, newuser->user);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
 #else
-                               Warning("parsing [%s:%d]: no crypt(3) support compiled, encrypted passwords will not work.\n",
-                                       file, linenum);
+                               ha_warning("parsing [%s:%d]: no crypt(3) support compiled, encrypted passwords will not work.\n",
+                                          file, linenum);
                                err_code |= ERR_ALERT;
 #endif
                                newuser->pass = strdup(args[cur_arg + 1]);
@@ -7032,14 +7032,14 @@ cfg_parse_users(const char *file, int linenum, char **args, int kwm)
                                cur_arg += 2;
                                continue;
                        } else {
-                               Alert("parsing [%s:%d]: '%s' only supports 'password', 'insecure-password' and 'groups' options.\n",
-                                     file, linenum, args[0]);
+                               ha_alert("parsing [%s:%d]: '%s' only supports 'password', 'insecure-password' and 'groups' options.\n",
+                                        file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                }
        } else {
-               Alert("parsing [%s:%d]: unknown keyword '%s' in '%s' section\n", file, linenum, args[0], "users");
+               ha_alert("parsing [%s:%d]: unknown keyword '%s' in '%s' section\n", file, linenum, args[0], "users");
                err_code |= ERR_ALERT | ERR_FATAL;
        }
 
@@ -7059,8 +7059,8 @@ cfg_parse_scope(const char *file, int linenum, char *line)
 
        /* Detect end of scope declaration */
        if (!end || end == beg) {
-               Alert("parsing [%s:%d] : empty scope name is forbidden.\n",
-                     file, linenum);
+               ha_alert("parsing [%s:%d] : empty scope name is forbidden.\n",
+                        file, linenum);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -7069,8 +7069,8 @@ cfg_parse_scope(const char *file, int linenum, char *line)
        scope = my_strndup(beg, end-beg);
        err = invalid_char(scope);
        if (err) {
-               Alert("parsing [%s:%d] : character '%c' is not permitted in a scope name.\n",
-                     file, linenum, *err);
+               ha_alert("parsing [%s:%d] : character '%c' is not permitted in a scope name.\n",
+                        file, linenum, *err);
                err_code |= ERR_ALERT | ERR_ABORT;
                goto out;
        }
@@ -7080,8 +7080,8 @@ cfg_parse_scope(const char *file, int linenum, char *line)
        while (isspace((unsigned char)*line))
                line++;
        if (*line && *line != '#' && *line != '\n' && *line != '\r') {
-               Alert("parsing [%s:%d] : character '%c' is not permitted after scope declaration.\n",
-                     file, linenum, *line);
+               ha_alert("parsing [%s:%d] : character '%c' is not permitted after scope declaration.\n",
+                        file, linenum, *line);
                err_code |= ERR_ALERT | ERR_ABORT;
                goto out;
        }
@@ -7118,7 +7118,7 @@ int readcfgfile(const char *file)
        int readbytes = 0;
 
        if ((thisline = malloc(sizeof(*thisline) * linesize)) == NULL) {
-               Alert("parsing [%s] : out of memory.\n", file);
+               ha_alert("parsing [%s] : out of memory.\n", file);
                return -1;
        }
 
@@ -7149,8 +7149,8 @@ next_line:
 
                        newline = realloc(thisline, sizeof(*thisline) * newlinesize);
                        if (newline == NULL) {
-                               Alert("parsing [%s:%d]: line too long, cannot allocate memory.\n",
-                                     file, linenum);
+                               ha_alert("parsing [%s:%d]: line too long, cannot allocate memory.\n",
+                                        file, linenum);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                continue;
                        }
@@ -7225,7 +7225,7 @@ next_line:
                                                skip = 3;
                                        }
                                        else {
-                                               Alert("parsing [%s:%d] : invalid or incomplete '\\x' sequence in '%s'.\n", file, linenum, args[0]);
+                                               ha_alert("parsing [%s:%d] : invalid or incomplete '\\x' sequence in '%s'.\n", file, linenum, args[0]);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                        }
                                } else if (line[1] == '"') {
@@ -7276,7 +7276,7 @@ next_line:
                                }
 
                                if (!isalpha((int)(unsigned char)*var_beg) && *var_beg != '_') {
-                                       Alert("parsing [%s:%d] : Variable expansion: Unrecognized character '%c' in variable name.\n", file, linenum, *var_beg);
+                                       ha_alert("parsing [%s:%d] : Variable expansion: Unrecognized character '%c' in variable name.\n", file, linenum, *var_beg);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto next_line; /* skip current line */
                                }
@@ -7295,7 +7295,7 @@ next_line:
                                                var_end++;
                                                braces = 0;
                                        } else {
-                                               Alert("parsing [%s:%d] : Variable expansion: Mismatched braces.\n", file, linenum);
+                                               ha_alert("parsing [%s:%d] : Variable expansion: Mismatched braces.\n", file, linenum);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto next_line; /* skip current line */
                                        }
@@ -7309,7 +7309,7 @@ next_line:
 
                                        newline = realloc(thisline, newlinesize * sizeof(*thisline));
                                        if (newline == NULL) {
-                                               Alert("parsing [%s:%d] : Variable expansion: Not enough memory.\n", file, linenum);
+                                               ha_alert("parsing [%s:%d] : Variable expansion: Not enough memory.\n", file, linenum);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto next_line; /* slip current line */
                                        }
@@ -7346,12 +7346,12 @@ next_line:
                }
 
                if (dquote) {
-                       Alert("parsing [%s:%d] : Mismatched double quotes.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : Mismatched double quotes.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
 
                if (squote) {
-                       Alert("parsing [%s:%d] : Mismatched simple quotes.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : Mismatched simple quotes.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
 
@@ -7368,8 +7368,8 @@ next_line:
                                line++;
                        *line = '\0';
 
-                       Alert("parsing [%s:%d]: line too long, truncating at word %d, position %ld: <%s>.\n",
-                             file, linenum, arg + 1, (long)(args[arg] - thisline + 1), args[arg]);
+                       ha_alert("parsing [%s:%d]: line too long, truncating at word %d, position %ld: <%s>.\n",
+                                file, linenum, arg + 1, (long)(args[arg] - thisline + 1), args[arg]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        args[arg] = line;
                }
@@ -7400,7 +7400,7 @@ next_line:
 
                if (kwm != KWM_STD && strcmp(args[0], "option") != 0 &&         \
                     strcmp(args[0], "log") != 0) {
-                       Alert("parsing [%s:%d]: negation/default currently supported only for options and log.\n", file, linenum);
+                       ha_alert("parsing [%s:%d]: negation/default currently supported only for options and log.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
 
@@ -7414,7 +7414,7 @@ next_line:
                }
 
                if (!cs) {
-                       Alert("parsing [%s:%d]: unknown keyword '%s' out of section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: unknown keyword '%s' out of section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                } else {
                        /* else it's a section keyword */
@@ -7595,11 +7595,11 @@ int check_config_validity()
 
                        curproxy->bind_proc &= nbits(global.nbproc);
                        if (!curproxy->bind_proc && nbproc == 1) {
-                               Warning("Proxy '%s': the process specified on the 'bind-process' directive refers to a process number that is higher than global.nbproc. The proxy has been forced to run on process 1 only.\n", curproxy->id);
+                               ha_warning("Proxy '%s': the process specified on the 'bind-process' directive refers to a process number that is higher than global.nbproc. The proxy has been forced to run on process 1 only.\n", curproxy->id);
                                curproxy->bind_proc = 1;
                        }
                        else if (!curproxy->bind_proc && nbproc > 1) {
-                               Warning("Proxy '%s': all processes specified on the 'bind-process' directive refer to numbers that are all higher than global.nbproc. The directive was ignored and the proxy will run on all processes.\n", curproxy->id);
+                               ha_warning("Proxy '%s': all processes specified on the 'bind-process' directive refer to numbers that are all higher than global.nbproc. The directive was ignored and the proxy will run on all processes.\n", curproxy->id);
                                curproxy->bind_proc = 0;
                        }
                }
@@ -7616,16 +7616,16 @@ int check_config_validity()
 #ifdef OPENSSL_NPN_NEGOTIATED
                                /* check NPN */
                                if (bind_conf->ssl_conf.npn_str && strcmp(bind_conf->ssl_conf.npn_str, "\002h2") == 0) {
-                                       Alert("config : HTTP frontend '%s' enables HTTP/2 via NPN at [%s:%d], so global.tune.bufsize must be at least 16384 bytes (%d now).\n",
-                                             curproxy->id, bind_conf->file, bind_conf->line, global.tune.bufsize);
+                                       ha_alert("config : HTTP frontend '%s' enables HTTP/2 via NPN at [%s:%d], so global.tune.bufsize must be at least 16384 bytes (%d now).\n",
+                                                curproxy->id, bind_conf->file, bind_conf->line, global.tune.bufsize);
                                        cfgerr++;
                                }
 #endif
 #ifdef TLSEXT_TYPE_application_layer_protocol_negotiation
                                /* check ALPN */
                                if (bind_conf->ssl_conf.alpn_str && strcmp(bind_conf->ssl_conf.alpn_str, "\002h2") == 0) {
-                                       Alert("config : HTTP frontend '%s' enables HTTP/2 via ALPN at [%s:%d], so global.tune.bufsize must be at least 16384 bytes (%d now).\n",
-                                             curproxy->id, bind_conf->file, bind_conf->line, global.tune.bufsize);
+                                       ha_alert("config : HTTP frontend '%s' enables HTTP/2 via ALPN at [%s:%d], so global.tune.bufsize must be at least 16384 bytes (%d now).\n",
+                                                curproxy->id, bind_conf->file, bind_conf->line, global.tune.bufsize);
                                        cfgerr++;
                                }
 #endif
@@ -7644,13 +7644,13 @@ int check_config_validity()
                        bind_conf->bind_proc &= mask;
 
                        if (!bind_conf->bind_proc && nbproc == 1) {
-                               Warning("Proxy '%s': the process number specified on the 'process' directive of 'bind %s' at [%s:%d] refers to a process not covered by the proxy. This has been fixed by forcing it to run on the proxy's first process only.\n",
-                                       curproxy->id, bind_conf->arg, bind_conf->file, bind_conf->line);
+                               ha_warning("Proxy '%s': the process number specified on the 'process' directive of 'bind %s' at [%s:%d] refers to a process not covered by the proxy. This has been fixed by forcing it to run on the proxy's first process only.\n",
+                                          curproxy->id, bind_conf->arg, bind_conf->file, bind_conf->line);
                                bind_conf->bind_proc = mask & ~(mask - 1);
                        }
                        else if (!bind_conf->bind_proc && nbproc > 1) {
-                               Warning("Proxy '%s': the process range specified on the 'process' directive of 'bind %s' at [%s:%d] only refers to processes not covered by the proxy. The directive was ignored so that all of the proxy's processes are used.\n",
-                                       curproxy->id, bind_conf->arg, bind_conf->file, bind_conf->line);
+                               ha_warning("Proxy '%s': the process range specified on the 'process' directive of 'bind %s' at [%s:%d] only refers to processes not covered by the proxy. The directive was ignored so that all of the proxy's processes are used.\n",
+                                          curproxy->id, bind_conf->arg, bind_conf->file, bind_conf->line);
                                bind_conf->bind_proc = 0;
                        }
                }
@@ -7659,14 +7659,14 @@ int check_config_validity()
                case PR_MODE_HEALTH:
                        cfgerr += proxy_cfg_ensure_no_http(curproxy);
                        if (!(curproxy->cap & PR_CAP_FE)) {
-                               Alert("config : %s '%s' cannot be in health mode as it has no frontend capability.\n",
-                                     proxy_type_str(curproxy), curproxy->id);
+                               ha_alert("config : %s '%s' cannot be in health mode as it has no frontend capability.\n",
+                                        proxy_type_str(curproxy), curproxy->id);
                                cfgerr++;
                        }
 
                        if (curproxy->srv != NULL)
-                               Warning("config : servers will be ignored for %s '%s'.\n",
-                                       proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : servers will be ignored for %s '%s'.\n",
+                                          proxy_type_str(curproxy), curproxy->id);
                        break;
 
                case PR_MODE_TCP:
@@ -7679,28 +7679,28 @@ int check_config_validity()
                }
 
                if ((curproxy->cap & PR_CAP_FE) && LIST_ISEMPTY(&curproxy->conf.listeners)) {
-                       Warning("config : %s '%s' has no 'bind' directive. Please declare it as a backend if this was intended.\n",
-                               proxy_type_str(curproxy), curproxy->id);
+                       ha_warning("config : %s '%s' has no 'bind' directive. Please declare it as a backend if this was intended.\n",
+                                  proxy_type_str(curproxy), curproxy->id);
                        err_code |= ERR_WARN;
                }
 
                if ((curproxy->cap & PR_CAP_BE) && (curproxy->mode != PR_MODE_HEALTH)) {
                        if (curproxy->lbprm.algo & BE_LB_KIND) {
                                if (curproxy->options & PR_O_TRANSP) {
-                                       Alert("config : %s '%s' cannot use both transparent and balance mode.\n",
-                                             proxy_type_str(curproxy), curproxy->id);
+                                       ha_alert("config : %s '%s' cannot use both transparent and balance mode.\n",
+                                                proxy_type_str(curproxy), curproxy->id);
                                        cfgerr++;
                                }
 #ifdef WE_DONT_SUPPORT_SERVERLESS_LISTENERS
                                else if (curproxy->srv == NULL) {
-                                       Alert("config : %s '%s' needs at least 1 server in balance mode.\n",
-                                             proxy_type_str(curproxy), curproxy->id);
+                                       ha_alert("config : %s '%s' needs at least 1 server in balance mode.\n",
+                                                proxy_type_str(curproxy), curproxy->id);
                                        cfgerr++;
                                }
 #endif
                                else if (curproxy->options & PR_O_DISPATCH) {
-                                       Warning("config : dispatch address of %s '%s' will be ignored in balance mode.\n",
-                                               proxy_type_str(curproxy), curproxy->id);
+                                       ha_warning("config : dispatch address of %s '%s' will be ignored in balance mode.\n",
+                                                  proxy_type_str(curproxy), curproxy->id);
                                        err_code |= ERR_WARN;
                                }
                        }
@@ -7723,14 +7723,14 @@ int check_config_validity()
 
                if ((curproxy->options2 & PR_O2_CHK_ANY) != PR_O2_HTTP_CHK) {
                        if (curproxy->options & PR_O_DISABLE404) {
-                               Warning("config : '%s' will be ignored for %s '%s' (requires 'option httpchk').\n",
-                                       "disable-on-404", proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : '%s' will be ignored for %s '%s' (requires 'option httpchk').\n",
+                                          "disable-on-404", proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                                curproxy->options &= ~PR_O_DISABLE404;
                        }
                        if (curproxy->options2 & PR_O2_CHK_SNDST) {
-                               Warning("config : '%s' will be ignored for %s '%s' (requires 'option httpchk').\n",
-                                       "send-state", proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : '%s' will be ignored for %s '%s' (requires 'option httpchk').\n",
+                                          "send-state", proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                                curproxy->options &= ~PR_O2_CHK_SNDST;
                        }
@@ -7738,25 +7738,25 @@ int check_config_validity()
 
                if ((curproxy->options2 & PR_O2_CHK_ANY) == PR_O2_EXT_CHK) {
                        if (!global.external_check) {
-                               Alert("Proxy '%s' : '%s' unable to find required 'global.external-check'.\n",
-                                     curproxy->id, "option external-check");
+                               ha_alert("Proxy '%s' : '%s' unable to find required 'global.external-check'.\n",
+                                        curproxy->id, "option external-check");
                                cfgerr++;
                        }
                        if (!curproxy->check_command) {
-                               Alert("Proxy '%s' : '%s' unable to find required 'external-check command'.\n",
-                                     curproxy->id, "option external-check");
+                               ha_alert("Proxy '%s' : '%s' unable to find required 'external-check command'.\n",
+                                        curproxy->id, "option external-check");
                                cfgerr++;
                        }
                }
 
                if (curproxy->email_alert.set) {
                    if (!(curproxy->email_alert.mailers.name && curproxy->email_alert.from && curproxy->email_alert.to)) {
-                           Warning("config : 'email-alert' will be ignored for %s '%s' (the presence any of "
-                                   "'email-alert from', 'email-alert level' 'email-alert mailers', "
-                                   "'email-alert myhostname', or 'email-alert to' "
-                                   "requires each of 'email-alert from', 'email-alert mailers' and 'email-alert to' "
-                                   "to be present).\n",
-                                   proxy_type_str(curproxy), curproxy->id);
+                           ha_warning("config : 'email-alert' will be ignored for %s '%s' (the presence any of "
+                                      "'email-alert from', 'email-alert level' 'email-alert mailers', "
+                                      "'email-alert myhostname', or 'email-alert to' "
+                                      "requires each of 'email-alert from', 'email-alert mailers' and 'email-alert to' "
+                                      "to be present).\n",
+                                      proxy_type_str(curproxy), curproxy->id);
                            err_code |= ERR_WARN;
                            free_email_alert(curproxy);
                    }
@@ -7767,14 +7767,14 @@ int check_config_validity()
                if (curproxy->check_command) {
                        int clear = 0;
                        if ((curproxy->options2 & PR_O2_CHK_ANY) != PR_O2_EXT_CHK) {
-                               Warning("config : '%s' will be ignored for %s '%s' (requires 'option external-check').\n",
-                                       "external-check command", proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : '%s' will be ignored for %s '%s' (requires 'option external-check').\n",
+                                          "external-check command", proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                                clear = 1;
                        }
                        if (curproxy->check_command[0] != '/' && !curproxy->check_path) {
-                               Alert("Proxy '%s': '%s' does not have a leading '/' and 'external-check path' is not set.\n",
-                                     curproxy->id, "external-check command");
+                               ha_alert("Proxy '%s': '%s' does not have a leading '/' and 'external-check path' is not set.\n",
+                                        curproxy->id, "external-check command");
                                cfgerr++;
                        }
                        if (clear) {
@@ -7785,8 +7785,8 @@ int check_config_validity()
 
                if (curproxy->check_path) {
                        if ((curproxy->options2 & PR_O2_CHK_ANY) != PR_O2_EXT_CHK) {
-                               Warning("config : '%s' will be ignored for %s '%s' (requires 'option external-check').\n",
-                                       "external-check path", proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : '%s' will be ignored for %s '%s' (requires 'option external-check').\n",
+                                          "external-check path", proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                                free(curproxy->check_path);
                                curproxy->check_path = NULL;
@@ -7799,21 +7799,21 @@ int check_config_validity()
 
                        target = proxy_be_by_name(curproxy->defbe.name);
                        if (!target) {
-                               Alert("Proxy '%s': unable to find required default_backend: '%s'.\n",
-                                       curproxy->id, curproxy->defbe.name);
+                               ha_alert("Proxy '%s': unable to find required default_backend: '%s'.\n",
+                                        curproxy->id, curproxy->defbe.name);
                                cfgerr++;
                        } else if (target == curproxy) {
-                               Alert("Proxy '%s': loop detected for default_backend: '%s'.\n",
-                                       curproxy->id, curproxy->defbe.name);
+                               ha_alert("Proxy '%s': loop detected for default_backend: '%s'.\n",
+                                        curproxy->id, curproxy->defbe.name);
                                cfgerr++;
                        } else if (target->mode != curproxy->mode &&
                                   !(curproxy->mode == PR_MODE_TCP && target->mode == PR_MODE_HTTP)) {
 
-                               Alert("%s %s '%s' (%s:%d) tries to use incompatible %s %s '%s' (%s:%d) as its default backend (see 'mode').\n",
-                                     proxy_mode_str(curproxy->mode), proxy_type_str(curproxy), curproxy->id,
-                                     curproxy->conf.file, curproxy->conf.line,
-                                     proxy_mode_str(target->mode), proxy_type_str(target), target->id,
-                                     target->conf.file, target->conf.line);
+                               ha_alert("%s %s '%s' (%s:%d) tries to use incompatible %s %s '%s' (%s:%d) as its default backend (see 'mode').\n",
+                                        proxy_mode_str(curproxy->mode), proxy_type_str(curproxy), curproxy->id,
+                                        curproxy->conf.file, curproxy->conf.line,
+                                        proxy_mode_str(target->mode), proxy_type_str(target), target->id,
+                                        target->conf.file, target->conf.line);
                                cfgerr++;
                        } else {
                                free(curproxy->defbe.name);
@@ -7822,8 +7822,8 @@ int check_config_validity()
                                target->tot_fe_maxconn += curproxy->maxconn;
                                /* Emit a warning if this proxy also has some servers */
                                if (curproxy->srv) {
-                                       Warning("In proxy '%s', the 'default_backend' rule always has precedence over the servers, which will never be used.\n",
-                                               curproxy->id);
+                                       ha_warning("In proxy '%s', the 'default_backend' rule always has precedence over the servers, which will never be used.\n",
+                                                  curproxy->id);
                                        err_code |= ERR_WARN;
                                }
                        }
@@ -7855,8 +7855,8 @@ int check_config_validity()
                        curproxy->conf.args.line = rule->line;
                        err = NULL;
                        if (!parse_logformat_string(pxname, curproxy, &rule->be.expr, 0, SMP_VAL_FE_HRQ_HDR, &err)) {
-                               Alert("Parsing [%s:%d]: failed to parse use_backend rule '%s' : %s.\n",
-                                     rule->file, rule->line, pxname, err);
+                               ha_alert("Parsing [%s:%d]: failed to parse use_backend rule '%s' : %s.\n",
+                                        rule->file, rule->line, pxname, err);
                                free(err);
                                cfgerr++;
                                continue;
@@ -7879,21 +7879,21 @@ int check_config_validity()
 
                        target = proxy_be_by_name(rule->be.name);
                        if (!target) {
-                               Alert("Proxy '%s': unable to find required use_backend: '%s'.\n",
-                                       curproxy->id, rule->be.name);
+                               ha_alert("Proxy '%s': unable to find required use_backend: '%s'.\n",
+                                        curproxy->id, rule->be.name);
                                cfgerr++;
                        } else if (target == curproxy) {
-                               Alert("Proxy '%s': loop detected for use_backend: '%s'.\n",
-                                       curproxy->id, rule->be.name);
+                               ha_alert("Proxy '%s': loop detected for use_backend: '%s'.\n",
+                                        curproxy->id, rule->be.name);
                                cfgerr++;
                        } else if (target->mode != curproxy->mode &&
                                   !(curproxy->mode == PR_MODE_TCP && target->mode == PR_MODE_HTTP)) {
 
-                               Alert("%s %s '%s' (%s:%d) tries to use incompatible %s %s '%s' (%s:%d) in a 'use_backend' rule (see 'mode').\n",
-                                     proxy_mode_str(curproxy->mode), proxy_type_str(curproxy), curproxy->id,
-                                     curproxy->conf.file, curproxy->conf.line,
-                                     proxy_mode_str(target->mode), proxy_type_str(target), target->id,
-                                     target->conf.file, target->conf.line);
+                               ha_alert("%s %s '%s' (%s:%d) tries to use incompatible %s %s '%s' (%s:%d) in a 'use_backend' rule (see 'mode').\n",
+                                        proxy_mode_str(curproxy->mode), proxy_type_str(curproxy), curproxy->id,
+                                        curproxy->conf.file, curproxy->conf.line,
+                                        proxy_mode_str(target->mode), proxy_type_str(target), target->id,
+                                        target->conf.file, target->conf.line);
                                cfgerr++;
                        } else {
                                free((void *)rule->be.name);
@@ -7923,8 +7923,8 @@ int check_config_validity()
                        struct server *target = findserver(curproxy, srule->srv.name);
 
                        if (!target) {
-                               Alert("config : %s '%s' : unable to find server '%s' referenced in a 'use-server' rule.\n",
-                                     proxy_type_str(curproxy), curproxy->id, srule->srv.name);
+                               ha_alert("config : %s '%s' : unable to find server '%s' referenced in a 'use-server' rule.\n",
+                                        proxy_type_str(curproxy), curproxy->id, srule->srv.name);
                                cfgerr++;
                                continue;
                        }
@@ -7946,18 +7946,18 @@ int check_config_validity()
                                target = curproxy;
 
                        if (!target) {
-                               Alert("Proxy '%s': unable to find stick-table '%s'.\n",
-                                     curproxy->id, mrule->table.name);
+                               ha_alert("Proxy '%s': unable to find stick-table '%s'.\n",
+                                        curproxy->id, mrule->table.name);
                                cfgerr++;
                        }
                        else if (target->table.size == 0) {
-                               Alert("Proxy '%s': stick-table '%s' used but not configured.\n",
-                                     curproxy->id, mrule->table.name ? mrule->table.name : curproxy->id);
+                               ha_alert("Proxy '%s': stick-table '%s' used but not configured.\n",
+                                        curproxy->id, mrule->table.name ? mrule->table.name : curproxy->id);
                                cfgerr++;
                        }
                        else if (!stktable_compatible_sample(mrule->expr,  target->table.type)) {
-                               Alert("Proxy '%s': type of fetch not usable with type of stick-table '%s'.\n",
-                                     curproxy->id, mrule->table.name ? mrule->table.name : curproxy->id);
+                               ha_alert("Proxy '%s': type of fetch not usable with type of stick-table '%s'.\n",
+                                        curproxy->id, mrule->table.name ? mrule->table.name : curproxy->id);
                                cfgerr++;
                        }
                        else {
@@ -7979,18 +7979,18 @@ int check_config_validity()
                                target = curproxy;
 
                        if (!target) {
-                               Alert("Proxy '%s': unable to find store table '%s'.\n",
-                                     curproxy->id, mrule->table.name);
+                               ha_alert("Proxy '%s': unable to find store table '%s'.\n",
+                                        curproxy->id, mrule->table.name);
                                cfgerr++;
                        }
                        else if (target->table.size == 0) {
-                               Alert("Proxy '%s': stick-table '%s' used but not configured.\n",
-                                     curproxy->id, mrule->table.name ? mrule->table.name : curproxy->id);
+                               ha_alert("Proxy '%s': stick-table '%s' used but not configured.\n",
+                                        curproxy->id, mrule->table.name ? mrule->table.name : curproxy->id);
                                cfgerr++;
                        }
                        else if (!stktable_compatible_sample(mrule->expr, target->table.type)) {
-                               Alert("Proxy '%s': type of fetch not usable with type of stick-table '%s'.\n",
-                                     curproxy->id, mrule->table.name ? mrule->table.name : curproxy->id);
+                               ha_alert("Proxy '%s': type of fetch not usable with type of stick-table '%s'.\n",
+                                        curproxy->id, mrule->table.name ? mrule->table.name : curproxy->id);
                                cfgerr++;
                        }
                        else {
@@ -8004,7 +8004,7 @@ int check_config_validity()
                list_for_each_entry(arule, &curproxy->tcp_req.l4_rules, list) {
                        err = NULL;
                        if (arule->check_ptr && !arule->check_ptr(arule, curproxy, &err)) {
-                               Alert("Proxy '%s': %s.\n", curproxy->id, err);
+                               ha_alert("Proxy '%s': %s.\n", curproxy->id, err);
                                free(err);
                                cfgerr++;
                        }
@@ -8014,7 +8014,7 @@ int check_config_validity()
                list_for_each_entry(arule, &curproxy->tcp_req.l5_rules, list) {
                        err = NULL;
                        if (arule->check_ptr && !arule->check_ptr(arule, curproxy, &err)) {
-                               Alert("Proxy '%s': %s.\n", curproxy->id, err);
+                               ha_alert("Proxy '%s': %s.\n", curproxy->id, err);
                                free(err);
                                cfgerr++;
                        }
@@ -8024,7 +8024,7 @@ int check_config_validity()
                list_for_each_entry(arule, &curproxy->tcp_req.inspect_rules, list) {
                        err = NULL;
                        if (arule->check_ptr && !arule->check_ptr(arule, curproxy, &err)) {
-                               Alert("Proxy '%s': %s.\n", curproxy->id, err);
+                               ha_alert("Proxy '%s': %s.\n", curproxy->id, err);
                                free(err);
                                cfgerr++;
                        }
@@ -8034,7 +8034,7 @@ int check_config_validity()
                list_for_each_entry(arule, &curproxy->http_req_rules, list) {
                        err = NULL;
                        if (arule->check_ptr && !arule->check_ptr(arule, curproxy, &err)) {
-                               Alert("Proxy '%s': %s.\n", curproxy->id, err);
+                               ha_alert("Proxy '%s': %s.\n", curproxy->id, err);
                                free(err);
                                cfgerr++;
                        }
@@ -8044,7 +8044,7 @@ int check_config_validity()
                list_for_each_entry(arule, &curproxy->http_res_rules, list) {
                        err = NULL;
                        if (arule->check_ptr && !arule->check_ptr(arule, curproxy, &err)) {
-                               Alert("Proxy '%s': %s.\n", curproxy->id, err);
+                               ha_alert("Proxy '%s': %s.\n", curproxy->id, err);
                                free(err);
                                cfgerr++;
                        }
@@ -8072,8 +8072,8 @@ int check_config_validity()
                        }
 
                        if (!curpeers) {
-                               Alert("Proxy '%s': unable to find sync peers '%s'.\n",
-                                     curproxy->id, curproxy->table.peers.name);
+                               ha_alert("Proxy '%s': unable to find sync peers '%s'.\n",
+                                        curproxy->id, curproxy->table.peers.name);
                                free((void *)curproxy->table.peers.name);
                                curproxy->table.peers.p = NULL;
                                cfgerr++;
@@ -8083,8 +8083,8 @@ int check_config_validity()
                                curproxy->table.peers.p = NULL;
                        }
                        else if (!curpeers->peers_fe) {
-                               Alert("Proxy '%s': unable to find local peer '%s' in peers section '%s'.\n",
-                                     curproxy->id, localpeer, curpeers->id);
+                               ha_alert("Proxy '%s': unable to find local peer '%s' in peers section '%s'.\n",
+                                        curproxy->id, localpeer, curpeers->id);
                                curproxy->table.peers.p = NULL;
                                cfgerr++;
                        }
@@ -8099,15 +8099,15 @@ int check_config_validity()
                                        break;
                        }
                        if (!curmailers) {
-                               Alert("Proxy '%s': unable to find mailers '%s'.\n",
-                                     curproxy->id, curproxy->email_alert.mailers.name);
+                               ha_alert("Proxy '%s': unable to find mailers '%s'.\n",
+                                        curproxy->id, curproxy->email_alert.mailers.name);
                                free_email_alert(curproxy);
                                cfgerr++;
                        }
                        else {
                                err = NULL;
                                if (init_email_alert(curmailers, curproxy, &err)) {
-                                       Alert("Proxy '%s': %s.\n", curproxy->id, err);
+                                       ha_alert("Proxy '%s': %s.\n", curproxy->id, err);
                                        free(err);
                                        cfgerr++;
                                }
@@ -8117,8 +8117,8 @@ int check_config_validity()
                if (curproxy->uri_auth && !(curproxy->uri_auth->flags & ST_CONVDONE) &&
                    !LIST_ISEMPTY(&curproxy->uri_auth->http_req_rules) &&
                    (curproxy->uri_auth->userlist || curproxy->uri_auth->auth_realm )) {
-                       Alert("%s '%s': stats 'auth'/'realm' and 'http-request' can't be used at the same time.\n",
-                             "proxy", curproxy->id);
+                       ha_alert("%s '%s': stats 'auth'/'realm' and 'http-request' can't be used at the same time.\n",
+                                "proxy", curproxy->id);
                        cfgerr++;
                        goto out_uri_auth_compat;
                }
@@ -8196,8 +8196,8 @@ out_uri_auth_compat:
                        err = NULL;
                        if (!parse_logformat_string(curproxy->conf.logformat_string, curproxy, &curproxy->logformat, LOG_OPT_MANDATORY,
                                                    SMP_VAL_FE_LOG_END, &err)) {
-                               Alert("Parsing [%s:%d]: failed to parse log-format : %s.\n",
-                                     curproxy->conf.lfs_file, curproxy->conf.lfs_line, err);
+                               ha_alert("Parsing [%s:%d]: failed to parse log-format : %s.\n",
+                                        curproxy->conf.lfs_file, curproxy->conf.lfs_line, err);
                                free(err);
                                cfgerr++;
                        }
@@ -8212,13 +8212,13 @@ out_uri_auth_compat:
                        err = NULL;
                        if (!parse_logformat_string(curproxy->conf.logformat_sd_string, curproxy, &curproxy->logformat_sd, LOG_OPT_MANDATORY,
                                                    SMP_VAL_FE_LOG_END, &err)) {
-                               Alert("Parsing [%s:%d]: failed to parse log-format-sd : %s.\n",
-                                     curproxy->conf.lfs_file, curproxy->conf.lfs_line, err);
+                               ha_alert("Parsing [%s:%d]: failed to parse log-format-sd : %s.\n",
+                                        curproxy->conf.lfs_file, curproxy->conf.lfs_line, err);
                                free(err);
                                cfgerr++;
                        } else if (!add_to_logformat_list(NULL, NULL, LF_SEPARATOR, &curproxy->logformat_sd, &err)) {
-                               Alert("Parsing [%s:%d]: failed to parse log-format-sd : %s.\n",
-                                     curproxy->conf.lfs_file, curproxy->conf.lfs_line, err);
+                               ha_alert("Parsing [%s:%d]: failed to parse log-format-sd : %s.\n",
+                                        curproxy->conf.lfs_file, curproxy->conf.lfs_line, err);
                                free(err);
                                cfgerr++;
                        }
@@ -8233,8 +8233,8 @@ out_uri_auth_compat:
                        err = NULL;
                        if (!parse_logformat_string(curproxy->conf.uniqueid_format_string, curproxy, &curproxy->format_unique_id, LOG_OPT_HTTP,
                                                    (curproxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR, &err)) {
-                               Alert("Parsing [%s:%d]: failed to parse unique-id : %s.\n",
-                                     curproxy->conf.uif_file, curproxy->conf.uif_line, err);
+                               ha_alert("Parsing [%s:%d]: failed to parse unique-id : %s.\n",
+                                        curproxy->conf.uif_file, curproxy->conf.uif_line, err);
                                free(err);
                                cfgerr++;
                        }
@@ -8254,11 +8254,11 @@ out_uri_auth_compat:
                     ((curproxy->cap & PR_CAP_BE) && (curproxy->srv) &&
                      (!curproxy->timeout.connect ||
                       (!curproxy->timeout.server && (curproxy->mode == PR_MODE_HTTP || !curproxy->timeout.tunnel)))))) {
-                       Warning("config : missing timeouts for %s '%s'.\n"
-                               "   | While not properly invalid, you will certainly encounter various problems\n"
-                               "   | with such a configuration. To fix this, please ensure that all following\n"
-                               "   | timeouts are set to a non-zero value: 'client', 'connect', 'server'.\n",
-                               proxy_type_str(curproxy), curproxy->id);
+                       ha_warning("config : missing timeouts for %s '%s'.\n"
+                                  "   | While not properly invalid, you will certainly encounter various problems\n"
+                                  "   | with such a configuration. To fix this, please ensure that all following\n"
+                                  "   | timeouts are set to a non-zero value: 'client', 'connect', 'server'.\n",
+                                  proxy_type_str(curproxy), curproxy->id);
                        err_code |= ERR_WARN;
                }
 
@@ -8302,15 +8302,15 @@ out_uri_auth_compat:
 
                if (!LIST_ISEMPTY(&curproxy->tcpcheck_rules) &&
                    (curproxy->options2 & PR_O2_CHK_ANY) != PR_O2_TCPCHK_CHK) {
-                       Warning("config : %s '%s' uses tcp-check rules without 'option tcp-check', so the rules are ignored.\n",
-                               proxy_type_str(curproxy), curproxy->id);
+                       ha_warning("config : %s '%s' uses tcp-check rules without 'option tcp-check', so the rules are ignored.\n",
+                                  proxy_type_str(curproxy), curproxy->id);
                        err_code |= ERR_WARN;
                }
 
                /* ensure that cookie capture length is not too large */
                if (curproxy->capture_len >= global.tune.cookie_len) {
-                       Warning("config : truncating capture length to %d bytes for %s '%s'.\n",
-                               global.tune.cookie_len - 1, proxy_type_str(curproxy), curproxy->id);
+                       ha_warning("config : truncating capture length to %d bytes for %s '%s'.\n",
+                                  global.tune.cookie_len - 1, proxy_type_str(curproxy), curproxy->id);
                        err_code |= ERR_WARN;
                        curproxy->capture_len = global.tune.cookie_len - 1;
                }
@@ -8334,8 +8334,8 @@ out_uri_auth_compat:
                                break;
                        case PR_SRV_STATE_FILE_GLOBAL:
                                if (!global.server_state_file) {
-                                       Warning("config : backend '%s' configured to load server state file from global section 'server-state-file' directive. Unfortunately, 'server-state-file' is not set!\n",
-                                               curproxy->id);
+                                       ha_warning("config : backend '%s' configured to load server state file from global section 'server-state-file' directive. Unfortunately, 'server-state-file' is not set!\n",
+                                                  curproxy->id);
                                        err_code |= ERR_WARN;
                                }
                                break;
@@ -8369,10 +8369,10 @@ out_uri_auth_compat:
 
                        for (other_srv = curproxy->srv; other_srv && other_srv != newsrv; other_srv = other_srv->next) {
                                if (!other_srv->puid && strcmp(other_srv->id, newsrv->id) == 0) {
-                                       Warning("parsing [%s:%d] : %s '%s', another server named '%s' was defined without an explicit ID at line %d, this is not recommended.\n",
-                                               newsrv->conf.file, newsrv->conf.line,
-                                               proxy_type_str(curproxy), curproxy->id,
-                                               newsrv->id, other_srv->conf.line);
+                                       ha_warning("parsing [%s:%d] : %s '%s', another server named '%s' was defined without an explicit ID at line %d, this is not recommended.\n",
+                                                  newsrv->conf.file, newsrv->conf.line,
+                                                  proxy_type_str(curproxy), curproxy->id,
+                                                  newsrv->id, other_srv->conf.line);
                                        break;
                                }
                        }
@@ -8442,9 +8442,9 @@ out_uri_auth_compat:
                                if (pname) {
                                        px = proxy_be_by_name(pname);
                                        if (!px) {
-                                               Alert("config : %s '%s', server '%s': unable to find required proxy '%s' for tracking.\n",
-                                                       proxy_type_str(curproxy), curproxy->id,
-                                                       newsrv->id, pname);
+                                               ha_alert("config : %s '%s', server '%s': unable to find required proxy '%s' for tracking.\n",
+                                                        proxy_type_str(curproxy), curproxy->id,
+                                                        newsrv->id, pname);
                                                cfgerr++;
                                                goto next_srv;
                                        }
@@ -8453,9 +8453,9 @@ out_uri_auth_compat:
 
                                srv = findserver(px, sname);
                                if (!srv) {
-                                       Alert("config : %s '%s', server '%s': unable to find required server '%s' for tracking.\n",
-                                               proxy_type_str(curproxy), curproxy->id,
-                                               newsrv->id, sname);
+                                       ha_alert("config : %s '%s', server '%s': unable to find required server '%s' for tracking.\n",
+                                                proxy_type_str(curproxy), curproxy->id,
+                                                newsrv->id, sname);
                                        cfgerr++;
                                        goto next_srv;
                                }
@@ -8463,10 +8463,10 @@ out_uri_auth_compat:
                                if (!(srv->check.state & CHK_ST_CONFIGURED) &&
                                    !(srv->agent.state & CHK_ST_CONFIGURED) &&
                                    !srv->track && !srv->trackit) {
-                                       Alert("config : %s '%s', server '%s': unable to use %s/%s for "
-                                             "tracking as it does not have any check nor agent enabled.\n",
-                                             proxy_type_str(curproxy), curproxy->id,
-                                             newsrv->id, px->id, srv->id);
+                                       ha_alert("config : %s '%s', server '%s': unable to use %s/%s for "
+                                                "tracking as it does not have any check nor agent enabled.\n",
+                                                proxy_type_str(curproxy), curproxy->id,
+                                                newsrv->id, px->id, srv->id);
                                        cfgerr++;
                                        goto next_srv;
                                }
@@ -8474,21 +8474,21 @@ out_uri_auth_compat:
                                for (loop = srv->track; loop && loop != newsrv; loop = loop->track);
 
                                if (newsrv == srv || loop) {
-                                       Alert("config : %s '%s', server '%s': unable to track %s/%s as it "
-                                             "belongs to a tracking chain looping back to %s/%s.\n",
-                                             proxy_type_str(curproxy), curproxy->id,
-                                             newsrv->id, px->id, srv->id, px->id,
-                                             newsrv == srv ? srv->id : loop->id);
+                                       ha_alert("config : %s '%s', server '%s': unable to track %s/%s as it "
+                                                "belongs to a tracking chain looping back to %s/%s.\n",
+                                                proxy_type_str(curproxy), curproxy->id,
+                                                newsrv->id, px->id, srv->id, px->id,
+                                                newsrv == srv ? srv->id : loop->id);
                                        cfgerr++;
                                        goto next_srv;
                                }
 
                                if (curproxy != px &&
                                        (curproxy->options & PR_O_DISABLE404) != (px->options & PR_O_DISABLE404)) {
-                                       Alert("config : %s '%s', server '%s': unable to use %s/%s for"
-                                               "tracking: disable-on-404 option inconsistency.\n",
-                                               proxy_type_str(curproxy), curproxy->id,
-                                               newsrv->id, px->id, srv->id);
+                                       ha_alert("config : %s '%s', server '%s': unable to use %s/%s for"
+                                                "tracking: disable-on-404 option inconsistency.\n",
+                                                proxy_type_str(curproxy), curproxy->id,
+                                                newsrv->id, px->id, srv->id);
                                        cfgerr++;
                                        goto next_srv;
                                }
@@ -8564,8 +8564,8 @@ out_uri_auth_compat:
                if ((curproxy->mode == PR_MODE_TCP || curproxy->mode == PR_MODE_HTTP) &&
                    (curproxy->cap & PR_CAP_FE) && LIST_ISEMPTY(&curproxy->logsrvs) &&
                    (!LIST_ISEMPTY(&curproxy->logformat) || !LIST_ISEMPTY(&curproxy->logformat_sd))) {
-                       Warning("config : log format ignored for %s '%s' since it has no log address.\n",
-                               proxy_type_str(curproxy), curproxy->id);
+                       ha_warning("config : log format ignored for %s '%s' since it has no log address.\n",
+                                  proxy_type_str(curproxy), curproxy->id);
                        err_code |= ERR_WARN;
                }
 
@@ -8573,52 +8573,52 @@ out_uri_auth_compat:
                        int optnum;
 
                        if (curproxy->uri_auth) {
-                               Warning("config : 'stats' statement ignored for %s '%s' as it requires HTTP mode.\n",
-                                       proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : 'stats' statement ignored for %s '%s' as it requires HTTP mode.\n",
+                                          proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                                curproxy->uri_auth = NULL;
                        }
 
                        if (curproxy->capture_name) {
-                               Warning("config : 'capture' statement ignored for %s '%s' as it requires HTTP mode.\n",
-                                       proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : 'capture' statement ignored for %s '%s' as it requires HTTP mode.\n",
+                                          proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                        }
 
                        if (!LIST_ISEMPTY(&curproxy->http_req_rules)) {
-                               Warning("config : 'http-request' rules ignored for %s '%s' as they require HTTP mode.\n",
-                                       proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : 'http-request' rules ignored for %s '%s' as they require HTTP mode.\n",
+                                          proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                        }
 
                        if (!LIST_ISEMPTY(&curproxy->http_res_rules)) {
-                               Warning("config : 'http-response' rules ignored for %s '%s' as they require HTTP mode.\n",
-                                       proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : 'http-response' rules ignored for %s '%s' as they require HTTP mode.\n",
+                                          proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                        }
 
                        if (!LIST_ISEMPTY(&curproxy->block_rules)) {
-                               Warning("config : 'block' rules ignored for %s '%s' as they require HTTP mode.\n",
-                                       proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : 'block' rules ignored for %s '%s' as they require HTTP mode.\n",
+                                          proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                        }
 
                        if (!LIST_ISEMPTY(&curproxy->redirect_rules)) {
-                               Warning("config : 'redirect' rules ignored for %s '%s' as they require HTTP mode.\n",
-                                       proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : 'redirect' rules ignored for %s '%s' as they require HTTP mode.\n",
+                                          proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                        }
 
                        if (curproxy->options & (PR_O_FWDFOR | PR_O_FF_ALWAYS)) {
-                               Warning("config : 'option %s' ignored for %s '%s' as it requires HTTP mode.\n",
-                                       "forwardfor", proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : 'option %s' ignored for %s '%s' as it requires HTTP mode.\n",
+                                          "forwardfor", proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                                curproxy->options &= ~(PR_O_FWDFOR | PR_O_FF_ALWAYS);
                        }
 
                        if (curproxy->options & PR_O_ORGTO) {
-                               Warning("config : 'option %s' ignored for %s '%s' as it requires HTTP mode.\n",
-                                       "originalto", proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : 'option %s' ignored for %s '%s' as it requires HTTP mode.\n",
+                                          "originalto", proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                                curproxy->options &= ~PR_O_ORGTO;
                        }
@@ -8627,8 +8627,8 @@ out_uri_auth_compat:
                                if (cfg_opts[optnum].mode == PR_MODE_HTTP &&
                                    (curproxy->cap & cfg_opts[optnum].cap) &&
                                    (curproxy->options & cfg_opts[optnum].val)) {
-                                       Warning("config : 'option %s' ignored for %s '%s' as it requires HTTP mode.\n",
-                                               cfg_opts[optnum].name, proxy_type_str(curproxy), curproxy->id);
+                                       ha_warning("config : 'option %s' ignored for %s '%s' as it requires HTTP mode.\n",
+                                                  cfg_opts[optnum].name, proxy_type_str(curproxy), curproxy->id);
                                        err_code |= ERR_WARN;
                                        curproxy->options &= ~cfg_opts[optnum].val;
                                }
@@ -8638,8 +8638,8 @@ out_uri_auth_compat:
                                if (cfg_opts2[optnum].mode == PR_MODE_HTTP &&
                                    (curproxy->cap & cfg_opts2[optnum].cap) &&
                                    (curproxy->options2 & cfg_opts2[optnum].val)) {
-                                       Warning("config : 'option %s' ignored for %s '%s' as it requires HTTP mode.\n",
-                                               cfg_opts2[optnum].name, proxy_type_str(curproxy), curproxy->id);
+                                       ha_warning("config : 'option %s' ignored for %s '%s' as it requires HTTP mode.\n",
+                                                  cfg_opts2[optnum].name, proxy_type_str(curproxy), curproxy->id);
                                        err_code |= ERR_WARN;
                                        curproxy->options2 &= ~cfg_opts2[optnum].val;
                                }
@@ -8648,8 +8648,8 @@ out_uri_auth_compat:
 #if defined(CONFIG_HAP_TRANSPARENT)
                        if (curproxy->conn_src.bind_hdr_occ) {
                                curproxy->conn_src.bind_hdr_occ = 0;
-                               Warning("config : %s '%s' : ignoring use of header %s as source IP in non-HTTP mode.\n",
-                                       proxy_type_str(curproxy), curproxy->id, curproxy->conn_src.bind_hdr_name);
+                               ha_warning("config : %s '%s' : ignoring use of header %s as source IP in non-HTTP mode.\n",
+                                          proxy_type_str(curproxy), curproxy->id, curproxy->conn_src.bind_hdr_name);
                                err_code |= ERR_WARN;
                        }
 #endif
@@ -8661,28 +8661,28 @@ out_uri_auth_compat:
                newsrv = curproxy->srv;
                while (newsrv != NULL) {
                        if ((curproxy->mode != PR_MODE_HTTP) && newsrv->rdr_len) {
-                               Alert("config : %s '%s' : server cannot have cookie or redirect prefix in non-HTTP mode.\n",
-                                     proxy_type_str(curproxy), curproxy->id);
+                               ha_alert("config : %s '%s' : server cannot have cookie or redirect prefix in non-HTTP mode.\n",
+                                        proxy_type_str(curproxy), curproxy->id);
                                cfgerr++;
                        }
 
                        if ((curproxy->mode != PR_MODE_HTTP) && newsrv->cklen) {
-                               Warning("config : %s '%s' : ignoring cookie for server '%s' as HTTP mode is disabled.\n",
-                                       proxy_type_str(curproxy), curproxy->id, newsrv->id);
+                               ha_warning("config : %s '%s' : ignoring cookie for server '%s' as HTTP mode is disabled.\n",
+                                          proxy_type_str(curproxy), curproxy->id, newsrv->id);
                                err_code |= ERR_WARN;
                        }
 
                        if ((newsrv->flags & SRV_F_MAPPORTS) && (curproxy->options2 & PR_O2_RDPC_PRST)) {
-                               Warning("config : %s '%s' : RDP cookie persistence will not work for server '%s' because it lacks an explicit port number.\n",
-                                       proxy_type_str(curproxy), curproxy->id, newsrv->id);
+                               ha_warning("config : %s '%s' : RDP cookie persistence will not work for server '%s' because it lacks an explicit port number.\n",
+                                          proxy_type_str(curproxy), curproxy->id, newsrv->id);
                                err_code |= ERR_WARN;
                        }
 
 #if defined(CONFIG_HAP_TRANSPARENT)
                        if (curproxy->mode != PR_MODE_HTTP && newsrv->conn_src.bind_hdr_occ) {
                                newsrv->conn_src.bind_hdr_occ = 0;
-                               Warning("config : %s '%s' : server %s cannot use header %s as source IP in non-HTTP mode.\n",
-                                       proxy_type_str(curproxy), curproxy->id, newsrv->id, newsrv->conn_src.bind_hdr_name);
+                               ha_warning("config : %s '%s' : server %s cannot use header %s as source IP in non-HTTP mode.\n",
+                                          proxy_type_str(curproxy), curproxy->id, newsrv->id, newsrv->conn_src.bind_hdr_name);
                                err_code |= ERR_WARN;
                        }
 #endif
@@ -8692,15 +8692,15 @@ out_uri_auth_compat:
                                    (curproxy->conn_src.opts & CO_SRC_TPROXY_MASK) == CO_SRC_TPROXY_CIP ||
                                    (newsrv->conn_src.opts & CO_SRC_TPROXY_MASK) == CO_SRC_TPROXY_CLI ||
                                    (newsrv->conn_src.opts & CO_SRC_TPROXY_MASK) == CO_SRC_TPROXY_CIP) {
-                                       Warning("config : %s '%s' : connections to server '%s' use the client's IP address as the source while http-reuse is enabled and allows the same connection to be shared between multiple clients. It is strongly advised to disable 'usesrc' and to use the 'forwardfor' option instead.\n",
-                                               proxy_type_str(curproxy), curproxy->id, newsrv->id);
+                                       ha_warning("config : %s '%s' : connections to server '%s' use the client's IP address as the source while http-reuse is enabled and allows the same connection to be shared between multiple clients. It is strongly advised to disable 'usesrc' and to use the 'forwardfor' option instead.\n",
+                                                  proxy_type_str(curproxy), curproxy->id, newsrv->id);
                                        err_code |= ERR_WARN;
                                }
 
 
                                if (newsrv->pp_opts & (SRV_PP_V1|SRV_PP_V2)) {
-                                       Warning("config : %s '%s' : connections to server '%s' will have a PROXY protocol header announcing the first client's IP address while http-reuse is enabled and allows the same connection to be shared between multiple clients. It is strongly advised to disable 'send-proxy' and to use the 'forwardfor' option instead.\n",
-                                               proxy_type_str(curproxy), curproxy->id, newsrv->id);
+                                       ha_warning("config : %s '%s' : connections to server '%s' will have a PROXY protocol header announcing the first client's IP address while http-reuse is enabled and allows the same connection to be shared between multiple clients. It is strongly advised to disable 'send-proxy' and to use the 'forwardfor' option instead.\n",
+                                                  proxy_type_str(curproxy), curproxy->id, newsrv->id);
                                        err_code |= ERR_WARN;
                                }
                        }
@@ -8722,11 +8722,11 @@ out_uri_auth_compat:
                        }
 
                        if (&arule->list != &curproxy->tcp_req.inspect_rules) {
-                               Warning("config : %s '%s' : some 'tcp-request content' rules explicitly depending on request"
-                                       " contents were found in a frontend without any 'tcp-request inspect-delay' setting."
-                                       " This means that these rules will randomly find their contents. This can be fixed by"
-                                       " setting the tcp-request inspect-delay.\n",
-                                       proxy_type_str(curproxy), curproxy->id);
+                               ha_warning("config : %s '%s' : some 'tcp-request content' rules explicitly depending on request"
+                                          " contents were found in a frontend without any 'tcp-request inspect-delay' setting."
+                                          " This means that these rules will randomly find their contents. This can be fixed by"
+                                          " setting the tcp-request inspect-delay.\n",
+                                          proxy_type_str(curproxy), curproxy->id);
                                err_code |= ERR_WARN;
                        }
                }
@@ -8814,7 +8814,7 @@ out_uri_auth_compat:
                                break;
                }
                if (&bind_conf->by_fe != &global.stats_fe->conf.bind) {
-                       Warning("stats socket will not work as expected in multi-process mode (nbproc > 1), you should force process binding globally using 'stats bind-process' or per socket using the 'process' attribute.\n");
+                       ha_warning("stats socket will not work as expected in multi-process mode (nbproc > 1), you should force process binding globally using 'stats bind-process' or per socket using the 'process' attribute.\n");
                }
        }
 
@@ -8970,18 +8970,18 @@ out_uri_auth_compat:
                                }
                                /* backends have 0, frontends have 1 or more */
                                if (maxproc != 1)
-                                       Warning("Proxy '%s': in multi-process mode, stats will be"
-                                               " limited to process assigned to the current request.\n",
-                                               curproxy->id);
+                                       ha_warning("Proxy '%s': in multi-process mode, stats will be"
+                                                  " limited to process assigned to the current request.\n",
+                                                  curproxy->id);
 
                                if (!LIST_ISEMPTY(&curproxy->uri_auth->admin_rules)) {
-                                       Warning("Proxy '%s': stats admin will not work correctly in multi-process mode.\n",
-                                               curproxy->id);
+                                       ha_warning("Proxy '%s': stats admin will not work correctly in multi-process mode.\n",
+                                                  curproxy->id);
                                }
                        }
                        if (!LIST_ISEMPTY(&curproxy->sticking_rules)) {
-                               Warning("Proxy '%s': sticking rules will not work correctly in multi-process mode.\n",
-                                       curproxy->id);
+                               ha_warning("Proxy '%s': sticking rules will not work correctly in multi-process mode.\n",
+                                          curproxy->id);
                        }
                }
 
@@ -8991,8 +8991,8 @@ out_uri_auth_compat:
                        curproxy->task->context = curproxy;
                        curproxy->task->process = manage_proxy;
                } else {
-                       Alert("Proxy '%s': no more memory when trying to allocate the management task\n",
-                             curproxy->id);
+                       ha_alert("Proxy '%s': no more memory when trying to allocate the management task\n",
+                                curproxy->id);
                        cfgerr++;
                }
        }
@@ -9055,16 +9055,16 @@ out_uri_auth_compat:
                                curpeers->peers_fe = NULL;
                        }
                        else if (!curpeers->peers_fe) {
-                               Warning("Removing incomplete section 'peers %s' (no peer named '%s').\n",
-                                       curpeers->id, localpeer);
+                               ha_warning("Removing incomplete section 'peers %s' (no peer named '%s').\n",
+                                          curpeers->id, localpeer);
                        }
                        else if (my_popcountl(curpeers->peers_fe->bind_proc) != 1) {
                                /* either it's totally stopped or too much used */
                                if (curpeers->peers_fe->bind_proc) {
-                                       Alert("Peers section '%s': peers referenced by sections "
-                                             "running in different processes (%d different ones). "
-                                             "Check global.nbproc and all tables' bind-process "
-                                             "settings.\n", curpeers->id, my_popcountl(curpeers->peers_fe->bind_proc));
+                                       ha_alert("Peers section '%s': peers referenced by sections "
+                                                "running in different processes (%d different ones). "
+                                                "Check global.nbproc and all tables' bind-process "
+                                                "settings.\n", curpeers->id, my_popcountl(curpeers->peers_fe->bind_proc));
                                        cfgerr++;
                                }
                                stop_proxy(curpeers->peers_fe);
@@ -9104,7 +9104,7 @@ out_uri_auth_compat:
                        continue;
 
                if (!stktable_init(&curproxy->table)) {
-                       Alert("Proxy '%s': failed to initialize stick-table.\n", curproxy->id);
+                       ha_alert("Proxy '%s': failed to initialize stick-table.\n", curproxy->id);
                        cfgerr++;
                }
        }
@@ -9124,8 +9124,8 @@ out_uri_auth_compat:
                                continue;
                        }
 
-                       Warning("Removing incomplete section 'mailers %s'.\n",
-                               curmailers->id);
+                       ha_warning("Removing incomplete section 'mailers %s'.\n",
+                                  curmailers->id);
 
                        m = curmailers->mailer_list;
                        while (m) {
@@ -9199,14 +9199,14 @@ int cfg_register_section(char *section_name,
 
        list_for_each_entry(cs, &sections, list) {
                if (strcmp(cs->section_name, section_name) == 0) {
-                       Alert("register section '%s': already registered.\n", section_name);
+                       ha_alert("register section '%s': already registered.\n", section_name);
                        return 0;
                }
        }
 
        cs = calloc(1, sizeof(*cs));
        if (!cs) {
-               Alert("register section '%s': out of memory.\n", section_name);
+               ha_alert("register section '%s': out of memory.\n", section_name);
                return 0;
        }
 
@@ -9229,7 +9229,7 @@ int cfg_register_postparser(char *name, int (*func)())
 
        cp = calloc(1, sizeof(*cp));
        if (!cp) {
-               Alert("register postparser '%s': out of memory.\n", name);
+               ha_alert("register postparser '%s': out of memory.\n", name);
                return 0;
        }
        cp->name = name;
index 4b47cf390d3c7c6f019b6d801a59b118989b360b..dc970e003467a4bb14345af62abf2f996fc34abd 100644 (file)
@@ -289,7 +289,7 @@ static void set_server_check_status(struct check *check, short status, const cha
                             (check->health >= check->rise) ? check->fall : check->rise,
                             (check->health >= check->rise) ? (s->uweight ? "UP" : "DRAIN") : "DOWN");
 
-               Warning("%s.\n", trash.str);
+               ha_warning("%s.\n", trash.str);
                send_log(s->proxy, LOG_NOTICE, "%s.\n", trash.str);
                send_email_alert(s, LOG_INFO, "%s", trash.str);
        }
@@ -1209,7 +1209,7 @@ static void event_srv_chk_r(struct conn_stream *cs)
                                        * an error message is attached, so we can display it
                                        */
                                        desc = &check->bi->data[7];
-                                       //Warning("onlyoneERR: %s\n", desc);
+                                       //ha_warning("onlyoneERR: %s\n", desc);
                                        set_server_check_status(check, HCHK_STATUS_L7STS, desc);
                                }
                        } else if (check->bi->i > first_packet_len + 4) {
@@ -1224,7 +1224,7 @@ static void event_srv_chk_r(struct conn_stream *cs)
                                                /* No error packet */
                                                /* We set the MySQL Version in description for information purpose */
                                                desc = &check->bi->data[5];
-                                               //Warning("2packetOK: %s\n", desc);
+                                               //ha_warning("2packetOK: %s\n", desc);
                                                set_server_check_status(check, HCHK_STATUS_L7OKD, desc);
                                        }
                                        else {
@@ -1232,7 +1232,7 @@ static void event_srv_chk_r(struct conn_stream *cs)
                                                * so we can display it ! :)
                                                */
                                                desc = &check->bi->data[first_packet_len+11];
-                                               //Warning("2packetERR: %s\n", desc);
+                                               //ha_warning("2packetERR: %s\n", desc);
                                                set_server_check_status(check, HCHK_STATUS_L7STS, desc);
                                        }
                                }
@@ -1245,7 +1245,7 @@ static void event_srv_chk_r(struct conn_stream *cs)
                                 * it must be a protocol error
                                 */
                                desc = &check->bi->data[5];
-                               //Warning("protoerr: %s\n", desc);
+                               //ha_warning("protoerr: %s\n", desc);
                                set_server_check_status(check, HCHK_STATUS_L7RSP, desc);
                        }
                }
@@ -1705,15 +1705,15 @@ static int init_pid_list(void)
                return 0;
 
        if (!signal_register_fct(SIGCHLD, sigchld_handler, SIGCHLD)) {
-               Alert("Failed to set signal handler for external health checks: %s. Aborting.\n",
-                     strerror(errno));
+               ha_alert("Failed to set signal handler for external health checks: %s. Aborting.\n",
+                        strerror(errno));
                return 1;
        }
 
        pool2_pid_list = create_pool("pid_list", sizeof(struct pid_list), MEM_F_SHARED);
        if (pool2_pid_list == NULL) {
-               Alert("Failed to allocate memory pool for external health checks: %s. Aborting.\n",
-                     strerror(errno));
+               ha_alert("Failed to allocate memory pool for external health checks: %s. Aborting.\n",
+                        strerror(errno));
                return 1;
        }
 
@@ -1737,7 +1737,7 @@ static int extchk_setenv(struct check *check, int idx, const char *value)
        int vmaxlen;
 
        if (idx < 0 || idx >= EXTCHK_SIZE) {
-               Alert("Illegal environment variable index %d. Aborting.\n", idx);
+               ha_alert("Illegal environment variable index %d. Aborting.\n", idx);
                return 1;
        }
 
@@ -1764,16 +1764,16 @@ static int extchk_setenv(struct check *check, int idx, const char *value)
                check->envp[idx] = malloc(len + 1);
 
        if (!check->envp[idx]) {
-               Alert("Failed to allocate memory for the environment variable '%s'. Aborting.\n", envname);
+               ha_alert("Failed to allocate memory for the environment variable '%s'. Aborting.\n", envname);
                return 1;
        }
        ret = snprintf(check->envp[idx], len + 1, "%s=%s", envname, value);
        if (ret < 0) {
-               Alert("Failed to store the environment variable '%s'. Reason : %s. Aborting.\n", envname, strerror(errno));
+               ha_alert("Failed to store the environment variable '%s'. Reason : %s. Aborting.\n", envname, strerror(errno));
                return 1;
        }
        else if (ret > len) {
-               Alert("Environment variable '%s' was truncated. Aborting.\n", envname);
+               ha_alert("Environment variable '%s' was truncated. Aborting.\n", envname);
                return 1;
        }
        return 0;
@@ -1800,13 +1800,13 @@ static int prepare_external_check(struct check *check)
        check->curpid = NULL;
        check->envp = calloc((EXTCHK_SIZE + 1), sizeof(char *));
        if (!check->envp) {
-               Alert("Failed to allocate memory for environment variables. Aborting\n");
+               ha_alert("Failed to allocate memory for environment variables. Aborting\n");
                goto err;
        }
 
        check->argv = calloc(6, sizeof(char *));
        if (!check->argv) {
-               Alert("Starting [%s:%s] check: out of memory.\n", px->id, s->id);
+               ha_alert("Starting [%s:%s] check: out of memory.\n", px->id, s->id);
                goto err;
        }
 
@@ -1831,7 +1831,7 @@ static int prepare_external_check(struct check *check)
                check->argv[2] = strdup("NOT_USED");
        }
        else {
-               Alert("Starting [%s:%s] check: unsupported address family.\n", px->id, s->id);
+               ha_alert("Starting [%s:%s] check: unsupported address family.\n", px->id, s->id);
                goto err;
        }
 
@@ -1846,7 +1846,7 @@ static int prepare_external_check(struct check *check)
 
        for (i = 0; i < 5; i++) {
                if (!check->argv[i]) {
-                       Alert("Starting [%s:%s] check: out of memory.\n", px->id, s->id);
+                       ha_alert("Starting [%s:%s] check: out of memory.\n", px->id, s->id);
                        goto err;
                }
        }
@@ -1913,8 +1913,8 @@ static int connect_proc_chk(struct task *t)
 
        pid = fork();
        if (pid < 0) {
-               Alert("Failed to fork process for external health check: %s. Aborting.\n",
-                     strerror(errno));
+               ha_alert("Failed to fork process for external health check: %s. Aborting.\n",
+                        strerror(errno));
                set_server_check_status(check, HCHK_STATUS_SOCKERR, strerror(errno));
                goto out;
        }
@@ -1932,8 +1932,8 @@ static int connect_proc_chk(struct task *t)
                environ = check->envp;
                extchk_setenv(check, EXTCHK_HAPROXY_SERVER_CURCONN, ultoa_r(s->cur_sess, buf, sizeof(buf)));
                execvp(px->check_command, check->argv);
-               Alert("Failed to exec process for external health check: %s. Aborting.\n",
-                     strerror(errno));
+               ha_alert("Failed to exec process for external health check: %s. Aborting.\n",
+                        strerror(errno));
                exit(-1);
        }
 
@@ -2054,7 +2054,7 @@ static struct task *process_chk_proc(struct task *t)
                                        status = HCHK_STATUS_PROCOK;
                        } else if (expired) {
                                status = HCHK_STATUS_PROCTOUT;
-                               Warning("kill %d\n", (int)elem->pid);
+                               ha_warning("kill %d\n", (int)elem->pid);
                                kill(elem->pid, SIGTERM);
                        }
                        set_server_check_status(check, status, NULL);
@@ -2290,8 +2290,8 @@ static int start_check_task(struct check *check, int mininter,
        struct task *t;
        /* task for the check */
        if ((t = task_new(MAX_THREADS_MASK)) == NULL) {
-               Alert("Starting [%s:%s] check: out of memory.\n",
-                     check->server->proxy->id, check->server->id);
+               ha_alert("Starting [%s:%s] check: out of memory.\n",
+                        check->server->proxy->id, check->server->id);
                return 0;
        }
 
@@ -2336,7 +2336,7 @@ static int start_checks()
                for (s = px->srv; s; s = s->next) {
                        if (s->slowstart) {
                                if ((t = task_new(MAX_THREADS_MASK)) == NULL) {
-                                       Alert("Starting [%s:%s] check: out of memory.\n", px->id, s->id);
+                                       ha_alert("Starting [%s:%s] check: out of memory.\n", px->id, s->id);
                                        return ERR_ALERT | ERR_FATAL;
                                }
                                /* We need a warmup task that will be called when the server
@@ -2379,7 +2379,7 @@ static int start_checks()
        for (px = proxy; px; px = px->next) {
                if ((px->options2 & PR_O2_CHK_ANY) == PR_O2_EXT_CHK) {
                        if (init_pid_list()) {
-                               Alert("Starting [%s] check: out of memory.\n", px->id);
+                               ha_alert("Starting [%s] check: out of memory.\n", px->id);
                                return ERR_ALERT | ERR_FATAL;
                        }
                }
@@ -3415,7 +3415,7 @@ static void enqueue_email_alert(struct proxy *p, struct server *s, const char *m
        for (i = 0, mailer = p->email_alert.mailers.m->mailer_list;
             i < p->email_alert.mailers.m->count; i++, mailer = mailer->next) {
                if (!enqueue_one_email_alert(p, s, &p->email_alert.queues[i], msg)) {
-                       Alert("Email alert [%s] could not be enqueued: out of memory\n", p->id);
+                       ha_alert("Email alert [%s] could not be enqueued: out of memory\n", p->id);
                        return;
                }
        }
@@ -3441,7 +3441,7 @@ void send_email_alert(struct server *s, int level, const char *format, ...)
        va_end(argp);
 
        if (len < 0 || len >= sizeof(buf)) {
-               Alert("Email alert [%s] could not format message\n", p->id);
+               ha_alert("Email alert [%s] could not format message\n", p->id);
                return;
        }
 
index 038bdd3838bd40ef9fb281f2dd3dc999c90b7967..3d88780fb8282550d57b44290564dff54282bc16 100644 (file)
--- a/src/cli.c
+++ b/src/cli.c
@@ -460,7 +460,7 @@ static int cli_output_msg(struct channel *chn, const char *msg, int severity, in
        chunk_reset(tmp);
 
        if (severity < 0 || severity > 7) {
-               Warning("socket command feedback with invalid severity %d", severity);
+               ha_warning("socket command feedback with invalid severity %d", severity);
                chunk_printf(tmp, "[%d]: ", severity);
        }
        else {
@@ -472,7 +472,7 @@ static int cli_output_msg(struct channel *chn, const char *msg, int severity, in
                                chunk_printf(tmp, "[%s]: ", log_levels[severity]);
                                break;
                        default:
-                               Warning("Unrecognized severity output %d", severity_output);
+                               ha_warning("Unrecognized severity output %d", severity_output);
                }
        }
        chunk_appendf(tmp, "%s", msg);
@@ -1254,16 +1254,16 @@ static int _getsocks(char **args, struct appctx *appctx, void *private)
        /* Temporary set the FD in blocking mode, that will make our life easier */
        old_fcntl = fcntl(fd, F_GETFL);
        if (old_fcntl < 0) {
-               Warning("Couldn't get the flags for the unix socket\n");
+               ha_warning("Couldn't get the flags for the unix socket\n");
                goto out;
        }
        cmsgbuf = malloc(CMSG_SPACE(sizeof(int) * MAX_SEND_FD));
        if (!cmsgbuf) {
-               Warning("Failed to allocate memory to send sockets\n");
+               ha_warning("Failed to allocate memory to send sockets\n");
                goto out;
        }
        if (fcntl(fd, F_SETFL, old_fcntl &~ O_NONBLOCK) == -1) {
-               Warning("Cannot make the unix socket blocking\n");
+               ha_warning("Cannot make the unix socket blocking\n");
                goto out;
        }
        setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, (void *)&tv, sizeof(tv));
@@ -1300,7 +1300,7 @@ static int _getsocks(char **args, struct appctx *appctx, void *private)
        msghdr.msg_iovlen = 1;
        ret = sendmsg(fd, &msghdr, 0);
        if (ret != sizeof(tot_fd_nb)) {
-               Warning("Failed to send the number of sockets to send\n");
+               ha_warning("Failed to send the number of sockets to send\n");
                goto out;
        }
 
@@ -1326,7 +1326,7 @@ static int _getsocks(char **args, struct appctx *appctx, void *private)
         */
        tmpbuf = malloc(MAX_SEND_FD * (1 + MAXPATHLEN + 1 + IFNAMSIZ + sizeof(int)));
        if (tmpbuf == NULL) {
-               Warning("Failed to allocate memory to transfer socket informations\n");
+               ha_warning("Failed to allocate memory to transfer socket informations\n");
                goto out;
        }
        iov.iov_base = tmpbuf;
@@ -1370,7 +1370,7 @@ static int _getsocks(char **args, struct appctx *appctx, void *private)
                        if ((!(i % MAX_SEND_FD))) {
                                iov.iov_len = curoff;
                                if (sendmsg(fd, &msghdr, 0) != curoff) {
-                                       Warning("Failed to transfer sockets\n");
+                                       ha_warning("Failed to transfer sockets\n");
                                        printf("errno %d\n", errno);
                                        goto out;
                                }
@@ -1380,7 +1380,7 @@ static int _getsocks(char **args, struct appctx *appctx, void *private)
                                            sizeof(tot_fd_nb), 0);
                                } while (ret == -1 && errno == EINTR);
                                if (ret <= 0) {
-                                       Warning("Unexpected error while transferring sockets\n");
+                                       ha_warning("Unexpected error while transferring sockets\n");
                                        goto out;
                                }
                                curoff = 0;
@@ -1394,14 +1394,14 @@ static int _getsocks(char **args, struct appctx *appctx, void *private)
                cmsg->cmsg_len = CMSG_LEN((i % MAX_SEND_FD) * sizeof(int));
                msghdr.msg_controllen = CMSG_SPACE(sizeof(int) *  (i % MAX_SEND_FD));
                if (sendmsg(fd, &msghdr, 0) != curoff) {
-                       Warning("Failed to transfer sockets\n");
+                       ha_warning("Failed to transfer sockets\n");
                        goto out;
                }
        }
 
 out:
        if (old_fcntl >= 0 && fcntl(fd, F_SETFL, old_fcntl) == -1) {
-               Warning("Cannot make the unix socket non-blocking\n");
+               ha_warning("Cannot make the unix socket non-blocking\n");
                goto out;
        }
        appctx->st0 = CLI_ST_END;
index 09b0e3ec94c8b5ba2d61fb87c7979fa5cfff4c9a..0669cba2f4e99acb36087dba329b11cc8f560417 100644 (file)
--- a/src/da.c
+++ b/src/da.c
@@ -102,7 +102,7 @@ static void da_haproxy_log(da_severity_t severity, da_status_t status,
        if (global_deviceatlas.loglevel && severity <= global_deviceatlas.loglevel) {
                char logbuf[256];
                vsnprintf(logbuf, sizeof(logbuf), fmt, args);
-               Warning("deviceatlas : %s.\n", logbuf);
+               ha_warning("deviceatlas : %s.\n", logbuf);
        }
 }
 
@@ -122,15 +122,15 @@ static int init_deviceatlas(void)
                da_status_t status;
 
                if (global.nbthread > 1) {
-                       Alert("deviceatlas: multithreading is not supported for now.\n");
+                       ha_alert("deviceatlas: multithreading is not supported for now.\n");
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
 
                jsonp = fopen(global_deviceatlas.jsonpath, "r");
                if (jsonp == 0) {
-                       Alert("deviceatlas : '%s' json file has invalid path or is not readable.\n",
-                               global_deviceatlas.jsonpath);
+                       ha_alert("deviceatlas : '%s' json file has invalid path or is not readable.\n",
+                                global_deviceatlas.jsonpath);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -141,8 +141,8 @@ static int init_deviceatlas(void)
                        &global_deviceatlas.atlasimgptr, &atlasimglen);
                fclose(jsonp);
                if (status != DA_OK) {
-                       Alert("deviceatlas : '%s' json file is invalid.\n",
-                               global_deviceatlas.jsonpath);
+                       ha_alert("deviceatlas : '%s' json file is invalid.\n",
+                                global_deviceatlas.jsonpath);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -151,7 +151,7 @@ static int init_deviceatlas(void)
                        global_deviceatlas.atlasimgptr, atlasimglen);
 
                if (status != DA_OK) {
-                       Alert("deviceatlas : data could not be compiled.\n");
+                       ha_alert("deviceatlas : data could not be compiled.\n");
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
index 8f01f053b06a305624edf398724709732f073355..a83c8aaab1eeb0581f014c5f9a11e9447184435c 100644 (file)
--- a/src/dns.c
+++ b/src/dns.c
@@ -89,14 +89,14 @@ struct dns_srvrq *new_dns_srvrq(struct server *srv, char *fqdn)
        fqdn_len = strlen(fqdn);
        hostname_dn_len = dns_str_to_dn_label(fqdn, fqdn_len + 1, trash.str, trash.size);
        if (hostname_dn_len == -1) {
-               Alert("config : %s '%s', server '%s': failed to parse FQDN '%s'\n",
-                     proxy_type_str(px), px->id, srv->id, fqdn);
+               ha_alert("config : %s '%s', server '%s': failed to parse FQDN '%s'\n",
+                        proxy_type_str(px), px->id, srv->id, fqdn);
                goto err;
        }
 
        if ((srvrq = calloc(1, sizeof(*srvrq))) == NULL) {
-               Alert("config : %s '%s', server '%s': out of memory\n",
-                     proxy_type_str(px), px->id, srv->id);
+               ha_alert("config : %s '%s', server '%s': out of memory\n",
+                        proxy_type_str(px), px->id, srv->id);
                goto err;
        }
        srvrq->obj_type        = OBJ_TYPE_SRVRQ;
@@ -105,8 +105,8 @@ struct dns_srvrq *new_dns_srvrq(struct server *srv, char *fqdn)
        srvrq->hostname_dn     = strdup(trash.str);
        srvrq->hostname_dn_len = hostname_dn_len;
        if (!srvrq->name || !srvrq->hostname_dn) {
-               Alert("config : %s '%s', server '%s': out of memory\n",
-                     proxy_type_str(px), px->id, srv->id);
+               ha_alert("config : %s '%s', server '%s': out of memory\n",
+                        proxy_type_str(px), px->id, srv->id);
                goto err;
        }
        LIST_ADDQ(&dns_srvrq_list, &srvrq->list);
@@ -1852,14 +1852,14 @@ static int dns_finalize_config(void)
 
                        /* Check nameserver info */
                        if ((fd = socket(ns->addr.ss_family, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
-                               Alert("config : resolvers '%s': can't create socket for nameserver '%s'.\n",
-                                     resolvers->id, ns->id);
+                               ha_alert("config : resolvers '%s': can't create socket for nameserver '%s'.\n",
+                                        resolvers->id, ns->id);
                                err_code |= (ERR_ALERT|ERR_ABORT);
                                continue;
                        }
                        if (connect(fd, (struct sockaddr*)&ns->addr, get_addr_len(&ns->addr)) == -1) {
-                               Alert("config : resolvers '%s': can't connect socket for nameserver '%s'.\n",
-                                     resolvers->id, ns->id);
+                               ha_alert("config : resolvers '%s': can't connect socket for nameserver '%s'.\n",
+                                        resolvers->id, ns->id);
                                close(fd);
                                err_code |= (ERR_ALERT|ERR_ABORT);
                                continue;
@@ -1869,8 +1869,8 @@ static int dns_finalize_config(void)
                        /* Create dgram structure that will hold the UPD socket
                         * and attach it on the current nameserver */
                        if ((dgram = calloc(1, sizeof(*dgram))) == NULL) {
-                               Alert("config: resolvers '%s' : out of memory.\n",
-                                     resolvers->id);
+                               ha_alert("config: resolvers '%s' : out of memory.\n",
+                                        resolvers->id);
                                err_code |= (ERR_ALERT|ERR_ABORT);
                                goto err;
                        }
@@ -1885,7 +1885,7 @@ static int dns_finalize_config(void)
 
                /* Create the task associated to the resolvers section */
                if ((t = task_new(MAX_THREADS_MASK)) == NULL) {
-                       Alert("config : resolvers '%s' : out of memory.\n", resolvers->id);
+                       ha_alert("config : resolvers '%s' : out of memory.\n", resolvers->id);
                        err_code |= (ERR_ALERT|ERR_ABORT);
                        goto err;
                }
@@ -1907,8 +1907,8 @@ static int dns_finalize_config(void)
                                continue;
 
                        if ((resolvers = find_resolvers_by_id(srv->resolvers_id)) == NULL) {
-                               Alert("config : %s '%s', server '%s': unable to find required resolvers '%s'\n",
-                                     proxy_type_str(px), px->id, srv->id, srv->resolvers_id);
+                               ha_alert("config : %s '%s', server '%s': unable to find required resolvers '%s'\n",
+                                        proxy_type_str(px), px->id, srv->id, srv->resolvers_id);
                                err_code |= (ERR_ALERT|ERR_ABORT);
                                continue;
                        }
@@ -1917,15 +1917,15 @@ static int dns_finalize_config(void)
                        if (srv->srvrq && !srv->srvrq->resolvers) {
                                srv->srvrq->resolvers = srv->resolvers;
                                if (dns_link_resolution(srv->srvrq, OBJ_TYPE_SRVRQ, 0) == -1) {
-                                       Alert("config : %s '%s' : unable to set DNS resolution for server '%s'.\n",
-                                             proxy_type_str(px), px->id, srv->id);
+                                       ha_alert("config : %s '%s' : unable to set DNS resolution for server '%s'.\n",
+                                                proxy_type_str(px), px->id, srv->id);
                                        err_code |= (ERR_ALERT|ERR_ABORT);
                                        continue;
                                }
                        }
                        if (dns_link_resolution(srv, OBJ_TYPE_SERVER, 0) == -1) {
-                               Alert("config : %s '%s', unable to set DNS resolution for server '%s'.\n",
-                                     proxy_type_str(px), px->id, srv->id);
+                               ha_alert("config : %s '%s', unable to set DNS resolution for server '%s'.\n",
+                                        proxy_type_str(px), px->id, srv->id);
                                err_code |= (ERR_ALERT|ERR_ABORT);
                                continue;
                        }
index c1d3f877fc187072690371f9754ddcb504f1909f..bf188b5420e5f9440159743f7292d8c6e86ad1e9 100644 (file)
@@ -291,8 +291,8 @@ flt_init_all()
        for (px = proxy; px; px = px->next) {
                err_code |= flt_init(px);
                if (err_code & (ERR_ABORT|ERR_FATAL)) {
-                       Alert("Failed to initialize filters for proxy '%s'.\n",
-                             px->id);
+                       ha_alert("Failed to initialize filters for proxy '%s'.\n",
+                                px->id);
                        return err_code;
                }
        }
@@ -310,8 +310,8 @@ flt_init_all_per_thread()
        for (px = proxy; px; px = px->next) {
                err_code = flt_init_per_thread(px);
                if (err_code & (ERR_ABORT|ERR_FATAL)) {
-                       Alert("Failed to initialize filters for proxy '%s' for thread %u.\n",
-                             px->id, tid);
+                       ha_alert("Failed to initialize filters for proxy '%s' for thread %u.\n",
+                                px->id, tid);
                        return 0;
                }
        }
index 7cbd3a7c5e2e20749eb3c01abcb48fe01b510c0c..b3b0fbd13823b32266188a822ee669acc8ccbd09 100644 (file)
@@ -261,7 +261,7 @@ comp_http_forward_data(struct stream *s, struct filter *filter,
 
        /* To work, previous filters MUST forward all data */
        if (flt_rsp_fwd(filter) + len != flt_rsp_nxt(filter)) {
-               Warning("HTTP compression failed: unexpected behavior of previous filters\n");
+               ha_warning("HTTP compression failed: unexpected behavior of previous filters\n");
                return -1;
        }
 
@@ -298,8 +298,8 @@ comp_http_forward_data(struct stream *s, struct filter *filter,
        if (msg->flags & HTTP_MSGF_TE_CHNK) {
                ret = http_compression_buffer_add_data(st, tmpbuf, zbuf, tmpbuf->i);
                if (ret != tmpbuf->i) {
-                       Warning("HTTP compression failed: Must consume %d bytes but only %d bytes consumed\n",
-                               tmpbuf->i, ret);
+                       ha_warning("HTTP compression failed: Must consume %d bytes but only %d bytes consumed\n",
+                                  tmpbuf->i, ret);
                        return -1;
                }
        }
@@ -903,16 +903,16 @@ check_legacy_http_comp_flt(struct proxy *proxy)
                        if (fconf->id == http_comp_flt_id)
                                goto end;
                }
-               Alert("config: %s '%s': require an explicit filter declaration to use HTTP compression\n",
-                     proxy_type_str(proxy), proxy->id);
+               ha_alert("config: %s '%s': require an explicit filter declaration to use HTTP compression\n",
+                        proxy_type_str(proxy), proxy->id);
                err++;
                goto end;
        }
 
        fconf = calloc(1, sizeof(*fconf));
        if (!fconf) {
-               Alert("config: %s '%s': out of memory\n",
-                     proxy_type_str(proxy), proxy->id);
+               ha_alert("config: %s '%s': out of memory\n",
+                        proxy_type_str(proxy), proxy->id);
                err++;
                goto end;
        }
index ea4675cb76ab6f2496812073bf4b923b65d71fb3..717715a8e03cdf78dbc2844986a02d486bbdbd73 100644 (file)
@@ -2893,25 +2893,25 @@ spoe_check(struct proxy *px, struct flt_conf *fconf)
 
                /* Check engine Id. It should be uniq */
                if (!strcmp(conf->id, c->id)) {
-                       Alert("Proxy %s : duplicated name for SPOE engine '%s'.\n",
-                             px->id, conf->id);
+                       ha_alert("Proxy %s : duplicated name for SPOE engine '%s'.\n",
+                                px->id, conf->id);
                        return 1;
                }
        }
 
        target = proxy_be_by_name(conf->agent->b.name);
        if (target == NULL) {
-               Alert("Proxy %s : unknown backend '%s' used by SPOE agent '%s'"
-                     " declared at %s:%d.\n",
-                     px->id, conf->agent->b.name, conf->agent->id,
-                     conf->agent->conf.file, conf->agent->conf.line);
+               ha_alert("Proxy %s : unknown backend '%s' used by SPOE agent '%s'"
+                        " declared at %s:%d.\n",
+                        px->id, conf->agent->b.name, conf->agent->id,
+                        conf->agent->conf.file, conf->agent->conf.line);
                return 1;
        }
        if (target->mode != PR_MODE_TCP) {
-               Alert("Proxy %s : backend '%s' used by SPOE agent '%s' declared"
-                     " at %s:%d does not support HTTP mode.\n",
-                     px->id, target->id, conf->agent->id,
-                     conf->agent->conf.file, conf->agent->conf.line);
+               ha_alert("Proxy %s : backend '%s' used by SPOE agent '%s' declared"
+                        " at %s:%d does not support HTTP mode.\n",
+                        px->id, target->id, conf->agent->id,
+                        conf->agent->conf.file, conf->agent->conf.line);
                return 1;
        }
 
@@ -3152,8 +3152,8 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
 
        if (!strcmp(args[0], "spoe-agent")) { /* new spoe-agent section */
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : missing name for spoe-agent section.\n",
-                             file, linenum);
+                       ha_alert("parsing [%s:%d] : missing name for spoe-agent section.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -3164,20 +3164,20 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
-                             file, linenum, *err, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
+                                file, linenum, *err, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
 
                if (curagent != NULL) {
-                       Alert("parsing [%s:%d] : another spoe-agent section previously defined.\n",
-                             file, linenum);
+                       ha_alert("parsing [%s:%d] : another spoe-agent section previously defined.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
                if ((curagent = calloc(1, sizeof(*curagent))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -3209,7 +3209,7 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
                LIST_INIT(&curagent->messages);
 
                if ((curagent->rt = calloc(global.nbthread, sizeof(*curagent->rt))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -3226,8 +3226,8 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
        }
        else if (!strcmp(args[0], "use-backend")) {
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects a backend name.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects a backend name.\n",
+                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3243,15 +3243,15 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
 
                        list_for_each_entry(ph, &curmphs, list) {
                                if (!strcmp(ph->id, args[cur_arg])) {
-                                       Alert("parsing [%s:%d]: spoe-message '%s' already used.\n",
-                                             file, linenum, args[cur_arg]);
+                                       ha_alert("parsing [%s:%d]: spoe-message '%s' already used.\n",
+                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                        }
 
                        if ((ph = calloc(1, sizeof(*ph))) == NULL) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
@@ -3267,15 +3267,15 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
 
                        list_for_each_entry(ph, &curgphs, list) {
                                if (!strcmp(ph->id, args[cur_arg])) {
-                                       Alert("parsing [%s:%d]: spoe-group '%s' already used.\n",
-                                             file, linenum, args[cur_arg]);
+                                       ha_alert("parsing [%s:%d]: spoe-group '%s' already used.\n",
+                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                        }
 
                        if ((ph = calloc(1, sizeof(*ph))) == NULL) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
@@ -3290,8 +3290,8 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
                unsigned      timeout;
 
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : 'timeout' expects 'hello', 'idle' and 'processing'.\n",
-                             file, linenum);
+                       ha_alert("parsing [%s:%d] : 'timeout' expects 'hello', 'idle' and 'processing'.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3304,21 +3304,21 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
                else if (!strcmp(args[1], "processing"))
                        tv = &curagent->timeout.processing;
                else {
-                       Alert("parsing [%s:%d] : 'timeout' supports 'hello', 'idle' or 'processing' (got %s).\n",
-                             file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d] : 'timeout' supports 'hello', 'idle' or 'processing' (got %s).\n",
+                                file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                if (!*args[2]) {
-                       Alert("parsing [%s:%d] : 'timeout %s' expects an integer value (in milliseconds).\n",
-                             file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d] : 'timeout %s' expects an integer value (in milliseconds).\n",
+                                file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                res = parse_time_err(args[2], &timeout, TIME_UNIT_MS);
                if (res) {
-                       Alert("parsing [%s:%d] : unexpected character '%c' in 'timeout %s'.\n",
-                             file, linenum, *res, args[1]);
+                       ha_alert("parsing [%s:%d] : unexpected character '%c' in 'timeout %s'.\n",
+                                file, linenum, *res, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3326,8 +3326,8 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
        }
        else if (!strcmp(args[0], "option")) {
                if (!*args[1]) {
-                        Alert("parsing [%s:%d]: '%s' expects an option name.\n",
-                              file, linenum, args[0]);
+                        ha_alert("parsing [%s:%d]: '%s' expects an option name.\n",
+                                file, linenum, args[0]);
                         err_code |= ERR_ALERT | ERR_FATAL;
                         goto out;
                 }
@@ -3350,8 +3350,8 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
                                if (global.nbthread == 1)
                                        curagent->flags |= SPOE_FL_ASYNC;
                                else {
-                                       Warning("parsing [%s:%d] Async option is not supported with threads.\n",
-                                               file, linenum);
+                                       ha_warning("parsing [%s:%d] Async option is not supported with threads.\n",
+                                                  file, linenum);
                                        err_code |= ERR_WARN;
                                }
                        }
@@ -3369,8 +3369,8 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
 
                /* Following options does not support negation */
                if (kwm == 1) {
-                       Alert("parsing [%s:%d]: negation is not supported for option '%s'.\n",
-                             file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d]: negation is not supported for option '%s'.\n",
+                                file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3379,9 +3379,9 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
                        char *tmp;
 
                        if (!*args[2]) {
-                               Alert("parsing [%s:%d]: '%s %s' expects a value.\n",
-                                     file, linenum, args[0],
-                                     args[1]);
+                               ha_alert("parsing [%s:%d]: '%s %s' expects a value.\n",
+                                        file, linenum, args[0],
+                                        args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3390,8 +3390,8 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
                        tmp = args[2];
                        while (*tmp) {
                                if (!isalnum(*tmp) && *tmp != '_' && *tmp != '.') {
-                                       Alert("parsing [%s:%d]: '%s %s' only supports [a-zA-Z_-.] chars.\n",
-                                             file, linenum, args[0], args[1]);
+                                       ha_alert("parsing [%s:%d]: '%s %s' only supports [a-zA-Z_-.] chars.\n",
+                                                file, linenum, args[0], args[1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -3408,9 +3408,9 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
                        char *tmp;
 
                        if (!*args[2]) {
-                               Alert("parsing [%s:%d]: '%s %s' expects a value.\n",
-                                     file, linenum, args[0],
-                                     args[1]);
+                               ha_alert("parsing [%s:%d]: '%s %s' expects a value.\n",
+                                        file, linenum, args[0],
+                                        args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
@@ -3419,8 +3419,8 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
                        tmp = args[2];
                        while (*tmp) {
                                if (!isalnum(*tmp) && *tmp != '_' && *tmp != '.') {
-                                       Alert("parsing [%s:%d]: '%s %s' only supports [a-zA-Z_-.] chars.\n",
-                                             file, linenum, args[0], args[1]);
+                                       ha_alert("parsing [%s:%d]: '%s %s' only supports [a-zA-Z_-.] chars.\n",
+                                                file, linenum, args[0], args[1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
@@ -3429,16 +3429,16 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
                        curagent->var_on_error = strdup(args[2]);
                }
                else {
-                       Alert("parsing [%s:%d]: option '%s' is not supported.\n",
-                             file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d]: option '%s' is not supported.\n",
+                                file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        }
        else if (!strcmp(args[0], "maxconnrate")) {
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n",
-                              file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n",
+                                file, linenum, args[0]);
                         err_code |= ERR_ALERT | ERR_FATAL;
                         goto out;
                 }
@@ -3448,8 +3448,8 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
        }
        else if (!strcmp(args[0], "maxerrrate")) {
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n",
-                              file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n",
+                                file, linenum, args[0]);
                         err_code |= ERR_ALERT | ERR_FATAL;
                         goto out;
                 }
@@ -3459,8 +3459,8 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
        }
        else if (!strcmp(args[0], "max-frame-size")) {
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : '%s' expects an integer argument.\n",
-                              file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' expects an integer argument.\n",
+                                file, linenum, args[0]);
                         err_code |= ERR_ALERT | ERR_FATAL;
                         goto out;
                 }
@@ -3469,15 +3469,15 @@ cfg_parse_spoe_agent(const char *file, int linenum, char **args, int kwm)
                curagent->max_frame_size = atol(args[1]);
                if (curagent->max_frame_size < MIN_FRAME_SIZE ||
                    curagent->max_frame_size > MAX_FRAME_SIZE) {
-                       Alert("parsing [%s:%d] : '%s' expects a positive integer argument in the range [%d, %d].\n",
-                             file, linenum, args[0], MIN_FRAME_SIZE, MAX_FRAME_SIZE);
+                       ha_alert("parsing [%s:%d] : '%s' expects a positive integer argument in the range [%d, %d].\n",
+                                file, linenum, args[0], MIN_FRAME_SIZE, MAX_FRAME_SIZE);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        }
        else if (*args[0]) {
-               Alert("parsing [%s:%d] : unknown keyword '%s' in spoe-agent section.\n",
-                     file, linenum, args[0]);
+               ha_alert("parsing [%s:%d] : unknown keyword '%s' in spoe-agent section.\n",
+                        file, linenum, args[0]);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -3498,8 +3498,8 @@ cfg_parse_spoe_group(const char *file, int linenum, char **args, int kwm)
 
        if (!strcmp(args[0], "spoe-group")) { /* new spoe-group section */
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : missing name for spoe-group section.\n",
-                             file, linenum);
+                       ha_alert("parsing [%s:%d] : missing name for spoe-group section.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -3510,24 +3510,24 @@ cfg_parse_spoe_group(const char *file, int linenum, char **args, int kwm)
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
-                             file, linenum, *err, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
+                                file, linenum, *err, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
 
                list_for_each_entry(grp, &curgrps, list) {
                        if (!strcmp(grp->id, args[1])) {
-                               Alert("parsing [%s:%d]: spoe-group section '%s' has the same"
-                                     " name as another one declared at %s:%d.\n",
-                                     file, linenum, args[1], grp->conf.file, grp->conf.line);
+                               ha_alert("parsing [%s:%d]: spoe-group section '%s' has the same"
+                                        " name as another one declared at %s:%d.\n",
+                                        file, linenum, args[1], grp->conf.file, grp->conf.line);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                }
 
                if ((curgrp = calloc(1, sizeof(*curgrp))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -3546,15 +3546,15 @@ cfg_parse_spoe_group(const char *file, int linenum, char **args, int kwm)
 
                        list_for_each_entry(ph, &curgrp->phs, list) {
                                if (!strcmp(ph->id, args[cur_arg])) {
-                                       Alert("parsing [%s:%d]: spoe-message '%s' already used.\n",
-                                             file, linenum, args[cur_arg]);
+                                       ha_alert("parsing [%s:%d]: spoe-message '%s' already used.\n",
+                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                        }
 
                        if ((ph = calloc(1, sizeof(*ph))) == NULL) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
@@ -3564,8 +3564,8 @@ cfg_parse_spoe_group(const char *file, int linenum, char **args, int kwm)
                }
        }
        else if (*args[0]) {
-               Alert("parsing [%s:%d] : unknown keyword '%s' in spoe-group section.\n",
-                     file, linenum, args[0]);
+               ha_alert("parsing [%s:%d] : unknown keyword '%s' in spoe-group section.\n",
+                        file, linenum, args[0]);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -3589,8 +3589,8 @@ cfg_parse_spoe_message(const char *file, int linenum, char **args, int kwm)
 
        if (!strcmp(args[0], "spoe-message")) { /* new spoe-message section */
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : missing name for spoe-message section.\n",
-                             file, linenum);
+                       ha_alert("parsing [%s:%d] : missing name for spoe-message section.\n",
+                                file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -3601,24 +3601,24 @@ cfg_parse_spoe_message(const char *file, int linenum, char **args, int kwm)
 
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
-                             file, linenum, *err, args[0], args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in '%s' name '%s'.\n",
+                                file, linenum, *err, args[0], args[1]);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
 
                list_for_each_entry(msg, &curmsgs, list) {
                        if (!strcmp(msg->id, args[1])) {
-                               Alert("parsing [%s:%d]: spoe-message section '%s' has the same"
-                                     " name as another one declared at %s:%d.\n",
-                                     file, linenum, args[1], msg->conf.file, msg->conf.line);
+                               ha_alert("parsing [%s:%d]: spoe-message section '%s' has the same"
+                                        " name as another one declared at %s:%d.\n",
+                                        file, linenum, args[1], msg->conf.file, msg->conf.line);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                }
 
                if ((curmsg = calloc(1, sizeof(*curmsg))) == NULL) {
-                       Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_ABORT;
                        goto out;
                }
@@ -3646,7 +3646,7 @@ cfg_parse_spoe_message(const char *file, int linenum, char **args, int kwm)
                        int   idx = 0;
 
                        if ((arg = calloc(1, sizeof(*arg))) == NULL) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
@@ -3665,7 +3665,7 @@ cfg_parse_spoe_message(const char *file, int linenum, char **args, int kwm)
                                                      &idx, file, linenum, &errmsg,
                                                      &curproxy->conf.args);
                        if (arg->expr == NULL) {
-                               Alert("parsing [%s:%d] : '%s': %s.\n", file, linenum, args[0], errmsg);
+                               ha_alert("parsing [%s:%d] : '%s': %s.\n", file, linenum, args[0], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                free(arg->name);
                                free(arg);
@@ -3681,21 +3681,21 @@ cfg_parse_spoe_message(const char *file, int linenum, char **args, int kwm)
        else if (!strcmp(args[0], "acl")) {
                err = invalid_char(args[1]);
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in acl name '%s'.\n",
-                             file, linenum, *err, args[1]);
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in acl name '%s'.\n",
+                                file, linenum, *err, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
                if (parse_acl((const char **)args + 1, &curmsg->acls, &errmsg, &curproxy->conf.args, file, linenum) == NULL) {
-                       Alert("parsing [%s:%d] : error detected while parsing ACL '%s' : %s.\n",
-                             file, linenum, args[1], errmsg);
+                       ha_alert("parsing [%s:%d] : error detected while parsing ACL '%s' : %s.\n",
+                                file, linenum, args[1], errmsg);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        }
        else if (!strcmp(args[0], "event")) {
                if (!*args[1]) {
-                       Alert("parsing [%s:%d] : missing event name.\n", file, linenum);
+                       ha_alert("parsing [%s:%d] : missing event name.\n", file, linenum);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3721,8 +3721,8 @@ cfg_parse_spoe_message(const char *file, int linenum, char **args, int kwm)
                else if (!strcmp(args[1], spoe_event_str[SPOE_EV_ON_HTTP_RSP]))
                        curmsg->event = SPOE_EV_ON_HTTP_RSP;
                else {
-                       Alert("parsing [%s:%d] : unkown event '%s'.\n",
-                             file, linenum, args[1]);
+                       ha_alert("parsing [%s:%d] : unkown event '%s'.\n",
+                                file, linenum, args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -3734,25 +3734,25 @@ cfg_parse_spoe_message(const char *file, int linenum, char **args, int kwm)
                                              curproxy, (const char **)args+2,
                                              &errmsg);
                        if (cond == NULL) {
-                               Alert("parsing [%s:%d] : error detected while "
-                                     "parsing an 'event %s' condition : %s.\n",
-                                     file, linenum, args[1], errmsg);
+                               ha_alert("parsing [%s:%d] : error detected while "
+                                        "parsing an 'event %s' condition : %s.\n",
+                                        file, linenum, args[1], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
                        curmsg->cond = cond;
                }
                else if (*args[2]) {
-                       Alert("parsing [%s:%d]: 'event %s' expects either 'if' "
-                             "or 'unless' followed by a condition but found '%s'.\n",
-                             file, linenum, args[1], args[2]);
+                       ha_alert("parsing [%s:%d]: 'event %s' expects either 'if' "
+                                "or 'unless' followed by a condition but found '%s'.\n",
+                                file, linenum, args[1], args[2]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
        }
        else if (!*args[0]) {
-               Alert("parsing [%s:%d] : unknown keyword '%s' in spoe-message section.\n",
-                     file, linenum, args[0]);
+               ha_alert("parsing [%s:%d] : unknown keyword '%s' in spoe-message section.\n",
+                        file, linenum, args[0]);
                err_code |= ERR_ALERT | ERR_FATAL;
                goto out;
        }
@@ -3856,11 +3856,11 @@ parse_spoe_flt(char **args, int *cur_arg, struct proxy *px,
        if (curagent->timeout.hello      == TICK_ETERNITY ||
            curagent->timeout.idle       == TICK_ETERNITY ||
            curagent->timeout.processing == TICK_ETERNITY) {
-               Warning("Proxy '%s': missing timeouts for SPOE agent '%s' declare at %s:%d.\n"
-                       "   | While not properly invalid, you will certainly encounter various problems\n"
-                       "   | with such a configuration. To fix this, please ensure that all following\n"
-                       "   | timeouts are set to a non-zero value: 'hello', 'idle', 'processing'.\n",
-                       px->id, curagent->id, curagent->conf.file, curagent->conf.line);
+               ha_warning("Proxy '%s': missing timeouts for SPOE agent '%s' declare at %s:%d.\n"
+                          "   | While not properly invalid, you will certainly encounter various problems\n"
+                          "   | with such a configuration. To fix this, please ensure that all following\n"
+                          "   | timeouts are set to a non-zero value: 'hello', 'idle', 'processing'.\n",
+                          px->id, curagent->id, curagent->conf.file, curagent->conf.line);
        }
        if (curagent->var_pfx == NULL) {
                char *tmp = curagent->id;
@@ -3880,8 +3880,8 @@ parse_spoe_flt(char **args, int *cur_arg, struct proxy *px,
                curagent->engine_id = generate_pseudo_uuid();
 
        if (LIST_ISEMPTY(&curmphs) && LIST_ISEMPTY(&curgphs)) {
-               Warning("Proxy '%s': No message/group used by SPOE agent '%s' declared at %s:%d.\n",
-                       px->id, curagent->id, curagent->conf.file, curagent->conf.line);
+               ha_warning("Proxy '%s': No message/group used by SPOE agent '%s' declared at %s:%d.\n",
+                          px->id, curagent->id, curagent->conf.file, curagent->conf.line);
                goto finish;
        }
 
@@ -3902,13 +3902,13 @@ parse_spoe_flt(char **args, int *cur_arg, struct proxy *px,
                                if (!(px->cap & PR_CAP_FE) && (msg->event == SPOE_EV_ON_CLIENT_SESS ||
                                                               msg->event == SPOE_EV_ON_TCP_REQ_FE ||
                                                               msg->event == SPOE_EV_ON_HTTP_REQ_FE)) {
-                                       Warning("Proxy '%s': frontend event used on a backend proxy at %s:%d.\n",
-                                               px->id, msg->conf.file, msg->conf.line);
+                                       ha_warning("Proxy '%s': frontend event used on a backend proxy at %s:%d.\n",
+                                                  px->id, msg->conf.file, msg->conf.line);
                                        goto next_mph;
                                }
                                if (msg->event == SPOE_EV_NONE) {
-                                       Warning("Proxy '%s': Ignore SPOE message '%s' without event at %s:%d.\n",
-                                               px->id, msg->id, msg->conf.file, msg->conf.line);
+                                       ha_warning("Proxy '%s': Ignore SPOE message '%s' without event at %s:%d.\n",
+                                                  px->id, msg->id, msg->conf.file, msg->conf.line);
                                        goto next_mph;
                                }
 
index 381d5a9fc08fe4c726056c009ecdc0282fe8c1d5..18d2cbf3ae53769d7a98721ec545652623ef548f 100644 (file)
@@ -685,14 +685,14 @@ static void mworker_reload()
                next_argv[next_argc++] = NULL;
        }
 
-       Warning("Reexecuting Master process\n");
+       ha_warning("Reexecuting Master process\n");
        execvp(next_argv[0], next_argv);
 
-       Warning("Failed to reexecute the master process [%d]: %s\n", pid, strerror(errno));
+       ha_warning("Failed to reexecute the master process [%d]: %s\n", pid, strerror(errno));
        return;
 
 alloc_error:
-       Warning("Failed to reexecute the master processs [%d]: Cannot allocate memory\n", pid);
+       ha_warning("Failed to reexecute the master processs [%d]: Cannot allocate memory\n", pid);
        return;
 }
 
@@ -730,7 +730,7 @@ restart_wait:
                                        sd_notify(0, "STOPPING=1");
                                }
 #endif
-                               Warning("Exiting Master process...\n");
+                               ha_warning("Exiting Master process...\n");
                                mworker_kill(sig);
                                mworker_unregister_signals();
                        }
@@ -738,7 +738,7 @@ restart_wait:
                }
 
                if (exitpid == -1 && errno == ECHILD) {
-                       Warning("All workers are left. Leaving... (%d)\n", status);
+                       ha_warning("All workers are left. Leaving... (%d)\n", status);
                        atexit_flag = 0;
                        exit(status); /* parent must leave using the latest status code known */
                }
@@ -753,18 +753,18 @@ restart_wait:
                        status = 255;
 
                if (!children) {
-                       Warning("Worker %d left with exit code %d\n", exitpid, status);
+                       ha_warning("Worker %d left with exit code %d\n", exitpid, status);
                } else {
                        /* check if exited child was in the current children list */
                        if (current_child(exitpid)) {
-                               Alert("Current worker %d left with exit code %d\n", exitpid, status);
+                               ha_alert("Current worker %d left with exit code %d\n", exitpid, status);
                                if (status != 0 && status != 130 && status != 143
                                    && global.tune.options & GTUNE_EXIT_ONFAILURE) {
-                                       Alert("exit-on-failure: killing every workers with SIGTERM\n");
+                                       ha_alert("exit-on-failure: killing every workers with SIGTERM\n");
                                        mworker_kill(SIGTERM);
                                }
                        } else {
-                               Warning("Former worker %d left with exit code %d\n", exitpid, status);
+                               ha_warning("Former worker %d left with exit code %d\n", exitpid, status);
                                delete_oldpid(exitpid);
                        }
                }
@@ -782,7 +782,7 @@ void reexec_on_failure()
 
        setenv("HAPROXY_MWORKER_WAIT_ONLY", "1", 1);
 
-       Warning("Reexecuting Master process in waitpid mode\n");
+       ha_warning("Reexecuting Master process in waitpid mode\n");
        mworker_reload();
 }
 
@@ -823,7 +823,7 @@ static void sig_dump_state(struct sig_handler *sh)
 {
        struct proxy *p = proxy;
 
-       Warning("SIGHUP received, dumping servers states.\n");
+       ha_warning("SIGHUP received, dumping servers states.\n");
        while (p) {
                struct server *s = p->srv;
 
@@ -834,7 +834,7 @@ static void sig_dump_state(struct sig_handler *sh)
                                     p->id, s->id,
                                     (s->cur_state != SRV_ST_STOPPED) ? "UP" : "DOWN",
                                     s->cur_sess, s->nbpend, s->counters.cum_sess);
-                       Warning("%s\n", trash.str);
+                       ha_warning("%s\n", trash.str);
                        send_log(p, LOG_NOTICE, "%s\n", trash.str);
                        s = s->next;
                }
@@ -858,7 +858,7 @@ static void sig_dump_state(struct sig_handler *sh)
                                     p->id, p->srv_act, p->srv_bck,
                                     p->feconn, p->beconn, p->totpend, p->nbpend, p->fe_counters.cum_conn, p->be_counters.cum_conn);
                }
-               Warning("%s\n", trash.str);
+               ha_warning("%s\n", trash.str);
                send_log(p, LOG_NOTICE, "%s\n", trash.str);
 
                p = p->next;
@@ -891,9 +891,9 @@ static void cfgfiles_expand_directories(void)
                int dir_entries_it;
 
                if (stat(wl->s, &file_stat)) {
-                       Alert("Cannot open configuration file/directory %s : %s\n",
-                             wl->s,
-                             strerror(errno));
+                       ha_alert("Cannot open configuration file/directory %s : %s\n",
+                                wl->s,
+                                strerror(errno));
                        exit(1);
                }
 
@@ -904,9 +904,9 @@ static void cfgfiles_expand_directories(void)
 
                dir_entries_nb = scandir(wl->s, &dir_entries, NULL, alphasort);
                if (dir_entries_nb < 0) {
-                       Alert("Cannot open configuration directory %s : %s\n",
-                             wl->s,
-                             strerror(errno));
+                       ha_alert("Cannot open configuration directory %s : %s\n",
+                                wl->s,
+                                strerror(errno));
                        exit(1);
                }
 
@@ -924,15 +924,15 @@ static void cfgfiles_expand_directories(void)
                                goto next_dir_entry;
 
                        if (!memprintf(&filename, "%s/%s", wl->s, dir_entry->d_name)) {
-                               Alert("Cannot load configuration files %s : out of memory.\n",
-                                     filename);
+                               ha_alert("Cannot load configuration files %s : out of memory.\n",
+                                        filename);
                                exit(1);
                        }
 
                        if (stat(filename, &file_stat)) {
-                               Alert("Cannot open configuration file %s : %s\n",
-                                     wl->s,
-                                     strerror(errno));
+                               ha_alert("Cannot open configuration file %s : %s\n",
+                                        wl->s,
+                                        strerror(errno));
                                exit(1);
                        }
 
@@ -943,9 +943,9 @@ static void cfgfiles_expand_directories(void)
                                goto next_dir_entry;
 
                        if (!list_append_word(&wl->list, filename, &err)) {
-                               Alert("Cannot load configuration files %s : %s\n",
-                                     filename,
-                                     err);
+                               ha_alert("Cannot load configuration files %s : %s\n",
+                                        filename,
+                                        err);
                                exit(1);
                        }
 
@@ -986,13 +986,13 @@ static int get_old_sockets(const char *unixsocket)
        memset(&msghdr, 0, sizeof(msghdr));
        cmsgbuf = malloc(CMSG_SPACE(sizeof(int)) * MAX_SEND_FD);
        if (!cmsgbuf) {
-               Warning("Failed to allocate memory to send sockets\n");
+               ha_warning("Failed to allocate memory to send sockets\n");
                goto out;
        }
        sock = socket(PF_UNIX, SOCK_STREAM, 0);
        if (sock < 0) {
-               Warning("Failed to connect to the old process socket '%s'\n",
-                   unixsocket);
+               ha_warning("Failed to connect to the old process socket '%s'\n",
+                          unixsocket);
                goto out;
        }
        strncpy(addr.sun_path, unixsocket, sizeof(addr.sun_path));
@@ -1000,8 +1000,8 @@ static int get_old_sockets(const char *unixsocket)
        addr.sun_family = PF_UNIX;
        ret = connect(sock, (struct sockaddr *)&addr, sizeof(addr));
        if (ret < 0) {
-               Warning("Failed to connect to the old process socket '%s'\n",
-                   unixsocket);
+               ha_warning("Failed to connect to the old process socket '%s'\n",
+                          unixsocket);
                goto out;
        }
        setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (void *)&tv, sizeof(tv));
@@ -1012,7 +1012,7 @@ static int get_old_sockets(const char *unixsocket)
        send(sock, "_getsocks\n", strlen("_getsocks\n"), 0);
        /* First, get the number of file descriptors to be received */
        if (recvmsg(sock, &msghdr, MSG_WAITALL) != sizeof(fd_nb)) {
-               Warning("Failed to get the number of sockets to be transferred !\n");
+               ha_warning("Failed to get the number of sockets to be transferred !\n");
                goto out;
        }
        if (fd_nb == 0) {
@@ -1021,12 +1021,12 @@ static int get_old_sockets(const char *unixsocket)
        }
        tmpbuf = malloc(fd_nb * (1 + MAXPATHLEN + 1 + IFNAMSIZ + sizeof(int)));
        if (tmpbuf == NULL) {
-               Warning("Failed to allocate memory while receiving sockets\n");
+               ha_warning("Failed to allocate memory while receiving sockets\n");
                goto out;
        }
        tmpfd = malloc(fd_nb * sizeof(int));
        if (tmpfd == NULL) {
-               Warning("Failed to allocate memory while receiving sockets\n");
+               ha_warning("Failed to allocate memory while receiving sockets\n");
                goto out;
        }
        msghdr.msg_control = cmsgbuf;
@@ -1054,7 +1054,7 @@ static int get_old_sockets(const char *unixsocket)
                                size_t totlen = cmsg->cmsg_len -
                                    CMSG_LEN(0);
                                if (totlen / sizeof(int) + got_fd > fd_nb) {
-                                       Warning("Got to many sockets !\n");
+                                       ha_warning("Got to many sockets !\n");
                                        goto out;
                                }
                                /*
@@ -1069,8 +1069,8 @@ static int get_old_sockets(const char *unixsocket)
        } while (got_fd < fd_nb);
 
        if (got_fd != fd_nb) {
-               Warning("We didn't get the expected number of sockets (expecting %d got %d)\n",
-                   fd_nb, got_fd);
+               ha_warning("We didn't get the expected number of sockets (expecting %d got %d)\n",
+                          fd_nb, got_fd);
                goto out;
        }
        maxoff = curoff;
@@ -1082,32 +1082,32 @@ static int get_old_sockets(const char *unixsocket)
 
                xfer_sock = calloc(1, sizeof(*xfer_sock));
                if (!xfer_sock) {
-                       Warning("Failed to allocate memory in get_old_sockets() !\n");
+                       ha_warning("Failed to allocate memory in get_old_sockets() !\n");
                        break;
                }
                xfer_sock->fd = -1;
 
                socklen = sizeof(xfer_sock->addr);
                if (getsockname(fd, (struct sockaddr *)&xfer_sock->addr, &socklen) != 0) {
-                       Warning("Failed to get socket address\n");
+                       ha_warning("Failed to get socket address\n");
                        free(xfer_sock);
                        xfer_sock = NULL;
                        continue;
                }
                if (curoff >= maxoff) {
-                       Warning("Inconsistency while transferring sockets\n");
+                       ha_warning("Inconsistency while transferring sockets\n");
                        goto out;
                }
                len = tmpbuf[curoff++];
                if (len > 0) {
                        /* We have a namespace */
                        if (curoff + len > maxoff) {
-                               Warning("Inconsistency while transferring sockets\n");
+                               ha_warning("Inconsistency while transferring sockets\n");
                                goto out;
                        }
                        xfer_sock->namespace = malloc(len + 1);
                        if (!xfer_sock->namespace) {
-                               Warning("Failed to allocate memory while transferring sockets\n");
+                               ha_warning("Failed to allocate memory while transferring sockets\n");
                                goto out;
                        }
                        memcpy(xfer_sock->namespace, &tmpbuf[curoff], len);
@@ -1115,19 +1115,19 @@ static int get_old_sockets(const char *unixsocket)
                        curoff += len;
                }
                if (curoff >= maxoff) {
-                       Warning("Inconsistency while transferring sockets\n");
+                       ha_warning("Inconsistency while transferring sockets\n");
                        goto out;
                }
                len = tmpbuf[curoff++];
                if (len > 0) {
                        /* We have an interface */
                        if (curoff + len > maxoff) {
-                               Warning("Inconsistency while transferring sockets\n");
+                               ha_warning("Inconsistency while transferring sockets\n");
                                goto out;
                        }
                        xfer_sock->iface = malloc(len + 1);
                        if (!xfer_sock->iface) {
-                               Warning("Failed to allocate memory while transferring sockets\n");
+                               ha_warning("Failed to allocate memory while transferring sockets\n");
                                goto out;
                        }
                        memcpy(xfer_sock->iface, &tmpbuf[curoff], len);
@@ -1135,7 +1135,7 @@ static int get_old_sockets(const char *unixsocket)
                        curoff += len;
                }
                if (curoff + sizeof(int) > maxoff) {
-                       Warning("Inconsistency while transferring sockets\n");
+                       ha_warning("Inconsistency while transferring sockets\n");
                        goto out;
                }
                memcpy(&xfer_sock->options, &tmpbuf[curoff],
@@ -1189,7 +1189,7 @@ static char **copy_argv(int argc, char **argv)
 
        newargv = calloc(argc + 2, sizeof(char *));
        if (newargv == NULL) {
-               Warning("Cannot allocate memory\n");
+               ha_warning("Cannot allocate memory\n");
                return NULL;
        }
 
@@ -1231,7 +1231,7 @@ static void init(int argc, char **argv)
        next_argv = copy_argv(argc, argv);
 
        if (!init_trash_buffers(1)) {
-               Alert("failed to initialize trash buffers.\n");
+               ha_alert("failed to initialize trash buffers.\n");
                exit(1);
        }
 
@@ -1367,7 +1367,7 @@ static void init(int argc, char **argv)
 #if defined(USE_SYSTEMD)
                                global.tune.options |= GTUNE_USE_SYSTEMD;
 #else
-                               Alert("master-worker mode with systemd support (-Ws) requested, but not compiled. Use master-worker mode (-W) if you are not using Type=notify in your unit file or recompile with USE_SYSTEMD=1.\n\n");
+                               ha_alert("master-worker mode with systemd support (-Ws) requested, but not compiled. Use master-worker mode (-W) if you are not using Type=notify in your unit file or recompile with USE_SYSTEMD=1.\n\n");
                                usage(progname);
 #endif
                        }
@@ -1377,11 +1377,11 @@ static void init(int argc, char **argv)
                                arg_mode |= MODE_QUIET;
                        else if (*flag == 'x') {
                                if (argc <= 1 || argv[1][0] == '-') {
-                                       Alert("Unix socket path expected with the -x flag\n\n");
+                                       ha_alert("Unix socket path expected with the -x flag\n\n");
                                        usage(progname);
                                }
                                if (old_unixsocket)
-                                       Warning("-x option already set, overwriting the value\n");
+                                       ha_warning("-x option already set, overwriting the value\n");
                                old_unixsocket = argv[1];
 
                                argv++;
@@ -1397,7 +1397,7 @@ static void init(int argc, char **argv)
                                while (argc > 1 && argv[1][0] != '-') {
                                        oldpids = realloc(oldpids, (nb_oldpids + 1) * sizeof(int));
                                        if (!oldpids) {
-                                               Alert("Cannot allocate old pid : out of memory.\n");
+                                               ha_alert("Cannot allocate old pid : out of memory.\n");
                                                exit(1);
                                        }
                                        argc--; argv++;
@@ -1412,9 +1412,9 @@ static void init(int argc, char **argv)
                                argv++; argc--;
                                while (argc > 0) {
                                        if (!list_append_word(&cfg_cfgfiles, *argv, &err_msg)) {
-                                               Alert("Cannot load configuration file/directory %s : %s\n",
-                                                     *argv,
-                                                     err_msg);
+                                               ha_alert("Cannot load configuration file/directory %s : %s\n",
+                                                        *argv,
+                                                        err_msg);
                                                exit(1);
                                        }
                                        argv++; argc--;
@@ -1434,9 +1434,9 @@ static void init(int argc, char **argv)
                                case 'L' : strncpy(localpeer, *argv, sizeof(localpeer) - 1); break;
                                case 'f' :
                                        if (!list_append_word(&cfg_cfgfiles, *argv, &err_msg)) {
-                                               Alert("Cannot load configuration file/directory %s : %s\n",
-                                                     *argv,
-                                                     err_msg);
+                                               ha_alert("Cannot load configuration file/directory %s : %s\n",
+                                                        *argv,
+                                                        err_msg);
                                                exit(1);
                                        }
                                        break;
@@ -1466,7 +1466,7 @@ static void init(int argc, char **argv)
        }
 
        if (change_dir && chdir(change_dir) < 0) {
-               Alert("Could not change to directory %s : %s\n", change_dir, strerror(errno));
+               ha_alert("Could not change to directory %s : %s\n", change_dir, strerror(errno));
                exit(1);
        }
 
@@ -1485,12 +1485,12 @@ static void init(int argc, char **argv)
 
                ret = readcfgfile(wl->s);
                if (ret == -1) {
-                       Alert("Could not open configuration file %s : %s\n",
-                             wl->s, strerror(errno));
+                       ha_alert("Could not open configuration file %s : %s\n",
+                                wl->s, strerror(errno));
                        exit(1);
                }
                if (ret & (ERR_ABORT|ERR_FATAL))
-                       Alert("Error(s) found in configuration file : %s\n", wl->s);
+                       ha_alert("Error(s) found in configuration file : %s\n", wl->s);
                err_code |= ret;
                if (err_code & ERR_ABORT)
                        exit(1);
@@ -1501,7 +1501,7 @@ static void init(int argc, char **argv)
         * or failed memory allocations.
         */
        if (err_code & (ERR_ABORT|ERR_FATAL)) {
-               Alert("Fatal errors found in configuration.\n");
+               ha_alert("Fatal errors found in configuration.\n");
                exit(1);
        }
 
@@ -1509,7 +1509,7 @@ static void init(int argc, char **argv)
 
        err_code |= check_config_validity();
        if (err_code & (ERR_ABORT|ERR_FATAL)) {
-               Alert("Fatal errors found in configuration.\n");
+               ha_alert("Fatal errors found in configuration.\n");
                exit(1);
        }
 
@@ -1532,7 +1532,7 @@ static void init(int argc, char **argv)
 #ifdef CONFIG_HAP_NS
         err_code |= netns_init();
         if (err_code & (ERR_ABORT|ERR_FATAL)) {
-                Alert("Failed to initialize namespace support.\n");
+                ha_alert("Failed to initialize namespace support.\n");
                 exit(1);
         }
 #endif
@@ -1546,7 +1546,7 @@ static void init(int argc, char **argv)
        /* Apply servers' configured address */
        err_code |= srv_init_addr();
        if (err_code & (ERR_ABORT|ERR_FATAL)) {
-               Alert("Failed to initialize server(s) addr.\n");
+               ha_alert("Failed to initialize server(s) addr.\n");
                exit(1);
        }
 
@@ -1573,7 +1573,7 @@ static void init(int argc, char **argv)
 
        global_listener_queue_task = task_new(MAX_THREADS_MASK);
        if (!global_listener_queue_task) {
-               Alert("Out of memory when initializing global task\n");
+               ha_alert("Out of memory when initializing global task\n");
                exit(1);
        }
        /* very simple initialization, users will queue the task if needed */
@@ -1679,12 +1679,12 @@ static void init(int argc, char **argv)
                global.maxsslconn = round_2dig(global.maxsslconn);
 
                if (sslmem <= 0 || global.maxsslconn < sides) {
-                       Alert("Cannot compute the automatic maxsslconn because global.maxconn is already too "
-                             "high for the global.memmax value (%d MB). The absolute maximum possible value "
-                             "without SSL is %d, but %d was found and SSL is in use.\n",
-                             global.rlimit_memmax,
-                             (int)(mem / (STREAM_MAX_COST + 2 * global.tune.bufsize)),
-                             global.maxconn);
+                       ha_alert("Cannot compute the automatic maxsslconn because global.maxconn is already too "
+                                "high for the global.memmax value (%d MB). The absolute maximum possible value "
+                                "without SSL is %d, but %d was found and SSL is in use.\n",
+                                global.rlimit_memmax,
+                                (int)(mem / (STREAM_MAX_COST + 2 * global.tune.bufsize)),
+                                global.maxconn);
                        exit(1);
                }
 
@@ -1719,12 +1719,12 @@ static void init(int argc, char **argv)
 #endif /* SYSTEM_MAXCONN */
 
                if (clearmem <= 0 || !global.maxconn) {
-                       Alert("Cannot compute the automatic maxconn because global.maxsslconn is already too "
-                             "high for the global.memmax value (%d MB). The absolute maximum possible value "
-                             "is %d, but %d was found.\n",
-                             global.rlimit_memmax,
-                             (int)(mem / (global.ssl_session_max_cost + global.ssl_handshake_max_cost)),
-                             global.maxsslconn);
+                       ha_alert("Cannot compute the automatic maxconn because global.maxsslconn is already too "
+                                "high for the global.memmax value (%d MB). The absolute maximum possible value "
+                                "is %d, but %d was found.\n",
+                                global.rlimit_memmax,
+                                (int)(mem / (global.ssl_session_max_cost + global.ssl_handshake_max_cost)),
+                                global.maxsslconn);
                        exit(1);
                }
 
@@ -1803,13 +1803,13 @@ static void init(int argc, char **argv)
        global.mode |= (arg_mode & (MODE_QUIET | MODE_VERBOSE));
 
        if ((global.mode & MODE_DEBUG) && (global.mode & (MODE_DAEMON | MODE_QUIET))) {
-               Warning("<debug> mode incompatible with <quiet> and <daemon>. Keeping <debug> only.\n");
+               ha_warning("<debug> mode incompatible with <quiet> and <daemon>. Keeping <debug> only.\n");
                global.mode &= ~(MODE_DAEMON | MODE_QUIET);
        }
 
        if ((global.nbproc > 1) && !(global.mode & (MODE_DAEMON | MODE_MWORKER))) {
                if (!(global.mode & (MODE_FOREGROUND | MODE_DEBUG)))
-                       Warning("<nbproc> is only meaningful in daemon mode or master-worker mode. Setting limit to 1 process.\n");
+                       ha_warning("<nbproc> is only meaningful in daemon mode or master-worker mode. Setting limit to 1 process.\n");
                global.nbproc = 1;
        }
 
@@ -1821,12 +1821,12 @@ static void init(int argc, char **argv)
 
        /* Realloc trash buffers because global.tune.bufsize may have changed */
        if (!init_trash_buffers(0)) {
-               Alert("failed to initialize trash buffers.\n");
+               ha_alert("failed to initialize trash buffers.\n");
                exit(1);
        }
 
        if (!init_log_buffers()) {
-               Alert("failed to initialize log buffers.\n");
+               ha_alert("failed to initialize log buffers.\n");
                exit(1);
        }
 
@@ -1856,16 +1856,16 @@ static void init(int argc, char **argv)
        }
 
        if (!init_pollers()) {
-               Alert("No polling mechanism available.\n"
-                     "  It is likely that haproxy was built with TARGET=generic and that FD_SETSIZE\n"
-                     "  is too low on this platform to support maxconn and the number of listeners\n"
-                     "  and servers. You should rebuild haproxy specifying your system using TARGET=\n"
-                     "  in order to support other polling systems (poll, epoll, kqueue) or reduce the\n"
-                     "  global maxconn setting to accommodate the system's limitation. For reference,\n"
-                     "  FD_SETSIZE=%d on this system, global.maxconn=%d resulting in a maximum of\n"
-                     "  %d file descriptors. You should thus reduce global.maxconn by %d. Also,\n"
-                     "  check build settings using 'haproxy -vv'.\n\n",
-                     FD_SETSIZE, global.maxconn, global.maxsock, (global.maxsock + 1 - FD_SETSIZE) / 2);
+               ha_alert("No polling mechanism available.\n"
+                        "  It is likely that haproxy was built with TARGET=generic and that FD_SETSIZE\n"
+                        "  is too low on this platform to support maxconn and the number of listeners\n"
+                        "  and servers. You should rebuild haproxy specifying your system using TARGET=\n"
+                        "  in order to support other polling systems (poll, epoll, kqueue) or reduce the\n"
+                        "  global maxconn setting to accommodate the system's limitation. For reference,\n"
+                        "  FD_SETSIZE=%d on this system, global.maxconn=%d resulting in a maximum of\n"
+                        "  %d file descriptors. You should thus reduce global.maxconn by %d. Also,\n"
+                        "  check build settings using 'haproxy -vv'.\n\n",
+                        FD_SETSIZE, global.maxconn, global.maxsock, (global.maxsock + 1 - FD_SETSIZE) / 2);
                exit(1);
        }
        if (global.mode & (MODE_VERBOSE|MODE_DEBUG)) {
@@ -2362,7 +2362,7 @@ static void *run_thread_poll_loop(void *data)
 
        list_for_each_entry(ptif, &per_thread_init_list, list) {
                if (!ptif->fct()) {
-                       Alert("failed to initialize thread %u.\n", tid);
+                       ha_alert("failed to initialize thread %u.\n", tid);
                        exit(1);
                }
        }
@@ -2448,7 +2448,7 @@ int main(int argc, char **argv)
                        if (setrlimit(RLIMIT_NOFILE, &limit) != -1)
                                getrlimit(RLIMIT_NOFILE, &limit);
 
-                       Warning("[%s.main()] Cannot raise FD limit to %d, limit is %d.\n", argv[0], global.rlimit_nofile, (int)limit.rlim_cur);
+                       ha_warning("[%s.main()] Cannot raise FD limit to %d, limit is %d.\n", argv[0], global.rlimit_nofile, (int)limit.rlim_cur);
                        global.rlimit_nofile = limit.rlim_cur;
                }
        }
@@ -2458,13 +2458,13 @@ int main(int argc, char **argv)
                        global.rlimit_memmax * 1048576ULL;
 #ifdef RLIMIT_AS
                if (setrlimit(RLIMIT_AS, &limit) == -1) {
-                       Warning("[%s.main()] Cannot fix MEM limit to %d megs.\n",
-                               argv[0], global.rlimit_memmax);
+                       ha_warning("[%s.main()] Cannot fix MEM limit to %d megs.\n",
+                                  argv[0], global.rlimit_memmax);
                }
 #else
                if (setrlimit(RLIMIT_DATA, &limit) == -1) {
-                       Warning("[%s.main()] Cannot fix MEM limit to %d megs.\n",
-                               argv[0], global.rlimit_memmax);
+                       ha_warning("[%s.main()] Cannot fix MEM limit to %d megs.\n",
+                                  argv[0], global.rlimit_memmax);
                }
 #endif
        }
@@ -2472,7 +2472,7 @@ int main(int argc, char **argv)
        if (old_unixsocket) {
                if (strcmp("/dev/null", old_unixsocket) != 0) {
                        if (get_old_sockets(old_unixsocket) != 0) {
-                               Alert("Failed to get the sockets from the old process!\n");
+                               ha_alert("Failed to get the sockets from the old process!\n");
                                if (!(global.mode & MODE_MWORKER))
                                        exit(1);
                        }
@@ -2521,7 +2521,7 @@ int main(int argc, char **argv)
        }
 
        if (listeners == 0) {
-               Alert("[%s.main()] No enabled listener found (check for 'bind' directives) ! Exiting.\n", argv[0]);
+               ha_alert("[%s.main()] No enabled listener found (check for 'bind' directives) ! Exiting.\n", argv[0]);
                /* Note: we don't have to send anything to the old pids because we
                 * never stopped them. */
                exit(1);
@@ -2530,15 +2530,15 @@ int main(int argc, char **argv)
        err = protocol_bind_all(errmsg, sizeof(errmsg));
        if ((err & ~ERR_WARN) != ERR_NONE) {
                if ((err & ERR_ALERT) || (err & ERR_WARN))
-                       Alert("[%s.main()] %s.\n", argv[0], errmsg);
+                       ha_alert("[%s.main()] %s.\n", argv[0], errmsg);
 
-               Alert("[%s.main()] Some protocols failed to start their listeners! Exiting.\n", argv[0]);
+               ha_alert("[%s.main()] Some protocols failed to start their listeners! Exiting.\n", argv[0]);
                protocol_unbind_all(); /* cleanup everything we can */
                if (nb_oldpids)
                        tell_old_pids(SIGTTIN);
                exit(1);
        } else if (err & ERR_WARN) {
-               Alert("[%s.main()] %s.\n", argv[0], errmsg);
+               ha_alert("[%s.main()] %s.\n", argv[0], errmsg);
        }
        /* Ok, all listener should now be bound, close any leftover sockets
         * the previous process gave us, we don't need them anymore
@@ -2568,7 +2568,7 @@ int main(int argc, char **argv)
                unlink(global.pidfile);
                pidfd = open(global.pidfile, O_CREAT | O_WRONLY | O_TRUNC, 0644);
                if (pidfd < 0) {
-                       Alert("[%s.main()] Cannot create pidfile %s\n", argv[0], global.pidfile);
+                       ha_alert("[%s.main()] Cannot create pidfile %s\n", argv[0], global.pidfile);
                        if (nb_oldpids)
                                tell_old_pids(SIGTTIN);
                        protocol_unbind_all();
@@ -2577,8 +2577,8 @@ int main(int argc, char **argv)
        }
 
        if ((global.last_checks & LSTCHK_NETADM) && global.uid) {
-               Alert("[%s.main()] Some configuration options require full privileges, so global.uid cannot be changed.\n"
-                     "", argv[0]);
+               ha_alert("[%s.main()] Some configuration options require full privileges, so global.uid cannot be changed.\n"
+                        "", argv[0]);
                protocol_unbind_all();
                exit(1);
        }
@@ -2587,16 +2587,16 @@ int main(int argc, char **argv)
         * but we inform him that unexpected behaviour may occur.
         */
        if ((global.last_checks & LSTCHK_NETADM) && getuid())
-               Warning("[%s.main()] Some options which require full privileges"
-                       " might not work well.\n"
-                       "", argv[0]);
+               ha_warning("[%s.main()] Some options which require full privileges"
+                          " might not work well.\n"
+                          "", argv[0]);
 
        if ((global.mode & (MODE_MWORKER|MODE_DAEMON)) == 0) {
 
                /* chroot if needed */
                if (global.chroot != NULL) {
                        if (chroot(global.chroot) == -1 || chdir("/") == -1) {
-                               Alert("[%s.main()] Cannot chroot(%s).\n", argv[0], global.chroot);
+                               ha_alert("[%s.main()] Cannot chroot(%s).\n", argv[0], global.chroot);
                                if (nb_oldpids)
                                        tell_old_pids(SIGTTIN);
                                protocol_unbind_all();
@@ -2623,18 +2623,18 @@ int main(int argc, char **argv)
                /* setgid / setuid */
                if (global.gid) {
                        if (getgroups(0, NULL) > 0 && setgroups(0, NULL) == -1)
-                               Warning("[%s.main()] Failed to drop supplementary groups. Using 'gid'/'group'"
-                                       " without 'uid'/'user' is generally useless.\n", argv[0]);
+                               ha_warning("[%s.main()] Failed to drop supplementary groups. Using 'gid'/'group'"
+                                          " without 'uid'/'user' is generally useless.\n", argv[0]);
 
                        if (setgid(global.gid) == -1) {
-                               Alert("[%s.main()] Cannot set gid %d.\n", argv[0], global.gid);
+                               ha_alert("[%s.main()] Cannot set gid %d.\n", argv[0], global.gid);
                                protocol_unbind_all();
                                exit(1);
                        }
                }
 
                if (global.uid && setuid(global.uid) == -1) {
-                       Alert("[%s.main()] Cannot set uid %d.\n", argv[0], global.uid);
+                       ha_alert("[%s.main()] Cannot set uid %d.\n", argv[0], global.uid);
                        protocol_unbind_all();
                        exit(1);
                }
@@ -2643,8 +2643,8 @@ int main(int argc, char **argv)
        limit.rlim_cur = limit.rlim_max = 0;
        getrlimit(RLIMIT_NOFILE, &limit);
        if (limit.rlim_cur < global.maxsock) {
-               Warning("[%s.main()] FD limit (%d) too low for maxconn=%d/maxsock=%d. Please raise 'ulimit-n' to %d or more to avoid any trouble.\n",
-                       argv[0], (int)limit.rlim_cur, global.maxconn, global.maxsock, global.maxsock);
+               ha_warning("[%s.main()] FD limit (%d) too low for maxconn=%d/maxsock=%d. Please raise 'ulimit-n' to %d or more to avoid any trouble.\n",
+                          argv[0], (int)limit.rlim_cur, global.maxconn, global.maxsock, global.maxsock);
        }
 
        if (global.mode & (MODE_DAEMON | MODE_MWORKER)) {
@@ -2664,7 +2664,7 @@ int main(int argc, char **argv)
                    && (global.mode & MODE_DAEMON)) {
                        ret = fork();
                        if (ret < 0) {
-                               Alert("[%s.main()] Cannot fork.\n", argv[0]);
+                               ha_alert("[%s.main()] Cannot fork.\n", argv[0]);
                                protocol_unbind_all();
                                exit(1); /* there has been an error */
                        }
@@ -2679,7 +2679,7 @@ int main(int argc, char **argv)
                                /* master pipe to ensure the master is still alive  */
                                ret = pipe(mworker_pipe);
                                if (ret < 0) {
-                                       Warning("[%s.main()] Cannot create master pipe.\n", argv[0]);
+                                       ha_warning("[%s.main()] Cannot create master pipe.\n", argv[0]);
                                } else {
                                        memprintf(&msg, "%d", mworker_pipe[0]);
                                        setenv("HAPROXY_MWORKER_PIPE_RD", msg, 1);
@@ -2691,7 +2691,7 @@ int main(int argc, char **argv)
                                mworker_pipe[0] = atol(getenv("HAPROXY_MWORKER_PIPE_RD"));
                                mworker_pipe[1] = atol(getenv("HAPROXY_MWORKER_PIPE_WR"));
                                if (mworker_pipe[0] <= 0 || mworker_pipe[1] <= 0) {
-                                       Warning("[%s.main()] Cannot get master pipe FDs.\n", argv[0]);
+                                       ha_warning("[%s.main()] Cannot get master pipe FDs.\n", argv[0]);
                                }
                        }
                }
@@ -2707,7 +2707,7 @@ int main(int argc, char **argv)
                for (proc = 0; proc < global.nbproc; proc++) {
                        ret = fork();
                        if (ret < 0) {
-                               Alert("[%s.main()] Cannot fork.\n", argv[0]);
+                               ha_alert("[%s.main()] Cannot fork.\n", argv[0]);
                                protocol_unbind_all();
                                exit(1); /* there has been an error */
                        }
@@ -2774,7 +2774,7 @@ int main(int argc, char **argv)
                /* chroot if needed */
                if (global.chroot != NULL) {
                        if (chroot(global.chroot) == -1 || chdir("/") == -1) {
-                               Alert("[%s.main()] Cannot chroot1(%s).\n", argv[0], global.chroot);
+                               ha_alert("[%s.main()] Cannot chroot1(%s).\n", argv[0], global.chroot);
                                if (nb_oldpids)
                                        tell_old_pids(SIGTTIN);
                                protocol_unbind_all();
@@ -2788,18 +2788,18 @@ int main(int argc, char **argv)
                /* setgid / setuid */
                if (global.gid) {
                        if (getgroups(0, NULL) > 0 && setgroups(0, NULL) == -1)
-                               Warning("[%s.main()] Failed to drop supplementary groups. Using 'gid'/'group'"
-                                       " without 'uid'/'user' is generally useless.\n", argv[0]);
+                               ha_warning("[%s.main()] Failed to drop supplementary groups. Using 'gid'/'group'"
+                                          " without 'uid'/'user' is generally useless.\n", argv[0]);
 
                        if (setgid(global.gid) == -1) {
-                               Alert("[%s.main()] Cannot set gid %d.\n", argv[0], global.gid);
+                               ha_alert("[%s.main()] Cannot set gid %d.\n", argv[0], global.gid);
                                protocol_unbind_all();
                                exit(1);
                        }
                }
 
                if (global.uid && setuid(global.uid) == -1) {
-                       Alert("[%s.main()] Cannot set uid %d.\n", argv[0], global.uid);
+                       ha_alert("[%s.main()] Cannot set uid %d.\n", argv[0], global.uid);
                        protocol_unbind_all();
                        exit(1);
                }
index dbdc975c5c518b02a920125b4cd2f8de6ec4caa6..082d950edef97d76ec38e920edb944cf8934e07c 100644 (file)
@@ -259,7 +259,7 @@ __LJMP static int hlua_http_get_headers(lua_State *L, struct hlua_txn *htxn, str
        do { \
                send_log(__be, LOG_ERR, __fmt, ## __args); \
                if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE)) \
-                       Alert(__fmt, ## __args); \
+                       ha_alert(__fmt, ## __args); \
        } while (0)
 
 /* Used to check an Lua function type in the stack. It creates and
@@ -7291,15 +7291,15 @@ int hlua_post_init()
                        lua_pop(gL.T, -1);
                        return 1;
                case HLUA_E_AGAIN:
-                       Alert("lua init: yield not allowed.\n");
+                       ha_alert("lua init: yield not allowed.\n");
                        return 0;
                case HLUA_E_ERRMSG:
                        msg = lua_tostring(gL.T, -1);
-                       Alert("lua init: %s.\n", msg);
+                       ha_alert("lua init: %s.\n", msg);
                        return 0;
                case HLUA_E_ERR:
                default:
-                       Alert("lua init: unknown runtime error.\n");
+                       ha_alert("lua init: unknown runtime error.\n");
                        return 0;
                }
        }
index 09d38acef0748a94c4d39d7e241f6d950e587886..dfd36cca34d1f14ed620a519a1b9b9f64544bba4 100644 (file)
@@ -176,9 +176,9 @@ static int __resume_listener(struct listener *l)
 
                err = l->proto->bind(l, msg, sizeof(msg));
                if (err & ERR_ALERT)
-                       Alert("Resuming listener: %s\n", msg);
+                       ha_alert("Resuming listener: %s\n", msg);
                else if (err & ERR_WARN)
-                       Warning("Resuming listener: %s\n", msg);
+                       ha_warning("Resuming listener: %s\n", msg);
 
                if (err & (ERR_FATAL | ERR_ABORT)) {
                        ret = 0;
index 88e0d07a281d8aeb7cbdf0613f8ad6e74c99f8e5..dcd175e4aaea3a7730d67c493da23eb5c9839b09 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -388,9 +388,9 @@ int parse_logformat_var(char *arg, int arg_len, char *var, int var_len, struct p
                                        LIST_ADDQ(list_format, &node->list);
                                }
                                if (logformat_keywords[j].replace_by)
-                                       Warning("parsing [%s:%d] : deprecated variable '%s' in '%s', please replace it with '%s'.\n",
-                                               curproxy->conf.args.file, curproxy->conf.args.line,
-                                               logformat_keywords[j].name, fmt_directive(curproxy), logformat_keywords[j].replace_by);
+                                       ha_warning("parsing [%s:%d] : deprecated variable '%s' in '%s', please replace it with '%s'.\n",
+                                                  curproxy->conf.args.file, curproxy->conf.args.line,
+                                                  logformat_keywords[j].name, fmt_directive(curproxy), logformat_keywords[j].replace_by);
                                return 1;
                        } else {
                                memprintf(err, "format variable '%s' is reserved for HTTP mode",
@@ -698,7 +698,7 @@ static void print_message(const char *label, const char *fmt, va_list argp)
  * Displays the message on stderr with the date and pid. Overrides the quiet
  * mode during startup.
  */
-void Alert(const char *fmt, ...)
+void ha_alert(const char *fmt, ...)
 {
        va_list argp;
 
@@ -713,7 +713,7 @@ void Alert(const char *fmt, ...)
 /*
  * Displays the message on stderr with the date and pid.
  */
-void Warning(const char *fmt, ...)
+void ha_warning(const char *fmt, ...)
 {
        va_list argp;
 
@@ -1168,8 +1168,8 @@ void __send_log(struct proxy *p, int level, char *message, size_t size, char *sd
                        int proto = logsrv->addr.ss_family == AF_UNIX ? 0 : IPPROTO_UDP;
 
                        if ((*plogfd = socket(logsrv->addr.ss_family, SOCK_DGRAM, proto)) < 0) {
-                               Alert("socket for logger #%d failed: %s (errno=%d)\n",
-                                     nblogger, strerror(errno), errno);
+                               ha_alert("socket for logger #%d failed: %s (errno=%d)\n",
+                                        nblogger, strerror(errno), errno);
                                continue;
                        }
                        /* we don't want to receive anything on this socket */
@@ -1296,8 +1296,8 @@ send:
                sent = sendmsg(*plogfd, &msghdr, MSG_DONTWAIT | MSG_NOSIGNAL);
 
                if (sent < 0) {
-                       Alert("sendmsg logger #%d failed: %s (errno=%d)\n",
-                               nblogger, strerror(errno), errno);
+                       ha_alert("sendmsg logger #%d failed: %s (errno=%d)\n",
+                                nblogger, strerror(errno), errno);
                }
        }
 }
index a8f14c8b32d960c4e9b958b8fbdd54cfde24d406..c8cec16eb82f264d429de86d149a82b1aae81e7e 100644 (file)
@@ -52,7 +52,7 @@ int netns_init(void)
         * is not needed either */
        if (!eb_is_empty(&namespace_tree_root)) {
                if (init_default_namespace() < 0) {
-                       Alert("Failed to open the default namespace.\n");
+                       ha_alert("Failed to open the default namespace.\n");
                        err_code |= ERR_ALERT | ERR_FATAL;
                }
        }
index 94a4852bfff6af9ad016d15c192e0711b03584a6..cac0c8a8d72819be37399fe5193025ec8c40f216 100644 (file)
@@ -1891,12 +1891,12 @@ static struct appctx *peer_session_create(struct peers *peers, struct peer *peer
 
        sess = session_new(p, NULL, &appctx->obj_type);
        if (!sess) {
-               Alert("out of memory in peer_session_create().\n");
+               ha_alert("out of memory in peer_session_create().\n");
                goto out_free_appctx;
        }
 
        if ((s = stream_new(sess, &appctx->obj_type)) == NULL) {
-               Alert("Failed to initialize stream in peer_session_create().\n");
+               ha_alert("Failed to initialize stream in peer_session_create().\n");
                goto out_free_sess;
        }
 
index 277efb81714c72623b4d2fa64d2fc8f89529c9ea..21e30cc9db55339f380c8ed8c0f4cb3e45459957 100644 (file)
@@ -406,7 +406,7 @@ void init_proto_http()
 
        for (msg = 0; msg < HTTP_ERR_SIZE; msg++) {
                if (!http_err_msgs[msg]) {
-                       Alert("Internal error: no message defined for HTTP return code %d. Aborting.\n", msg);
+                       ha_alert("Internal error: no message defined for HTTP return code %d. Aborting.\n", msg);
                        abort();
                }
 
@@ -1227,7 +1227,7 @@ void capture_headers(char *som, struct hdr_idx *idx,
                                                pool_alloc2(h->pool);
 
                                if (cap[h->index] == NULL) {
-                                       Alert("HTTP capture : out of memory.\n");
+                                       ha_alert("HTTP capture : out of memory.\n");
                                        continue;
                                }
                                                        
@@ -1969,7 +1969,7 @@ int http_wait_for_request(struct stream *s, struct channel *req, int an_bit)
                        if (!(s->logs.logwait &= ~(LW_REQ|LW_INIT)))
                                s->do_log(s);
                } else {
-                       Alert("HTTP logging : out of memory.\n");
+                       ha_alert("HTTP logging : out of memory.\n");
                }
        }
 
@@ -5897,8 +5897,8 @@ int http_process_res_common(struct stream *s, struct channel *rep, int an_bit, s
                if (sess->listener->counters)
                        HA_ATOMIC_ADD(&sess->listener->counters->denied_resp, 1);
 
-               Alert("Blocking cacheable cookie in response from instance %s, server %s.\n",
-                     s->be->id, objt_server(s->target) ? objt_server(s->target)->id : "<dispatch>");
+               ha_alert("Blocking cacheable cookie in response from instance %s, server %s.\n",
+                        s->be->id, objt_server(s->target) ? objt_server(s->target)->id : "<dispatch>");
                send_log(s->be, LOG_ALERT,
                         "Blocking cacheable cookie in response from instance %s, server %s.\n",
                         s->be->id, objt_server(s->target) ? objt_server(s->target)->id : "<dispatch>");
@@ -6891,7 +6891,7 @@ void manage_client_side_cookies(struct stream *s, struct channel *req)
                                int log_len = val_end - att_beg;
 
                                if ((txn->cli_cookie = pool_alloc2(pool2_capture)) == NULL) {
-                                       Alert("HTTP logging : out of memory.\n");
+                                       ha_alert("HTTP logging : out of memory.\n");
                                } else {
                                        if (log_len > sess->fe->capture_len)
                                                log_len = sess->fe->capture_len;
@@ -7543,7 +7543,7 @@ void manage_server_side_cookies(struct stream *s, struct channel *res)
                            memcmp(att_beg, sess->fe->capture_name, sess->fe->capture_namelen) == 0) {
                                int log_len = val_end - att_beg;
                                if ((txn->srv_cookie = pool_alloc2(pool2_capture)) == NULL) {
-                                       Alert("HTTP logging : out of memory.\n");
+                                       ha_alert("HTTP logging : out of memory.\n");
                                }
                                else {
                                        if (log_len > sess->fe->capture_len)
@@ -8185,7 +8185,7 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
        rule = calloc(1, sizeof(*rule));
        if (!rule) {
-               Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+               ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                goto out_err;
        }
 
@@ -8208,8 +8208,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                 if (strcmp(args[cur_arg], "deny_status") == 0) {
                         cur_arg++;
                         if (!args[cur_arg]) {
-                                Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : missing status code.\n",
-                                      file, linenum, proxy_type_str(proxy), proxy->id, args[0]);
+                                ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : missing status code.\n",
+                                        file, linenum, proxy_type_str(proxy), proxy->id, args[0]);
                                 goto out_err;
                         }
 
@@ -8223,8 +8223,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                         }
 
                         if (hc >= HTTP_ERR_SIZE) {
-                                Warning("parsing [%s:%d] : status code %d not handled, using default code %d.\n",
-                                        file, linenum, code, http_err_codes[rule->deny_status]);
+                                ha_warning("parsing [%s:%d] : status code %d not handled, using default code %d.\n",
+                                          file, linenum, code, http_err_codes[rule->deny_status]);
                         }
                 }
        } else if (!strcmp(args[0], "auth")) {
@@ -8245,8 +8245,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg + 1] && strcmp(args[cur_arg + 1], "if") != 0 && strcmp(args[cur_arg + 1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument (integer value).\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument (integer value).\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
                rule->arg.nice = atoi(args[cur_arg]);
@@ -8263,20 +8263,20 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg + 1] && strcmp(args[cur_arg + 1], "if") != 0 && strcmp(args[cur_arg + 1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument (integer/hex value).\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument (integer/hex value).\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
                rule->arg.tos = strtol(args[cur_arg], &err, 0);
                if (err && *err != '\0') {
-                       Alert("parsing [%s:%d]: invalid character starting at '%s' in 'http-request %s' (integer/hex value expected).\n",
-                             file, linenum, err, args[0]);
+                       ha_alert("parsing [%s:%d]: invalid character starting at '%s' in 'http-request %s' (integer/hex value expected).\n",
+                                file, linenum, err, args[0]);
                        goto out_err;
                }
                cur_arg++;
 #else
-               Alert("parsing [%s:%d]: 'http-request %s' is not supported on this platform (IP_TOS undefined).\n", file, linenum, args[0]);
+               ha_alert("parsing [%s:%d]: 'http-request %s' is not supported on this platform (IP_TOS undefined).\n", file, linenum, args[0]);
                goto out_err;
 #endif
        } else if (!strcmp(args[0], "set-mark")) {
@@ -8287,21 +8287,21 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg + 1] && strcmp(args[cur_arg + 1], "if") != 0 && strcmp(args[cur_arg + 1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument (integer/hex value).\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument (integer/hex value).\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
                rule->arg.mark = strtoul(args[cur_arg], &err, 0);
                if (err && *err != '\0') {
-                       Alert("parsing [%s:%d]: invalid character starting at '%s' in 'http-request %s' (integer/hex value expected).\n",
-                             file, linenum, err, args[0]);
+                       ha_alert("parsing [%s:%d]: invalid character starting at '%s' in 'http-request %s' (integer/hex value expected).\n",
+                                file, linenum, err, args[0]);
                        goto out_err;
                }
                cur_arg++;
                global.last_checks |= LSTCHK_NETADM;
 #else
-               Alert("parsing [%s:%d]: 'http-request %s' is not supported on this platform (SO_MARK undefined).\n", file, linenum, args[0]);
+               ha_alert("parsing [%s:%d]: 'http-request %s' is not supported on this platform (SO_MARK undefined).\n", file, linenum, args[0]);
                goto out_err;
 #endif
        } else if (!strcmp(args[0], "set-log-level")) {
@@ -8311,8 +8311,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                if (!*args[cur_arg] ||
                    (*args[cur_arg + 1] && strcmp(args[cur_arg + 1], "if") != 0 && strcmp(args[cur_arg + 1], "unless") != 0)) {
                bad_log_level:
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument (log level name or 'silent').\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument (log level name or 'silent').\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
                if (strcmp(args[cur_arg], "silent") == 0)
@@ -8326,8 +8326,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] || !*args[cur_arg+1] ||
                    (*args[cur_arg+2] && strcmp(args[cur_arg+2], "if") != 0 && strcmp(args[cur_arg+2], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 2 arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 2 arguments.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8339,8 +8339,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg + 1], proxy, &rule->arg.hdr_add.fmt, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-request %s': %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-request %s': %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8354,8 +8354,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] || !*args[cur_arg+1] || !*args[cur_arg+2] ||
                    (*args[cur_arg+3] && strcmp(args[cur_arg+3], "if") != 0 && strcmp(args[cur_arg+3], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 3 arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 3 arguments.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8365,8 +8365,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                error = NULL;
                if (!regex_comp(args[cur_arg + 1], &rule->arg.hdr_add.re, 1, 1, &error)) {
-                       Alert("parsing [%s:%d] : '%s' : %s.\n", file, linenum,
-                             args[cur_arg + 1], error);
+                       ha_alert("parsing [%s:%d] : '%s' : %s.\n", file, linenum,
+                                args[cur_arg + 1], error);
                        free(error);
                        goto out_err;
                }
@@ -8375,8 +8375,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg + 2], proxy, &rule->arg.hdr_add.fmt, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-request %s': %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-request %s': %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8391,8 +8391,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg+1] && strcmp(args[cur_arg+1], "if") != 0 && strcmp(args[cur_arg+1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8416,8 +8416,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                expr = sample_parse_expr((char **)args, &cur_arg, file, linenum, &err, &proxy->conf.args);
                if (!expr) {
-                       Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : %s.\n",
-                             file, linenum, proxy_type_str(proxy), proxy->id, args[0], err);
+                       ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : %s.\n",
+                                file, linenum, proxy_type_str(proxy), proxy->id, args[0], err);
                        free(err);
                        goto out_err;
                }
@@ -8429,10 +8429,10 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                        where |= SMP_VAL_BE_HRQ_HDR;
 
                if (!(expr->fetch->val & where)) {
-                       Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule :"
-                             " fetch method '%s' extracts information from '%s', none of which is available here.\n",
-                             file, linenum, proxy_type_str(proxy), proxy->id, args[0],
-                             args[cur_arg-1], sample_src_names(expr->fetch->use));
+                       ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule :"
+                                " fetch method '%s' extracts information from '%s', none of which is available here.\n",
+                                file, linenum, proxy_type_str(proxy), proxy->id, args[0],
+                                args[cur_arg-1], sample_src_names(expr->fetch->use));
                        free(expr);
                        goto out_err;
                }
@@ -8440,8 +8440,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                if (strcmp(args[cur_arg], "table") == 0) {
                        cur_arg++;
                        if (!args[cur_arg]) {
-                               Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : missing table name.\n",
-                                     file, linenum, proxy_type_str(proxy), proxy->id, args[0]);
+                               ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : missing table name.\n",
+                                        file, linenum, proxy_type_str(proxy), proxy->id, args[0]);
                                free(expr);
                                goto out_err;
                        }
@@ -8457,8 +8457,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                char *errmsg = NULL;
 
                if ((redir = http_parse_redirect_rule(file, linenum, proxy, (const char **)args + 1, &errmsg, 1, 0)) == NULL) {
-                       Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : %s.\n",
-                             file, linenum, proxy_type_str(proxy), proxy->id, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : %s.\n",
+                                file, linenum, proxy_type_str(proxy), proxy->id, args[0], errmsg);
                        goto out_err;
                }
 
@@ -8484,8 +8484,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg+1] && strcmp(args[cur_arg+1], "if") != 0 && strcmp(args[cur_arg+1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8494,8 +8494,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg], proxy, &rule->arg.map.key, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-request %s': %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-request %s': %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8516,8 +8516,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg+1] && strcmp(args[cur_arg+1], "if") != 0 && strcmp(args[cur_arg+1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8526,8 +8526,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg], proxy, &rule->arg.map.key, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-request %s': %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-request %s': %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8548,8 +8548,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg+1] && strcmp(args[cur_arg+1], "if") != 0 && strcmp(args[cur_arg+1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 1 argument.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8558,8 +8558,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg], proxy, &rule->arg.map.key, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-request %s': %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-request %s': %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8580,8 +8580,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] || !*args[cur_arg+1] ||
                    (*args[cur_arg+2] && strcmp(args[cur_arg+2], "if") != 0 && strcmp(args[cur_arg+2], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' expects exactly 2 arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' expects exactly 2 arguments.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8593,8 +8593,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg], proxy, &rule->arg.map.key, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' key: %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' key: %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8603,8 +8603,8 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg + 1], proxy, &rule->arg.map.value, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-request %s' pattern: %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-request %s' pattern: %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8620,18 +8620,18 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                rule->from = ACT_F_HTTP_REQ;
                rule->kw = custom;
                if (custom->parse(args, &cur_arg, proxy, rule, &errmsg) == ACT_RET_PRS_ERR) {
-                       Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : %s.\n",
-                             file, linenum, proxy_type_str(proxy), proxy->id, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-request %s' rule : %s.\n",
+                                file, linenum, proxy_type_str(proxy), proxy->id, args[0], errmsg);
                        free(errmsg);
                        goto out_err;
                }
        } else {
                action_build_list(&http_req_keywords.list, &trash);
-               Alert("parsing [%s:%d]: 'http-request' expects 'allow', 'deny', 'auth', 'redirect', "
-                     "'tarpit', 'add-header', 'set-header', 'replace-header', 'replace-value', 'set-nice', "
-                     "'set-tos', 'set-mark', 'set-log-level', 'add-acl', 'del-acl', 'del-map', 'set-map', 'track-sc*'"
-                     "%s%s, but got '%s'%s.\n",
-                     file, linenum, *trash.str ? ", " : "", trash.str, args[0], *args[0] ? "" : " (missing argument)");
+               ha_alert("parsing [%s:%d]: 'http-request' expects 'allow', 'deny', 'auth', 'redirect', "
+                        "'tarpit', 'add-header', 'set-header', 'replace-header', 'replace-value', 'set-nice', "
+                        "'set-tos', 'set-mark', 'set-log-level', 'add-acl', 'del-acl', 'del-map', 'set-map', 'track-sc*'"
+                        "%s%s, but got '%s'%s.\n",
+                        file, linenum, *trash.str ? ", " : "", trash.str, args[0], *args[0] ? "" : " (missing argument)");
                goto out_err;
        }
 
@@ -8640,17 +8640,17 @@ struct act_rule *parse_http_req_cond(const char **args, const char *file, int li
                char *errmsg = NULL;
 
                if ((cond = build_acl_cond(file, linenum, &proxy->acl, proxy, args+cur_arg, &errmsg)) == NULL) {
-                       Alert("parsing [%s:%d] : error detected while parsing an 'http-request %s' condition : %s.\n",
-                             file, linenum, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : error detected while parsing an 'http-request %s' condition : %s.\n",
+                                file, linenum, args[0], errmsg);
                        free(errmsg);
                        goto out_err;
                }
                rule->cond = cond;
        }
        else if (*args[cur_arg]) {
-               Alert("parsing [%s:%d]: 'http-request %s' expects 'realm' for 'auth' or"
-                     " either 'if' or 'unless' followed by a condition but found '%s'.\n",
-                     file, linenum, args[0], args[cur_arg]);
+               ha_alert("parsing [%s:%d]: 'http-request %s' expects 'realm' for 'auth' or"
+                        " either 'if' or 'unless' followed by a condition but found '%s'.\n",
+                        file, linenum, args[0], args[cur_arg]);
                goto out_err;
        }
 
@@ -8670,7 +8670,7 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
        rule = calloc(1, sizeof(*rule));
        if (!rule) {
-               Alert("parsing [%s:%d]: out of memory.\n", file, linenum);
+               ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);
                goto out_err;
        }
 
@@ -8686,8 +8686,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg + 1] && strcmp(args[cur_arg + 1], "if") != 0 && strcmp(args[cur_arg + 1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument (integer value).\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument (integer value).\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
                rule->arg.nice = atoi(args[cur_arg]);
@@ -8704,20 +8704,20 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg + 1] && strcmp(args[cur_arg + 1], "if") != 0 && strcmp(args[cur_arg + 1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument (integer/hex value).\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument (integer/hex value).\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
                rule->arg.tos = strtol(args[cur_arg], &err, 0);
                if (err && *err != '\0') {
-                       Alert("parsing [%s:%d]: invalid character starting at '%s' in 'http-response %s' (integer/hex value expected).\n",
-                             file, linenum, err, args[0]);
+                       ha_alert("parsing [%s:%d]: invalid character starting at '%s' in 'http-response %s' (integer/hex value expected).\n",
+                                file, linenum, err, args[0]);
                        goto out_err;
                }
                cur_arg++;
 #else
-               Alert("parsing [%s:%d]: 'http-response %s' is not supported on this platform (IP_TOS undefined).\n", file, linenum, args[0]);
+               ha_alert("parsing [%s:%d]: 'http-response %s' is not supported on this platform (IP_TOS undefined).\n", file, linenum, args[0]);
                goto out_err;
 #endif
        } else if (!strcmp(args[0], "set-mark")) {
@@ -8728,21 +8728,21 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg + 1] && strcmp(args[cur_arg + 1], "if") != 0 && strcmp(args[cur_arg + 1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument (integer/hex value).\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument (integer/hex value).\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
                rule->arg.mark = strtoul(args[cur_arg], &err, 0);
                if (err && *err != '\0') {
-                       Alert("parsing [%s:%d]: invalid character starting at '%s' in 'http-response %s' (integer/hex value expected).\n",
-                             file, linenum, err, args[0]);
+                       ha_alert("parsing [%s:%d]: invalid character starting at '%s' in 'http-response %s' (integer/hex value expected).\n",
+                                file, linenum, err, args[0]);
                        goto out_err;
                }
                cur_arg++;
                global.last_checks |= LSTCHK_NETADM;
 #else
-               Alert("parsing [%s:%d]: 'http-response %s' is not supported on this platform (SO_MARK undefined).\n", file, linenum, args[0]);
+               ha_alert("parsing [%s:%d]: 'http-response %s' is not supported on this platform (SO_MARK undefined).\n", file, linenum, args[0]);
                goto out_err;
 #endif
        } else if (!strcmp(args[0], "set-log-level")) {
@@ -8752,8 +8752,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                if (!*args[cur_arg] ||
                    (*args[cur_arg + 1] && strcmp(args[cur_arg + 1], "if") != 0 && strcmp(args[cur_arg + 1], "unless") != 0)) {
                bad_log_level:
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument (log level name or 'silent').\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument (log level name or 'silent').\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
                if (strcmp(args[cur_arg], "silent") == 0)
@@ -8767,8 +8767,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] || !*args[cur_arg+1] ||
                    (*args[cur_arg+2] && strcmp(args[cur_arg+2], "if") != 0 && strcmp(args[cur_arg+2], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 2 arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 2 arguments.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8780,8 +8780,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg + 1], proxy, &rule->arg.hdr_add.fmt, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_BE) ? SMP_VAL_BE_HRS_HDR : SMP_VAL_FE_HRS_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-response %s': %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-response %s': %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8795,8 +8795,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] || !*args[cur_arg+1] || !*args[cur_arg+2] ||
                    (*args[cur_arg+3] && strcmp(args[cur_arg+3], "if") != 0 && strcmp(args[cur_arg+3], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 3 arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 3 arguments.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8806,8 +8806,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                error = NULL;
                if (!regex_comp(args[cur_arg + 1], &rule->arg.hdr_add.re, 1, 1, &error)) {
-                       Alert("parsing [%s:%d] : '%s' : %s.\n", file, linenum,
-                             args[cur_arg + 1], error);
+                       ha_alert("parsing [%s:%d] : '%s' : %s.\n", file, linenum,
+                                args[cur_arg + 1], error);
                        free(error);
                        goto out_err;
                }
@@ -8816,8 +8816,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg + 2], proxy, &rule->arg.hdr_add.fmt, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_BE) ? SMP_VAL_BE_HRS_HDR : SMP_VAL_FE_HRS_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-response %s': %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-response %s': %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8832,8 +8832,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg+1] && strcmp(args[cur_arg+1], "if") != 0 && strcmp(args[cur_arg+1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8858,8 +8858,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg+1] && strcmp(args[cur_arg+1], "if") != 0 && strcmp(args[cur_arg+1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8868,8 +8868,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg], proxy, &rule->arg.map.key, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_BE) ? SMP_VAL_BE_HRS_HDR : SMP_VAL_FE_HRS_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-response %s': %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-response %s': %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8891,8 +8891,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg+1] && strcmp(args[cur_arg+1], "if") != 0 && strcmp(args[cur_arg+1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8901,8 +8901,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg], proxy, &rule->arg.map.key, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_BE) ? SMP_VAL_BE_HRS_HDR : SMP_VAL_FE_HRS_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-response %s': %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-response %s': %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8923,8 +8923,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] ||
                    (*args[cur_arg+1] && strcmp(args[cur_arg+1], "if") != 0 && strcmp(args[cur_arg+1], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 1 argument.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8933,8 +8933,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg], proxy, &rule->arg.map.key, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_BE) ? SMP_VAL_BE_HRS_HDR : SMP_VAL_FE_HRS_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8955,8 +8955,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                if (!*args[cur_arg] || !*args[cur_arg+1] ||
                    (*args[cur_arg+2] && strcmp(args[cur_arg+2], "if") != 0 && strcmp(args[cur_arg+2], "unless") != 0)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' expects exactly 2 arguments.\n",
-                             file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' expects exactly 2 arguments.\n",
+                                file, linenum, args[0]);
                        goto out_err;
                }
 
@@ -8969,8 +8969,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg], proxy, &rule->arg.map.key, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_BE) ? SMP_VAL_BE_HRS_HDR : SMP_VAL_FE_HRS_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' name: %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' name: %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8979,8 +8979,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                error = NULL;
                if (!parse_logformat_string(args[cur_arg + 1], proxy, &rule->arg.map.value, LOG_OPT_HTTP,
                                            (proxy->cap & PR_CAP_BE) ? SMP_VAL_BE_HRS_HDR : SMP_VAL_FE_HRS_HDR, &error)) {
-                       Alert("parsing [%s:%d]: 'http-response %s' value: %s.\n",
-                             file, linenum, args[0], error);
+                       ha_alert("parsing [%s:%d]: 'http-response %s' value: %s.\n",
+                                file, linenum, args[0], error);
                        free(error);
                        goto out_err;
                }
@@ -8995,8 +8995,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                char *errmsg = NULL;
 
                if ((redir = http_parse_redirect_rule(file, linenum, proxy, (const char **)args + 1, &errmsg, 1, 1)) == NULL) {
-                       Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule : %s.\n",
-                             file, linenum, proxy_type_str(proxy), proxy->id, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule : %s.\n",
+                                file, linenum, proxy_type_str(proxy), proxy->id, args[0], errmsg);
                        goto out_err;
                }
 
@@ -9021,8 +9021,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
 
                expr = sample_parse_expr((char **)args, &cur_arg, file, linenum, &err, &proxy->conf.args);
                if (!expr) {
-                       Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule : %s.\n",
-                             file, linenum, proxy_type_str(proxy), proxy->id, args[0], err);
+                       ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule : %s.\n",
+                                file, linenum, proxy_type_str(proxy), proxy->id, args[0], err);
                        free(err);
                        goto out_err;
                }
@@ -9034,10 +9034,10 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                        where |= SMP_VAL_BE_HRS_HDR;
 
                if (!(expr->fetch->val & where)) {
-                       Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule :"
-                             " fetch method '%s' extracts information from '%s', none of which is available here.\n",
-                             file, linenum, proxy_type_str(proxy), proxy->id, args[0],
-                             args[cur_arg-1], sample_src_names(expr->fetch->use));
+                       ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule :"
+                                " fetch method '%s' extracts information from '%s', none of which is available here.\n",
+                                file, linenum, proxy_type_str(proxy), proxy->id, args[0],
+                                args[cur_arg-1], sample_src_names(expr->fetch->use));
                        free(expr);
                        goto out_err;
                }
@@ -9045,8 +9045,8 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                if (strcmp(args[cur_arg], "table") == 0) {
                        cur_arg++;
                        if (!args[cur_arg]) {
-                               Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule : missing table name.\n",
-                                     file, linenum, proxy_type_str(proxy), proxy->id, args[0]);
+                               ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule : missing table name.\n",
+                                        file, linenum, proxy_type_str(proxy), proxy->id, args[0]);
                                free(expr);
                                goto out_err;
                        }
@@ -9064,18 +9064,18 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                rule->from = ACT_F_HTTP_RES;
                rule->kw = custom;
                if (custom->parse(args, &cur_arg, proxy, rule, &errmsg) == ACT_RET_PRS_ERR) {
-                       Alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule : %s.\n",
-                             file, linenum, proxy_type_str(proxy), proxy->id, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : error detected in %s '%s' while parsing 'http-response %s' rule : %s.\n",
+                                file, linenum, proxy_type_str(proxy), proxy->id, args[0], errmsg);
                        free(errmsg);
                        goto out_err;
                }
        } else {
                action_build_list(&http_res_keywords.list, &trash);
-               Alert("parsing [%s:%d]: 'http-response' expects 'allow', 'deny', 'redirect', "
-                     "'add-header', 'del-header', 'set-header', 'replace-header', 'replace-value', 'set-nice', "
-                     "'set-tos', 'set-mark', 'set-log-level', 'add-acl', 'del-acl', 'del-map', 'set-map', 'track-sc*'"
-                     "%s%s, but got '%s'%s.\n",
-                     file, linenum, *trash.str ? ", " : "", trash.str, args[0], *args[0] ? "" : " (missing argument)");
+               ha_alert("parsing [%s:%d]: 'http-response' expects 'allow', 'deny', 'redirect', "
+                        "'add-header', 'del-header', 'set-header', 'replace-header', 'replace-value', 'set-nice', "
+                        "'set-tos', 'set-mark', 'set-log-level', 'add-acl', 'del-acl', 'del-map', 'set-map', 'track-sc*'"
+                        "%s%s, but got '%s'%s.\n",
+                        file, linenum, *trash.str ? ", " : "", trash.str, args[0], *args[0] ? "" : " (missing argument)");
                goto out_err;
        }
 
@@ -9084,17 +9084,17 @@ struct act_rule *parse_http_res_cond(const char **args, const char *file, int li
                char *errmsg = NULL;
 
                if ((cond = build_acl_cond(file, linenum, &proxy->acl, proxy, args+cur_arg, &errmsg)) == NULL) {
-                       Alert("parsing [%s:%d] : error detected while parsing an 'http-response %s' condition : %s.\n",
-                             file, linenum, args[0], errmsg);
+                       ha_alert("parsing [%s:%d] : error detected while parsing an 'http-response %s' condition : %s.\n",
+                                file, linenum, args[0], errmsg);
                        free(errmsg);
                        goto out_err;
                }
                rule->cond = cond;
        }
        else if (*args[cur_arg]) {
-               Alert("parsing [%s:%d]: 'http-response %s' expects"
-                     " either 'if' or 'unless' followed by a condition but found '%s'.\n",
-                     file, linenum, args[0], args[cur_arg]);
+               ha_alert("parsing [%s:%d]: 'http-response %s' expects"
+                        " either 'if' or 'unless' followed by a condition but found '%s'.\n",
+                        file, linenum, args[0], args[cur_arg]);
                goto out_err;
        }
 
index 606c3c5e000d16eb8845ab4dae6ef5e02eeee59a..1f9c3f13b224acb5f3363c70fdc61bd918c7d78b 100644 (file)
@@ -344,7 +344,7 @@ int tcp_connect_server(struct connection *conn, int data, int delack)
                /* do not log anything there, it's a normal condition when this option
                 * is used to serialize connections to a server !
                 */
-               Alert("socket(): not enough free sockets. Raise -n argument. Giving up.\n");
+               ha_alert("socket(): not enough free sockets. Raise -n argument. Giving up.\n");
                close(fd);
                conn->err_code = CO_ER_CONF_FDLIM;
                conn->flags |= CO_FL_ERROR;
@@ -447,14 +447,14 @@ int tcp_connect_server(struct connection *conn, int data, int delack)
                        close(fd);
 
                        if (ret == 1) {
-                               Alert("Cannot bind to source address before connect() for backend %s. Aborting.\n",
-                                     be->id);
+                               ha_alert("Cannot bind to source address before connect() for backend %s. Aborting.\n",
+                                        be->id);
                                send_log(be, LOG_EMERG,
                                         "Cannot bind to source address before connect() for backend %s.\n",
                                         be->id);
                        } else {
-                               Alert("Cannot bind to tproxy source address before connect() for backend %s. Aborting.\n",
-                                     be->id);
+                               ha_alert("Cannot bind to tproxy source address before connect() for backend %s. Aborting.\n",
+                                        be->id);
                                send_log(be, LOG_EMERG,
                                         "Cannot bind to tproxy source address before connect() for backend %s.\n",
                                         be->id);
@@ -851,11 +851,11 @@ int tcp_bind_listener(struct listener *listener, char *errmsg, int errlen)
                default_tcp_maxseg = -2;
                fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
                if (fd < 0)
-                       Warning("Failed to create a temporary socket!\n");
+                       ha_warning("Failed to create a temporary socket!\n");
                else {
                        if (getsockopt(fd, IPPROTO_TCP, TCP_MAXSEG, &default_tcp_maxseg,
                            &ready_len) == -1)
-                               Warning("Failed to get the default value of TCP_MAXSEG\n");
+                               ha_warning("Failed to get the default value of TCP_MAXSEG\n");
                }
                close(fd);
        }
@@ -865,7 +865,7 @@ int tcp_bind_listener(struct listener *listener, char *errmsg, int errlen)
                if (fd >= 0) {
                        if (getsockopt(fd, IPPROTO_TCP, TCP_MAXSEG, &default_tcp6_maxseg,
                            &ready_len) == -1)
-                               Warning("Failed ot get the default value of TCP_MAXSEG for IPv6\n");
+                               ha_warning("Failed ot get the default value of TCP_MAXSEG for IPv6\n");
                        close(fd);
                }
        }
@@ -1898,7 +1898,7 @@ static int bind_parse_namespace(char **args, int cur_arg, struct proxy *px, stru
                        l->netns = netns_store_insert(namespace);
 
                if (l->netns == NULL) {
-                       Alert("Cannot open namespace '%s'.\n", args[cur_arg + 1]);
+                       ha_alert("Cannot open namespace '%s'.\n", args[cur_arg + 1]);
                        return ERR_ALERT | ERR_FATAL;
                }
        }
index 3b353c61a121f64e3a7912acff6b598aaf9eca95..1579dd0eb98ccecbf07b9b2f3fdbbc12899dc795 100644 (file)
@@ -482,7 +482,7 @@ static int uxst_connect_server(struct connection *conn, int data, int delack)
                /* do not log anything there, it's a normal condition when this option
                 * is used to serialize connections to a server !
                 */
-               Alert("socket(): not enough free sockets. Raise -n argument. Giving up.\n");
+               ha_alert("socket(): not enough free sockets. Raise -n argument. Giving up.\n");
                close(fd);
                conn->err_code = CO_ER_CONF_FDLIM;
                conn->flags |= CO_FL_ERROR;
index ccbc7b22e71708cfb9289562017b65be4c09d2a2..1730ba4fb175e6a06a576dd47ea58ea67f41e3cc 100644 (file)
@@ -661,8 +661,8 @@ struct server *findserver(const struct proxy *px, const char *name) {
                        continue;
                }
 
-               Alert("Refusing to use duplicated server '%s' found in proxy: %s!\n",
-                       name, px->id);
+               ha_alert("Refusing to use duplicated server '%s' found in proxy: %s!\n",
+                        name, px->id);
 
                return NULL;
        }
@@ -679,40 +679,40 @@ struct server *findserver(const struct proxy *px, const char *name) {
 int proxy_cfg_ensure_no_http(struct proxy *curproxy)
 {
        if (curproxy->cookie_name != NULL) {
-               Warning("config : cookie will be ignored for %s '%s' (needs 'mode http').\n",
-                       proxy_type_str(curproxy), curproxy->id);
+               ha_warning("config : cookie will be ignored for %s '%s' (needs 'mode http').\n",
+                          proxy_type_str(curproxy), curproxy->id);
        }
        if (curproxy->rsp_exp != NULL) {
-               Warning("config : server regular expressions will be ignored for %s '%s' (needs 'mode http').\n",
-                       proxy_type_str(curproxy), curproxy->id);
+               ha_warning("config : server regular expressions will be ignored for %s '%s' (needs 'mode http').\n",
+                          proxy_type_str(curproxy), curproxy->id);
        }
        if (curproxy->req_exp != NULL) {
-               Warning("config : client regular expressions will be ignored for %s '%s' (needs 'mode http').\n",
-                       proxy_type_str(curproxy), curproxy->id);
+               ha_warning("config : client regular expressions will be ignored for %s '%s' (needs 'mode http').\n",
+                          proxy_type_str(curproxy), curproxy->id);
        }
        if (curproxy->monitor_uri != NULL) {
-               Warning("config : monitor-uri will be ignored for %s '%s' (needs 'mode http').\n",
-                       proxy_type_str(curproxy), curproxy->id);
+               ha_warning("config : monitor-uri will be ignored for %s '%s' (needs 'mode http').\n",
+                          proxy_type_str(curproxy), curproxy->id);
        }
        if (curproxy->lbprm.algo & BE_LB_NEED_HTTP) {
                curproxy->lbprm.algo &= ~BE_LB_ALGO;
                curproxy->lbprm.algo |= BE_LB_ALGO_RR;
-               Warning("config : Layer 7 hash not possible for %s '%s' (needs 'mode http'). Falling back to round robin.\n",
-                       proxy_type_str(curproxy), curproxy->id);
+               ha_warning("config : Layer 7 hash not possible for %s '%s' (needs 'mode http'). Falling back to round robin.\n",
+                          proxy_type_str(curproxy), curproxy->id);
        }
        if (curproxy->to_log & (LW_REQ | LW_RESP)) {
                curproxy->to_log &= ~(LW_REQ | LW_RESP);
-               Warning("parsing [%s:%d] : HTTP log/header format not usable with %s '%s' (needs 'mode http').\n",
-                       curproxy->conf.lfs_file, curproxy->conf.lfs_line,
-                       proxy_type_str(curproxy), curproxy->id);
+               ha_warning("parsing [%s:%d] : HTTP log/header format not usable with %s '%s' (needs 'mode http').\n",
+                          curproxy->conf.lfs_file, curproxy->conf.lfs_line,
+                          proxy_type_str(curproxy), curproxy->id);
        }
        if (curproxy->conf.logformat_string == default_http_log_format ||
            curproxy->conf.logformat_string == clf_http_log_format) {
                /* Note: we don't change the directive's file:line number */
                curproxy->conf.logformat_string = default_tcp_log_format;
-               Warning("parsing [%s:%d] : 'option httplog' not usable with %s '%s' (needs 'mode http'). Falling back to 'option tcplog'.\n",
-                       curproxy->conf.lfs_file, curproxy->conf.lfs_line,
-                       proxy_type_str(curproxy), curproxy->id);
+               ha_warning("parsing [%s:%d] : 'option httplog' not usable with %s '%s' (needs 'mode http'). Falling back to 'option tcplog'.\n",
+                          curproxy->conf.lfs_file, curproxy->conf.lfs_line,
+                          proxy_type_str(curproxy), curproxy->id);
        }
 
        return 0;
@@ -797,11 +797,11 @@ int start_proxies(int verbose)
                        /* errors are reported if <verbose> is set or if they are fatal */
                        if (verbose || (lerr & (ERR_FATAL | ERR_ABORT))) {
                                if (lerr & ERR_ALERT)
-                                       Alert("Starting %s %s: %s\n",
-                                             proxy_type_str(curproxy), curproxy->id, msg);
+                                       ha_alert("Starting %s %s: %s\n",
+                                                proxy_type_str(curproxy), curproxy->id, msg);
                                else if (lerr & ERR_WARN)
-                                       Warning("Starting %s %s: %s\n",
-                                               proxy_type_str(curproxy), curproxy->id, msg);
+                                       ha_warning("Starting %s %s: %s\n",
+                                                  proxy_type_str(curproxy), curproxy->id, msg);
                        }
 
                        err |= lerr;
@@ -849,8 +849,8 @@ struct task *manage_proxy(struct task *t)
                int t;
                t = tick_remain(now_ms, p->stop_time);
                if (t == 0) {
-                       Warning("Proxy %s stopped (FE: %lld conns, BE: %lld conns).\n",
-                               p->id, p->fe_counters.cum_conn, p->be_counters.cum_conn);
+                       ha_warning("Proxy %s stopped (FE: %lld conns, BE: %lld conns).\n",
+                                  p->id, p->fe_counters.cum_conn, p->be_counters.cum_conn);
                        send_log(p, LOG_WARNING, "Proxy %s stopped (FE: %lld conns, BE: %lld conns).\n",
                                 p->id, p->fe_counters.cum_conn, p->be_counters.cum_conn);
                        stop_proxy(p);
@@ -940,20 +940,20 @@ struct task *hard_stop(struct task *t)
        struct stream *s;
 
        if (killed) {
-               Warning("Some tasks resisted to hard-stop, exiting now.\n");
+               ha_warning("Some tasks resisted to hard-stop, exiting now.\n");
                send_log(NULL, LOG_WARNING, "Some tasks resisted to hard-stop, exiting now.\n");
                /* Do some cleanup and explicitely quit */
                deinit();
                exit(0);
        }
 
-       Warning("soft-stop running for too long, performing a hard-stop.\n");
+       ha_warning("soft-stop running for too long, performing a hard-stop.\n");
        send_log(NULL, LOG_WARNING, "soft-stop running for too long, performing a hard-stop.\n");
        p = proxy;
        while (p) {
                if ((p->cap & PR_CAP_FE) && (p->feconn > 0)) {
-                       Warning("Proxy %s hard-stopped (%d remaining conns will be closed).\n",
-                               p->id, p->feconn);
+                       ha_warning("Proxy %s hard-stopped (%d remaining conns will be closed).\n",
+                                  p->id, p->feconn);
                        send_log(p, LOG_WARNING, "Proxy %s hard-stopped (%d remaining conns will be closed).\n",
                                p->id, p->feconn);
                }
@@ -987,7 +987,7 @@ void soft_stop(void)
                        task_schedule(task, tick_add(now_ms, global.hard_stop_after));
                }
                else {
-                       Alert("out of memory trying to allocate the hard-stop task.\n");
+                       ha_alert("out of memory trying to allocate the hard-stop task.\n");
                }
        }
        p = proxy;
@@ -1007,7 +1007,7 @@ void soft_stop(void)
                }
 
                if (p->state != PR_STSTOPPED) {
-                       Warning("Stopping %s %s in %d ms.\n", proxy_cap_str(p->cap), p->id, p->grace);
+                       ha_warning("Stopping %s %s in %d ms.\n", proxy_cap_str(p->cap), p->id, p->grace);
                        send_log(p, LOG_WARNING, "Stopping %s %s in %d ms.\n", proxy_cap_str(p->cap), p->id, p->grace);
                        p->stop_time = tick_add(now_ms, p->grace);
 
@@ -1048,7 +1048,7 @@ int pause_proxy(struct proxy *p)
            p->state == PR_STSTOPPED || p->state == PR_STPAUSED)
                return 1;
 
-       Warning("Pausing %s %s.\n", proxy_cap_str(p->cap), p->id);
+       ha_warning("Pausing %s %s.\n", proxy_cap_str(p->cap), p->id);
        send_log(p, LOG_WARNING, "Pausing %s %s.\n", proxy_cap_str(p->cap), p->id);
 
        list_for_each_entry(l, &p->conf.listeners, by_fe) {
@@ -1057,7 +1057,7 @@ int pause_proxy(struct proxy *p)
        }
 
        if (p->state == PR_STERROR) {
-               Warning("%s %s failed to enter pause mode.\n", proxy_cap_str(p->cap), p->id);
+               ha_warning("%s %s failed to enter pause mode.\n", proxy_cap_str(p->cap), p->id);
                send_log(p, LOG_WARNING, "%s %s failed to enter pause mode.\n", proxy_cap_str(p->cap), p->id);
                return 0;
        }
@@ -1137,7 +1137,7 @@ int resume_proxy(struct proxy *p)
        if (p->state != PR_STPAUSED)
                return 1;
 
-       Warning("Enabling %s %s.\n", proxy_cap_str(p->cap), p->id);
+       ha_warning("Enabling %s %s.\n", proxy_cap_str(p->cap), p->id);
        send_log(p, LOG_WARNING, "Enabling %s %s.\n", proxy_cap_str(p->cap), p->id);
 
        fail = 0;
@@ -1147,14 +1147,14 @@ int resume_proxy(struct proxy *p)
 
                        port = get_host_port(&l->addr);
                        if (port) {
-                               Warning("Port %d busy while trying to enable %s %s.\n",
-                                       port, proxy_cap_str(p->cap), p->id);
+                               ha_warning("Port %d busy while trying to enable %s %s.\n",
+                                          port, proxy_cap_str(p->cap), p->id);
                                send_log(p, LOG_WARNING, "Port %d busy while trying to enable %s %s.\n",
                                         port, proxy_cap_str(p->cap), p->id);
                        }
                        else {
-                               Warning("Bind on socket %d busy while trying to enable %s %s.\n",
-                                       l->luid, proxy_cap_str(p->cap), p->id);
+                               ha_warning("Bind on socket %d busy while trying to enable %s %s.\n",
+                                          l->luid, proxy_cap_str(p->cap), p->id);
                                send_log(p, LOG_WARNING, "Bind on socket %d busy while trying to enable %s %s.\n",
                                         l->luid, proxy_cap_str(p->cap), p->id);
                        }
@@ -1201,7 +1201,7 @@ void pause_proxies(void)
         }
 
        if (err) {
-               Warning("Some proxies refused to pause, performing soft stop now.\n");
+               ha_warning("Some proxies refused to pause, performing soft stop now.\n");
                send_log(p, LOG_WARNING, "Some proxies refused to pause, performing soft stop now.\n");
                soft_stop();
        }
@@ -1235,7 +1235,7 @@ void resume_proxies(void)
         }
 
        if (err) {
-               Warning("Some proxies refused to resume, a restart is probably needed to resume safe operations.\n");
+               ha_warning("Some proxies refused to resume, a restart is probably needed to resume safe operations.\n");
                send_log(p, LOG_WARNING, "Some proxies refused to resume, a restart is probably needed to resume safe operations.\n");
        }
 }
@@ -1706,8 +1706,8 @@ static int cli_parse_shutdown_frontend(char **args, struct appctx *appctx, void
                return 1;
        }
 
-       Warning("Proxy %s stopped (FE: %lld conns, BE: %lld conns).\n",
-               px->id, px->fe_counters.cum_conn, px->be_counters.cum_conn);
+       ha_warning("Proxy %s stopped (FE: %lld conns, BE: %lld conns).\n",
+                  px->id, px->fe_counters.cum_conn, px->be_counters.cum_conn);
        send_log(px, LOG_WARNING, "Proxy %s stopped (FE: %lld conns, BE: %lld conns).\n",
                 px->id, px->fe_counters.cum_conn, px->be_counters.cum_conn);
        stop_proxy(px);
index 993a37a431e2ac75a88119723b902958f22dbeca..62c8e84df9e8b122dad61b44bebd70f885de6711 100644 (file)
@@ -114,7 +114,7 @@ const char *check_replace_string(const char *str)
                                err = NULL;
                        }
                        else {
-                               Warning("'\\%c' : deprecated use of a backslash before something not '\\','x' or a digit.\n", *str);
+                               ha_warning("'\\%c' : deprecated use of a backslash before something not '\\','x' or a digit.\n", *str);
                                err = NULL;
                        }
                }
index 9389766f4cf68108c0a48ec90bd50a6994f8ccac..f9c1ff4e47d3e19769b43875f681ae74da09b1c1 100644 (file)
@@ -1142,9 +1142,9 @@ int smp_resolve_args(struct proxy *p)
                switch (arg->type) {
                case ARGT_SRV:
                        if (!arg->data.str.len) {
-                               Alert("parsing [%s:%d] : missing server name in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                     cur->file, cur->line,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : missing server name in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                        cur->file, cur->line,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                continue;
                        }
@@ -1158,9 +1158,9 @@ int smp_resolve_args(struct proxy *p)
 
                                px = proxy_be_by_name(pname);
                                if (!px) {
-                                       Alert("parsing [%s:%d] : unable to find proxy '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                             cur->file, cur->line, pname,
-                                             cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                                       ha_alert("parsing [%s:%d] : unable to find proxy '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                                cur->file, cur->line, pname,
+                                                cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                        cfgerr++;
                                        break;
                                }
@@ -1170,9 +1170,9 @@ int smp_resolve_args(struct proxy *p)
 
                        srv = findserver(px, sname);
                        if (!srv) {
-                               Alert("parsing [%s:%d] : unable to find server '%s' in proxy '%s', referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                     cur->file, cur->line, sname, pname,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : unable to find server '%s' in proxy '%s', referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                        cur->file, cur->line, sname, pname,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                break;
                        }
@@ -1190,17 +1190,17 @@ int smp_resolve_args(struct proxy *p)
                        }
 
                        if (!px) {
-                               Alert("parsing [%s:%d] : unable to find frontend '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                     cur->file, cur->line, pname,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : unable to find frontend '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                        cur->file, cur->line, pname,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                break;
                        }
 
                        if (!(px->cap & PR_CAP_FE)) {
-                               Alert("parsing [%s:%d] : proxy '%s', referenced in arg %d of %s%s%s%s '%s' %s proxy '%s', has not frontend capability.\n",
-                                     cur->file, cur->line, pname,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : proxy '%s', referenced in arg %d of %s%s%s%s '%s' %s proxy '%s', has not frontend capability.\n",
+                                        cur->file, cur->line, pname,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                break;
                        }
@@ -1218,17 +1218,17 @@ int smp_resolve_args(struct proxy *p)
                        }
 
                        if (!px) {
-                               Alert("parsing [%s:%d] : unable to find backend '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                     cur->file, cur->line, pname,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : unable to find backend '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                        cur->file, cur->line, pname,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                break;
                        }
 
                        if (!(px->cap & PR_CAP_BE)) {
-                               Alert("parsing [%s:%d] : proxy '%s', referenced in arg %d of %s%s%s%s '%s' %s proxy '%s', has not backend capability.\n",
-                                     cur->file, cur->line, pname,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : proxy '%s', referenced in arg %d of %s%s%s%s '%s' %s proxy '%s', has not backend capability.\n",
+                                        cur->file, cur->line, pname,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                break;
                        }
@@ -1246,17 +1246,17 @@ int smp_resolve_args(struct proxy *p)
                        }
 
                        if (!px) {
-                               Alert("parsing [%s:%d] : unable to find table '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                     cur->file, cur->line, pname,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : unable to find table '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                        cur->file, cur->line, pname,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                break;
                        }
 
                        if (!px->table.size) {
-                               Alert("parsing [%s:%d] : no table in proxy '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                     cur->file, cur->line, pname,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : no table in proxy '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                        cur->file, cur->line, pname,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                break;
                        }
@@ -1269,9 +1269,9 @@ int smp_resolve_args(struct proxy *p)
 
                case ARGT_USR:
                        if (!arg->data.str.len) {
-                               Alert("parsing [%s:%d] : missing userlist name in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                     cur->file, cur->line,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : missing userlist name in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                        cur->file, cur->line,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                break;
                        }
@@ -1283,9 +1283,9 @@ int smp_resolve_args(struct proxy *p)
                                ul = auth_find_userlist(arg->data.str.str);
 
                        if (!ul) {
-                               Alert("parsing [%s:%d] : unable to find userlist '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                     cur->file, cur->line, arg->data.str.str,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : unable to find userlist '%s' referenced in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                        cur->file, cur->line, arg->data.str.str,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                break;
                        }
@@ -1298,18 +1298,18 @@ int smp_resolve_args(struct proxy *p)
 
                case ARGT_REG:
                        if (!arg->data.str.len) {
-                               Alert("parsing [%s:%d] : missing regex in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                     cur->file, cur->line,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : missing regex in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                        cur->file, cur->line,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                continue;
                        }
 
                        reg = calloc(1, sizeof(*reg));
                        if (!reg) {
-                               Alert("parsing [%s:%d] : not enough memory to build regex in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
-                                     cur->file, cur->line,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
+                               ha_alert("parsing [%s:%d] : not enough memory to build regex in arg %d of %s%s%s%s '%s' %s proxy '%s'.\n",
+                                        cur->file, cur->line,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id);
                                cfgerr++;
                                continue;
                        }
@@ -1319,10 +1319,10 @@ int smp_resolve_args(struct proxy *p)
                        err = NULL;
 
                        if (!regex_comp(arg->data.str.str, reg, !(rflags & REG_ICASE), 1 /* capture substr */, &err)) {
-                               Alert("parsing [%s:%d] : error in regex '%s' in arg %d of %s%s%s%s '%s' %s proxy '%s' : %s.\n",
-                                     cur->file, cur->line,
-                                     arg->data.str.str,
-                                     cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id, err);
+                               ha_alert("parsing [%s:%d] : error in regex '%s' in arg %d of %s%s%s%s '%s' %s proxy '%s' : %s.\n",
+                                        cur->file, cur->line,
+                                        arg->data.str.str,
+                                        cur->arg_pos + 1, conv_pre, conv_ctx, conv_pos, ctx, cur->kw, where, p->id, err);
                                cfgerr++;
                                continue;
                        }
index c712b889cb807830f305b5b92074968b25b292bc..62fc59e857720c85a29fbfb4b9bdf28f5237b7b7 100644 (file)
@@ -146,9 +146,9 @@ void srv_set_dyncookie(struct server *s)
                        continue;
                if (tmpserv->cookie &&
                    strcmp(tmpserv->cookie, s->cookie) == 0) {
-                       Warning("We generated two equal cookies for two different servers.\n"
-                           "Please change the secret key for '%s'.\n",
-                           s->proxy->id);
+                       ha_warning("We generated two equal cookies for two different servers.\n"
+                                  "Please change the secret key for '%s'.\n",
+                                  s->proxy->id);
                }
        }
 }
@@ -581,8 +581,8 @@ static int srv_parse_source(char **args, int *cur_arg,
 
        proto = protocol_by_family(sk->ss_family);
        if (!proto || !proto->connect) {
-               Alert("'%s %s' : connect() not supported for this address family.\n",
-                     args[*cur_arg], args[*cur_arg + 1]);
+               ha_alert("'%s %s' : connect() not supported for this address family.\n",
+                        args[*cur_arg], args[*cur_arg + 1]);
                goto err;
        }
 
@@ -593,15 +593,15 @@ static int srv_parse_source(char **args, int *cur_arg,
                int i;
 
                if (!port_low || !port_high) {
-                       Alert("'%s' does not support port offsets (found '%s').\n",
-                             args[*cur_arg], args[*cur_arg + 1]);
+                       ha_alert("'%s' does not support port offsets (found '%s').\n",
+                                args[*cur_arg], args[*cur_arg + 1]);
                        goto err;
                }
 
                if (port_low  <= 0 || port_low  > 65535 ||
                        port_high <= 0 || port_high > 65535 ||
                        port_low > port_high) {
-                       Alert("'%s': invalid source port range %d-%d.\n", args[*cur_arg], port_low, port_high);
+                       ha_alert("'%s': invalid source port range %d-%d.\n", args[*cur_arg], port_low, port_high);
                        goto err;
                }
                newsrv->conn_src.sport_range = port_range_alloc_range(port_high - port_low + 1);
@@ -614,8 +614,8 @@ static int srv_parse_source(char **args, int *cur_arg,
                if (!strcmp(args[*cur_arg], "usesrc")) {  /* address to use outside */
 #if defined(CONFIG_HAP_TRANSPARENT)
                        if (!*args[*cur_arg + 1]) {
-                               Alert("'usesrc' expects <addr>[:<port>], 'client', 'clientip', "
-                                     "or 'hdr_ip(name,#)' as argument.\n");
+                               ha_alert("'usesrc' expects <addr>[:<port>], 'client', 'clientip', "
+                                        "or 'hdr_ip(name,#)' as argument.\n");
                                goto err;
                        }
                        if (!strcmp(args[*cur_arg + 1], "client")) {
@@ -660,8 +660,8 @@ static int srv_parse_source(char **args, int *cur_arg,
                                }
 
                                if (newsrv->conn_src.bind_hdr_occ < -MAX_HDR_HISTORY) {
-                                       Alert("usesrc hdr_ip(name,num) does not support negative"
-                                             " occurrences values smaller than %d.\n", MAX_HDR_HISTORY);
+                                       ha_alert("usesrc hdr_ip(name,num) does not support negative"
+                                                " occurrences values smaller than %d.\n", MAX_HDR_HISTORY);
                                        goto err;
                                }
                        }
@@ -672,20 +672,20 @@ static int srv_parse_source(char **args, int *cur_arg,
                                /* 'sk' is statically allocated (no need to be freed). */
                                sk = str2sa_range(args[*cur_arg + 1], NULL, &port1, &port2, &errmsg, NULL, NULL, 1);
                                if (!sk) {
-                                       Alert("'%s %s' : %s\n", args[*cur_arg], args[*cur_arg + 1], errmsg);
+                                       ha_alert("'%s %s' : %s\n", args[*cur_arg], args[*cur_arg + 1], errmsg);
                                        goto err;
                                }
 
                                proto = protocol_by_family(sk->ss_family);
                                if (!proto || !proto->connect) {
-                                       Alert("'%s %s' : connect() not supported for this address family.\n",
-                                             args[*cur_arg], args[*cur_arg + 1]);
+                                       ha_alert("'%s %s' : connect() not supported for this address family.\n",
+                                                args[*cur_arg], args[*cur_arg + 1]);
                                        goto err;
                                }
 
                                if (port1 != port2) {
-                                       Alert("'%s' : port ranges and offsets are not allowed in '%s'\n",
-                                             args[*cur_arg], args[*cur_arg + 1]);
+                                       ha_alert("'%s' : port ranges and offsets are not allowed in '%s'\n",
+                                                args[*cur_arg], args[*cur_arg + 1]);
                                        goto err;
                                }
                                newsrv->conn_src.tproxy_addr = *sk;
@@ -695,7 +695,7 @@ static int srv_parse_source(char **args, int *cur_arg,
                        *cur_arg += 2;
                        continue;
 #else  /* no TPROXY support */
-                       Alert("'usesrc' not allowed here because support for TPROXY was not compiled in.\n");
+                       ha_alert("'usesrc' not allowed here because support for TPROXY was not compiled in.\n");
                        goto err;
 #endif /* defined(CONFIG_HAP_TRANSPARENT) */
                } /* "usesrc" */
@@ -703,7 +703,7 @@ static int srv_parse_source(char **args, int *cur_arg,
                if (!strcmp(args[*cur_arg], "interface")) { /* specifically bind to this interface */
 #ifdef SO_BINDTODEVICE
                        if (!*args[*cur_arg + 1]) {
-                               Alert("'%s' : missing interface name.\n", args[0]);
+                               ha_alert("'%s' : missing interface name.\n", args[0]);
                                goto err;
                        }
                        free(newsrv->conn_src.iface_name);
@@ -711,7 +711,7 @@ static int srv_parse_source(char **args, int *cur_arg,
                        newsrv->conn_src.iface_len  = strlen(newsrv->conn_src.iface_name);
                        global.last_checks |= LSTCHK_NETADM;
 #else
-                       Alert("'%s' : '%s' option not implemented.\n", args[0], args[*cur_arg]);
+                       ha_alert("'%s' : '%s' option not implemented.\n", args[0], args[*cur_arg]);
                        goto err;
 #endif
                        *cur_arg += 2;
@@ -1294,11 +1294,11 @@ static void display_parser_err(const char *file, int linenum, char **args, int c
 {
        if (err && *err) {
                indent_msg(err, 2);
-               Alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], *err);
+               ha_alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], *err);
        }
        else
-               Alert("parsing [%s:%d] : '%s %s' : error encountered while processing '%s'.\n",
-                     file, linenum, args[0], args[1], args[cur_arg]);
+               ha_alert("parsing [%s:%d] : '%s %s' : error encountered while processing '%s'.\n",
+                        file, linenum, args[0], args[1], args[cur_arg]);
 }
 
 static void srv_conn_src_sport_range_cpy(struct server *srv,
@@ -1579,9 +1579,9 @@ static int server_healthcheck_validate(const char *file, int linenum, struct ser
 
        r = (struct tcpcheck_rule *)srv->proxy->tcpcheck_rules.n;
        if (!r) {
-               Alert("parsing [%s:%d] : server %s has neither service port nor check port. "
-                         "Check has been disabled.\n",
-                         file, linenum, srv->id);
+               ha_alert("parsing [%s:%d] : server %s has neither service port nor check port. "
+                        "Check has been disabled.\n",
+                        file, linenum, srv->id);
                return -1;
        }
 
@@ -1593,9 +1593,9 @@ static int server_healthcheck_validate(const char *file, int linenum, struct ser
        }
 
        if ((r->action != TCPCHK_ACT_CONNECT) || !r->port) {
-               Alert("parsing [%s:%d] : server %s has neither service port nor check port "
-                         "nor tcp_check rule 'connect' with port information. Check has been disabled.\n",
-                         file, linenum, srv->id);
+               ha_alert("parsing [%s:%d] : server %s has neither service port nor check port "
+                        "nor tcp_check rule 'connect' with port information. Check has been disabled.\n",
+                        file, linenum, srv->id);
                return -1;
        }
 
@@ -1603,9 +1603,9 @@ static int server_healthcheck_validate(const char *file, int linenum, struct ser
        l = &srv->proxy->tcpcheck_rules;
        list_for_each_entry(r, l, list) {
                if ((r->action == TCPCHK_ACT_CONNECT) && (!r->port)) {
-                       Alert("parsing [%s:%d] : server %s has neither service port nor check port, "
-                                 "and a tcp_check rule 'connect' with no port information. Check has been disabled.\n",
-                                 file, linenum, srv->id);
+                       ha_alert("parsing [%s:%d] : server %s has neither service port nor check port, "
+                                "and a tcp_check rule 'connect' with no port information. Check has been disabled.\n",
+                                file, linenum, srv->id);
                        return -1;
                }
        }
@@ -1643,8 +1643,8 @@ static int server_health_check_init(const char *file, int linenum,
                return 0;
 
        if (srv->trackit) {
-               Alert("parsing [%s:%d]: unable to enable checks and tracking at the same time!\n",
-                       file, linenum);
+               ha_alert("parsing [%s:%d]: unable to enable checks and tracking at the same time!\n",
+                        file, linenum);
                return ERR_ALERT | ERR_FATAL;
        }
 
@@ -1654,7 +1654,7 @@ static int server_health_check_init(const char *file, int linenum,
        /* note: check type will be set during the config review phase */
        ret = do_health_check_init(srv, 0, CHK_ST_CONFIGURED | CHK_ST_ENABLED);
        if (ret) {
-               Alert("parsing [%s:%d] : %s.\n", file, linenum, ret);
+               ha_alert("parsing [%s:%d] : %s.\n", file, linenum, ret);
                return ERR_ALERT | ERR_ABORT;
        }
 
@@ -1694,14 +1694,14 @@ static int server_agent_check_init(const char *file, int linenum,
                return 0;
 
        if (!srv->agent.port) {
-               Alert("parsing [%s:%d] : server %s does not have agent port. Agent check has been disabled.\n",
+               ha_alert("parsing [%s:%d] : server %s does not have agent port. Agent check has been disabled.\n",
                          file, linenum, srv->id);
                return ERR_ALERT | ERR_FATAL;
        }
 
        ret = do_server_agent_check_init(srv, CHK_ST_CONFIGURED | CHK_ST_ENABLED | CHK_ST_AGENT);
        if (ret) {
-               Alert("parsing [%s:%d] : %s.\n", file, linenum, ret);
+               ha_alert("parsing [%s:%d] : %s.\n", file, linenum, ret);
                return ERR_ALERT | ERR_ABORT;
        }
 
@@ -1876,7 +1876,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                int tmpl_range_low = 0, tmpl_range_high = 0;
 
                if (!defsrv && curproxy == defproxy) {
-                       Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+                       ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
@@ -1887,7 +1887,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                if (srv) {
                        if (!*args[2]) {
                                /* 'server' line number of argument check. */
-                               Alert("parsing [%s:%d] : '%s' expects <name> and <addr>[:<port>] as arguments.\n",
+                               ha_alert("parsing [%s:%d] : '%s' expects <name> and <addr>[:<port>] as arguments.\n",
                                          file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
@@ -1898,7 +1898,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                else if (srv_tmpl) {
                        if (!*args[3]) {
                                /* 'server-template' line number of argument check. */
-                               Alert("parsing [%s:%d] : '%s' expects <prefix> <nb | range> <addr>[:<port>] as arguments.\n",
+                               ha_alert("parsing [%s:%d] : '%s' expects <prefix> <nb | range> <addr>[:<port>] as arguments.\n",
                                          file, linenum, args[0]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
@@ -1908,7 +1908,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                }
 
                if (err) {
-                       Alert("parsing [%s:%d] : character '%c' is not permitted in %s %s '%s'.\n",
+                       ha_alert("parsing [%s:%d] : character '%c' is not permitted in %s %s '%s'.\n",
                              file, linenum, *err, args[0], srv ? "name" : "prefix", args[1]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
@@ -1918,7 +1918,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                if (srv_tmpl) {
                        /* Parse server-template <nb | range> arg. */
                        if (srv_tmpl_parse_range(newsrv, args[cur_arg], &tmpl_range_low, &tmpl_range_high) < 0) {
-                               Alert("parsing [%s:%d] : Wrong %s number or range arg '%s'.\n",
+                               ha_alert("parsing [%s:%d] : Wrong %s number or range arg '%s'.\n",
                                          file, linenum, args[0], args[cur_arg]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
@@ -1933,7 +1933,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
 
                        newsrv = new_server(curproxy);
                        if (!newsrv) {
-                               Alert("parsing [%s:%d] : out of memory.\n", file, linenum);
+                               ha_alert("parsing [%s:%d] : out of memory.\n", file, linenum);
                                err_code |= ERR_ALERT | ERR_ABORT;
                                goto out;
                        }
@@ -1966,14 +1966,14 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                         */
                        sk = str2sa_range(args[cur_arg], &port, &port1, &port2, &errmsg, NULL, &fqdn, 0);
                        if (!sk) {
-                               Alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg);
+                               ha_alert("parsing [%s:%d] : '%s %s' : %s\n", file, linenum, args[0], args[1], errmsg);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
                        }
 
                        proto = protocol_by_family(sk->ss_family);
                        if (!fqdn && (!proto || !proto->connect)) {
-                               Alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
+                               ha_alert("parsing [%s:%d] : '%s %s' : connect() not supported for this address family.\n",
                                      file, linenum, args[0], args[1]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
@@ -1985,7 +1985,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                        }
                        else if (port1 != port2) {
                                /* port range */
-                               Alert("parsing [%s:%d] : '%s %s' : port ranges are not allowed in '%s'\n",
+                               ha_alert("parsing [%s:%d] : '%s %s' : port ranges are not allowed in '%s'\n",
                                      file, linenum, args[0], args[1], args[2]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
@@ -2003,7 +2003,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                        }
                                }
                                else if (srv_prepare_for_resolution(newsrv, fqdn) == -1) {
-                                       Alert("parsing [%s:%d] : Can't create DNS resolution for server '%s'\n",
+                                       ha_alert("parsing [%s:%d] : Can't create DNS resolution for server '%s'\n",
                                              file, linenum, newsrv->id);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2014,7 +2014,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                        newsrv->svc_port = port;
 
                        if (!newsrv->srvrq && !newsrv->hostname && !protocol_by_family(newsrv->addr.ss_family)) {
-                               Alert("parsing [%s:%d] : Unknown protocol family %d '%s'\n",
+                               ha_alert("parsing [%s:%d] : Unknown protocol family %d '%s'\n",
                                      file, linenum, newsrv->addr.ss_family, args[cur_arg]);
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
@@ -2034,13 +2034,13 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                        if (!strcmp(args[cur_arg], "agent-inter")) {
                                const char *err = parse_time_err(args[cur_arg + 1], &val, TIME_UNIT_MS);
                                if (err) {
-                                       Alert("parsing [%s:%d] : unexpected character '%c' in 'agent-inter' argument of server %s.\n",
+                                       ha_alert("parsing [%s:%d] : unexpected character '%c' in 'agent-inter' argument of server %s.\n",
                                              file, linenum, *err, newsrv->id);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                                if (val <= 0) {
-                                       Alert("parsing [%s:%d]: invalid value %d for argument '%s' of server %s.\n",
+                                       ha_alert("parsing [%s:%d]: invalid value %d for argument '%s' of server %s.\n",
                                              file, linenum, val, args[cur_arg], newsrv->id);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2050,7 +2050,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                        }
                        else if (!strcmp(args[cur_arg], "agent-addr")) {
                                if(str2ip(args[cur_arg + 1], &newsrv->agent.addr) == NULL) {
-                                       Alert("parsing agent-addr failed. Check if %s is correct address.\n", args[cur_arg + 1]);
+                                       ha_alert("parsing agent-addr failed. Check if %s is correct address.\n", args[cur_arg + 1]);
                                        goto out;
                                }
 
@@ -2095,7 +2095,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                        }
                                        else if (str2ip2(p, &sa, 0)) {
                                                if (is_addr(&newsrv->init_addr)) {
-                                                       Alert("parsing [%s:%d]: '%s' : initial address already specified, cannot add '%s'.\n",
+                                                       ha_alert("parsing [%s:%d]: '%s' : initial address already specified, cannot add '%s'.\n",
                                                              file, linenum, args[cur_arg], p);
                                                        err_code |= ERR_ALERT | ERR_FATAL;
                                                        goto out;
@@ -2104,13 +2104,13 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                                done = srv_append_initaddr(&newsrv->init_addr_methods, SRV_IADDR_IP);
                                        }
                                        else {
-                                               Alert("parsing [%s:%d]: '%s' : unknown init-addr method '%s', supported methods are 'libc', 'last', 'none'.\n",
+                                               ha_alert("parsing [%s:%d]: '%s' : unknown init-addr method '%s', supported methods are 'libc', 'last', 'none'.\n",
                                                        file, linenum, args[cur_arg], p);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
                                        }
                                        if (!done) {
-                                               Alert("parsing [%s:%d]: '%s' : too many init-addr methods when trying to add '%s'\n",
+                                               ha_alert("parsing [%s:%d]: '%s' : too many init-addr methods when trying to add '%s'\n",
                                                        file, linenum, args[cur_arg], p);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
@@ -2129,7 +2129,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                else if (!strcmp(args[cur_arg + 1], "ipv6"))
                                        newsrv->dns_opts.family_prio = AF_INET6;
                                else {
-                                       Alert("parsing [%s:%d]: '%s' expects either ipv4 or ipv6 as argument.\n",
+                                       ha_alert("parsing [%s:%d]: '%s' expects either ipv4 or ipv6 as argument.\n",
                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2142,7 +2142,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                struct dns_options *opt;
 
                                if (!args[cur_arg + 1] || args[cur_arg + 1][0] == '\0') {
-                                       Alert("parsing [%s:%d]: '%s' expects a list of networks.\n",
+                                       ha_alert("parsing [%s:%d]: '%s' expects a list of networks.\n",
                                              file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2158,7 +2158,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                while (*p != '\0') {
                                        /* If no room avalaible, return error. */
                                        if (opt->pref_net_nb >= SRV_MAX_PREF_NET) {
-                                               Alert("parsing [%s:%d]: '%s' exceed %d networks.\n",
+                                               ha_alert("parsing [%s:%d]: '%s' exceed %d networks.\n",
                                                      file, linenum, args[cur_arg], SRV_MAX_PREF_NET);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
@@ -2181,7 +2181,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                                opt->pref_net[opt->pref_net_nb].family = AF_INET6;
                                        } else {
                                                /* All network conversions fail, retrun error. */
-                                               Alert("parsing [%s:%d]: '%s': invalid network '%s'.\n",
+                                               ha_alert("parsing [%s:%d]: '%s': invalid network '%s'.\n",
                                                      file, linenum, args[cur_arg], p);
                                                err_code |= ERR_ALERT | ERR_FATAL;
                                                goto out;
@@ -2194,7 +2194,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                        }
                        else if (!strcmp(args[cur_arg], "rise")) {
                                if (!*args[cur_arg + 1]) {
-                                       Alert("parsing [%s:%d]: '%s' expects an integer argument.\n",
+                                       ha_alert("parsing [%s:%d]: '%s' expects an integer argument.\n",
                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2202,7 +2202,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
 
                                newsrv->check.rise = atol(args[cur_arg + 1]);
                                if (newsrv->check.rise <= 0) {
-                                       Alert("parsing [%s:%d]: '%s' has to be > 0.\n",
+                                       ha_alert("parsing [%s:%d]: '%s' has to be > 0.\n",
                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2216,14 +2216,14 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                newsrv->check.fall = atol(args[cur_arg + 1]);
 
                                if (!*args[cur_arg + 1]) {
-                                       Alert("parsing [%s:%d]: '%s' expects an integer argument.\n",
+                                       ha_alert("parsing [%s:%d]: '%s' expects an integer argument.\n",
                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
 
                                if (newsrv->check.fall <= 0) {
-                                       Alert("parsing [%s:%d]: '%s' has to be > 0.\n",
+                                       ha_alert("parsing [%s:%d]: '%s' has to be > 0.\n",
                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2234,13 +2234,13 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                        else if (!strcmp(args[cur_arg], "inter")) {
                                const char *err = parse_time_err(args[cur_arg + 1], &val, TIME_UNIT_MS);
                                if (err) {
-                                       Alert("parsing [%s:%d] : unexpected character '%c' in 'inter' argument of server %s.\n",
+                                       ha_alert("parsing [%s:%d] : unexpected character '%c' in 'inter' argument of server %s.\n",
                                              file, linenum, *err, newsrv->id);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                                if (val <= 0) {
-                                       Alert("parsing [%s:%d]: invalid value %d for argument '%s' of server %s.\n",
+                                       ha_alert("parsing [%s:%d]: invalid value %d for argument '%s' of server %s.\n",
                                              file, linenum, val, args[cur_arg], newsrv->id);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2251,13 +2251,13 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                        else if (!strcmp(args[cur_arg], "fastinter")) {
                                const char *err = parse_time_err(args[cur_arg + 1], &val, TIME_UNIT_MS);
                                if (err) {
-                                       Alert("parsing [%s:%d]: unexpected character '%c' in 'fastinter' argument of server %s.\n",
+                                       ha_alert("parsing [%s:%d]: unexpected character '%c' in 'fastinter' argument of server %s.\n",
                                              file, linenum, *err, newsrv->id);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                                if (val <= 0) {
-                                       Alert("parsing [%s:%d]: invalid value %d for argument '%s' of server %s.\n",
+                                       ha_alert("parsing [%s:%d]: invalid value %d for argument '%s' of server %s.\n",
                                              file, linenum, val, args[cur_arg], newsrv->id);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2268,13 +2268,13 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                        else if (!strcmp(args[cur_arg], "downinter")) {
                                const char *err = parse_time_err(args[cur_arg + 1], &val, TIME_UNIT_MS);
                                if (err) {
-                                       Alert("parsing [%s:%d]: unexpected character '%c' in 'downinter' argument of server %s.\n",
+                                       ha_alert("parsing [%s:%d]: unexpected character '%c' in 'downinter' argument of server %s.\n",
                                              file, linenum, *err, newsrv->id);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
                                }
                                if (val <= 0) {
-                                       Alert("parsing [%s:%d]: invalid value %d for argument '%s' of server %s.\n",
+                                       ha_alert("parsing [%s:%d]: invalid value %d for argument '%s' of server %s.\n",
                                              file, linenum, val, args[cur_arg], newsrv->id);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2291,7 +2291,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                int w;
                                w = atol(args[cur_arg + 1]);
                                if (w < 0 || w > SRV_UWGHT_MAX) {
-                                       Alert("parsing [%s:%d] : weight of server %s is not within 0 and %d (%d).\n",
+                                       ha_alert("parsing [%s:%d] : weight of server %s is not within 0 and %d (%d).\n",
                                              file, linenum, newsrv->id, SRV_UWGHT_MAX, w);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2315,7 +2315,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                /* slowstart is stored in seconds */
                                const char *err = parse_time_err(args[cur_arg + 1], &val, TIME_UNIT_MS);
                                if (err) {
-                                       Alert("parsing [%s:%d] : unexpected character '%c' in 'slowstart' argument of server %s.\n",
+                                       ha_alert("parsing [%s:%d] : unexpected character '%c' in 'slowstart' argument of server %s.\n",
                                              file, linenum, *err, newsrv->id);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2333,7 +2333,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                else if (!strcmp(args[cur_arg + 1], "mark-down"))
                                        newsrv->onerror = HANA_ONERR_MARKDWN;
                                else {
-                                       Alert("parsing [%s:%d]: '%s' expects one of 'fastinter', "
+                                       ha_alert("parsing [%s:%d]: '%s' expects one of 'fastinter', "
                                                "'fail-check', 'sudden-death' or 'mark-down' but got '%s'\n",
                                                file, linenum, args[cur_arg], args[cur_arg + 1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
@@ -2346,7 +2346,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                if (!strcmp(args[cur_arg + 1], "shutdown-sessions"))
                                        newsrv->onmarkeddown = HANA_ONMARKEDDOWN_SHUTDOWNSESSIONS;
                                else {
-                                       Alert("parsing [%s:%d]: '%s' expects 'shutdown-sessions' but got '%s'\n",
+                                       ha_alert("parsing [%s:%d]: '%s' expects 'shutdown-sessions' but got '%s'\n",
                                                file, linenum, args[cur_arg], args[cur_arg + 1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2358,7 +2358,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                if (!strcmp(args[cur_arg + 1], "shutdown-backup-sessions"))
                                        newsrv->onmarkedup = HANA_ONMARKEDUP_SHUTDOWNBACKUPSESSIONS;
                                else {
-                                       Alert("parsing [%s:%d]: '%s' expects 'shutdown-backup-sessions' but got '%s'\n",
+                                       ha_alert("parsing [%s:%d]: '%s' expects 'shutdown-backup-sessions' but got '%s'\n",
                                                file, linenum, args[cur_arg], args[cur_arg + 1]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2368,7 +2368,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                        }
                        else if (!strcmp(args[cur_arg], "error-limit")) {
                                if (!*args[cur_arg + 1]) {
-                                       Alert("parsing [%s:%d]: '%s' expects an integer argument.\n",
+                                       ha_alert("parsing [%s:%d]: '%s' expects an integer argument.\n",
                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2377,7 +2377,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                newsrv->consecutive_errors_limit = atoi(args[cur_arg + 1]);
 
                                if (newsrv->consecutive_errors_limit <= 0) {
-                                       Alert("parsing [%s:%d]: %s has to be > 0.\n",
+                                       ha_alert("parsing [%s:%d]: %s has to be > 0.\n",
                                                file, linenum, args[cur_arg]);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;
@@ -2385,7 +2385,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                cur_arg += 2;
                        }
                        else if (!strcmp(args[cur_arg], "usesrc")) {  /* address to use outside: needs "source" first */
-                               Alert("parsing [%s:%d] : '%s' only allowed after a '%s' statement.\n",
+                               ha_alert("parsing [%s:%d] : '%s' only allowed after a '%s' statement.\n",
                                      file, linenum, "usesrc", "source");
                                err_code |= ERR_ALERT | ERR_FATAL;
                                goto out;
@@ -2401,7 +2401,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                        int code;
 
                                        if (!kw->parse) {
-                                               Alert("parsing [%s:%d] : '%s %s' : '%s' option is not implemented in this version (check build options).\n",
+                                               ha_alert("parsing [%s:%d] : '%s %s' : '%s' option is not implemented in this version (check build options).\n",
                                                      file, linenum, args[0], args[1], args[cur_arg]);
                                                if (kw->skip != -1)
                                                        cur_arg += 1 + kw->skip ;
@@ -2410,7 +2410,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                        }
 
                                        if (defsrv && !kw->default_ok) {
-                                               Alert("parsing [%s:%d] : '%s %s' : '%s' option is not accepted in default-server sections.\n",
+                                               ha_alert("parsing [%s:%d] : '%s %s' : '%s' option is not accepted in default-server sections.\n",
                                                      file, linenum, args[0], args[1], args[cur_arg]);
                                                if (kw->skip != -1)
                                                        cur_arg += 1 + kw->skip ;
@@ -2443,7 +2443,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
                                        srv_dumped = 1;
                                }
 
-                               Alert("parsing [%s:%d] : '%s %s' unknown keyword '%s'.%s%s\n",
+                               ha_alert("parsing [%s:%d] : '%s %s' unknown keyword '%s'.%s%s\n",
                                      file, linenum, args[0], args[1], args[cur_arg],
                                      err ? " Registered keywords :" : "", err ? err : "");
                                free(err);
@@ -2923,8 +2923,8 @@ static void srv_update_state(struct server *srv, int version, char **params)
  out:
        if (msg->len) {
                chunk_appendf(msg, "\n");
-               Warning("server-state application failed for server '%s/%s'%s",
-                       srv->proxy->id, srv->id, msg->str);
+               ha_warning("server-state application failed for server '%s/%s'%s",
+                          srv->proxy->id, srv->id, msg->str);
        }
 }
 
@@ -3084,7 +3084,7 @@ void apply_server_state(void)
                errno = 0;
                f = fopen(filepath, "r");
                if (errno && fileopenerr)
-                       Warning("Can't open server state file '%s': %s\n", filepath, strerror(errno));
+                       ha_warning("Can't open server state file '%s': %s\n", filepath, strerror(errno));
                if (!f)
                        continue;
 
@@ -3094,7 +3094,7 @@ void apply_server_state(void)
 
                /* first character of first line of the file must contain the version of the export */
                if (fgets(mybuf, SRV_STATE_LINE_MAXLEN, f) == NULL) {
-                       Warning("Can't read first line of the server state file '%s'\n", filepath);
+                       ha_warning("Can't read first line of the server state file '%s'\n", filepath);
                        goto fileclose;
                }
 
@@ -3130,7 +3130,7 @@ void apply_server_state(void)
 
                        /* truncated lines */
                        if (mybuf[mybuflen - 1] != '\n') {
-                               Warning("server-state file '%s': truncated line\n", filepath);
+                               ha_warning("server-state file '%s': truncated line\n", filepath);
                                continue;
                        }
 
@@ -3200,11 +3200,11 @@ void apply_server_state(void)
                        if (!check_id && !check_name)
                                continue;
                        else if (!check_id && check_name) {
-                               Warning("backend ID mismatch: from server state file: '%s', from running config '%d'\n", params[0], bk->uuid);
+                               ha_warning("backend ID mismatch: from server state file: '%s', from running config '%d'\n", params[0], bk->uuid);
                                send_log(bk, LOG_NOTICE, "backend ID mismatch: from server state file: '%s', from running config '%d'\n", params[0], bk->uuid);
                        }
                        else if (check_id && !check_name) {
-                               Warning("backend name mismatch: from server state file: '%s', from running config '%s'\n", params[1], bk->id);
+                               ha_warning("backend name mismatch: from server state file: '%s', from running config '%s'\n", params[1], bk->id);
                                send_log(bk, LOG_NOTICE, "backend name mismatch: from server state file: '%s', from running config '%s'\n", params[1], bk->id);
                                /* if name doesn't match, we still want to update curproxy if the backend id
                                 * was forced in previous the previous configuration */
@@ -3219,19 +3219,19 @@ void apply_server_state(void)
 
                        if (!srv) {
                                /* if no server found, then warning and continue with next line */
-                               Warning("can't find server '%s' with id '%s' in backend with id '%s' or name '%s'\n",
-                                       params[3], params[2], params[0], params[1]);
+                               ha_warning("can't find server '%s' with id '%s' in backend with id '%s' or name '%s'\n",
+                                          params[3], params[2], params[0], params[1]);
                                send_log(bk, LOG_NOTICE, "can't find server '%s' with id '%s' in backend with id '%s' or name '%s'\n",
                                         params[3], params[2], params[0], params[1]);
                                continue;
                        }
                        else if (diff & PR_FBM_MISMATCH_ID) {
-                               Warning("In backend '%s' (id: '%d'): server ID mismatch: from server state file: '%s', from running config %d\n", bk->id, bk->uuid, params[2], srv->puid);
+                               ha_warning("In backend '%s' (id: '%d'): server ID mismatch: from server state file: '%s', from running config %d\n", bk->id, bk->uuid, params[2], srv->puid);
                                send_log(bk, LOG_NOTICE, "In backend '%s' (id: %d): server ID mismatch: from server state file: '%s', from running config %d\n", bk->id, bk->uuid, params[2], srv->puid);
                                continue;
                        }
                        else if (diff & PR_FBM_MISMATCH_NAME) {
-                               Warning("In backend '%s' (id: %d): server name mismatch: from server state file: '%s', from running config '%s'\n", bk->id, bk->uuid, params[3], srv->id);
+                               ha_warning("In backend '%s' (id: %d): server name mismatch: from server state file: '%s', from running config '%s'\n", bk->id, bk->uuid, params[3], srv->id);
                                send_log(bk, LOG_NOTICE, "In backend '%s' (id: %d): server name mismatch: from server state file: '%s', from running config '%s'\n", bk->id, bk->uuid, params[3], srv->id);
                                continue;
                        }
@@ -3289,7 +3289,7 @@ int update_server_addr(struct server *s, void *ip, int ip_sin_family, const char
                                s->proxy->id, s->id, oldip, newip, updater);
 
                /* write the buffer on stderr */
-               Warning("%s.\n", trash.str);
+               ha_warning("%s.\n", trash.str);
 
                /* send a log */
                send_log(s->proxy, LOG_NOTICE, "%s.\n", trash.str);
@@ -3519,7 +3519,7 @@ int snr_update_srv_status(struct server *s, int has_no_ip)
                        chunk_printf(&trash, "Server %s/%s administratively READY thanks to valid DNS answer",
                                     s->proxy->id, s->id);
 
-                       Warning("%s.\n", trash.str);
+                       ha_warning("%s.\n", trash.str);
                        send_log(s->proxy, LOG_NOTICE, "%s.\n", trash.str);
                        return 0;
 
@@ -3885,16 +3885,16 @@ static int srv_iterate_initaddr(struct server *srv)
                case SRV_IADDR_NONE:
                        srv_set_admin_flag(srv, SRV_ADMF_RMAINT, NULL);
                        if (return_code) {
-                               Warning("parsing [%s:%d] : 'server %s' : could not resolve address '%s', disabling server.\n",
-                                       srv->conf.file, srv->conf.line, srv->id, srv->hostname);
+                               ha_warning("parsing [%s:%d] : 'server %s' : could not resolve address '%s', disabling server.\n",
+                                          srv->conf.file, srv->conf.line, srv->id, srv->hostname);
                        }
                        return return_code;
 
                case SRV_IADDR_IP:
                        ipcpy(&srv->init_addr, &srv->addr);
                        if (return_code) {
-                               Warning("parsing [%s:%d] : 'server %s' : could not resolve address '%s', falling back to configured address.\n",
-                                       srv->conf.file, srv->conf.line, srv->id, srv->hostname);
+                               ha_warning("parsing [%s:%d] : 'server %s' : could not resolve address '%s', falling back to configured address.\n",
+                                          srv->conf.file, srv->conf.line, srv->id, srv->hostname);
                        }
                        goto out;
 
@@ -3904,11 +3904,11 @@ static int srv_iterate_initaddr(struct server *srv)
        }
 
        if (!return_code) {
-               Alert("parsing [%s:%d] : 'server %s' : no method found to resolve address '%s'\n",
+               ha_alert("parsing [%s:%d] : 'server %s' : no method found to resolve address '%s'\n",
                      srv->conf.file, srv->conf.line, srv->id, srv->hostname);
        }
        else {
-               Alert("parsing [%s:%d] : 'server %s' : could not resolve address '%s'.\n",
+               ha_alert("parsing [%s:%d] : 'server %s' : could not resolve address '%s'.\n",
                      srv->conf.file, srv->conf.line, srv->id, srv->hostname);
        }
 
@@ -4472,7 +4472,7 @@ void srv_update_status(struct server *s)
                                             s->proxy->id, s->id);
 
                                srv_append_status(tmptrash, s, NULL, xferred, 0);
-                               Warning("%s.\n", tmptrash->str);
+                               ha_warning("%s.\n", tmptrash->str);
 
                                /* we don't send an alert if the server was previously paused */
                                log_level = srv_was_stopping ? LOG_NOTICE : LOG_ALERT;
@@ -4505,7 +4505,7 @@ void srv_update_status(struct server *s)
 
                                srv_append_status(tmptrash, s, NULL, xferred, 0);
 
-                               Warning("%s.\n", tmptrash->str);
+                               ha_warning("%s.\n", tmptrash->str);
                                send_log(s->proxy, LOG_NOTICE, "%s.\n", tmptrash->str);
                                free_trash_chunk(tmptrash);
                                tmptrash = NULL;
@@ -4563,7 +4563,7 @@ void srv_update_status(struct server *s)
                                             s->proxy->id, s->id);
 
                                srv_append_status(tmptrash, s, NULL, xferred, 0);
-                               Warning("%s.\n", tmptrash->str);
+                               ha_warning("%s.\n", tmptrash->str);
                                send_log(s->proxy, LOG_NOTICE, "%s.\n", tmptrash->str);
                                send_email_alert(s, LOG_NOTICE, "%s", tmptrash->str);
                                free_trash_chunk(tmptrash);
@@ -4618,7 +4618,7 @@ void srv_update_status(struct server *s)
                                srv_append_status(tmptrash, s, NULL, -1, (s->next_admin & SRV_ADMF_FMAINT));
 
                                if (!(global.mode & MODE_STARTING)) {
-                                       Warning("%s.\n", tmptrash->str);
+                                       ha_warning("%s.\n", tmptrash->str);
                                        send_log(s->proxy, LOG_NOTICE, "%s.\n", tmptrash->str);
                                }
                                free_trash_chunk(tmptrash);
@@ -4652,7 +4652,7 @@ void srv_update_status(struct server *s)
                                srv_append_status(tmptrash, s, NULL, xferred, (s->next_admin & SRV_ADMF_FMAINT));
 
                                if (!(global.mode & MODE_STARTING)) {
-                                       Warning("%s.\n", tmptrash->str);
+                                       ha_warning("%s.\n", tmptrash->str);
                                        send_log(s->proxy, srv_was_stopping ? LOG_NOTICE : LOG_ALERT, "%s.\n", tmptrash->str);
                                }
                                free_trash_chunk(tmptrash);
@@ -4728,7 +4728,7 @@ void srv_update_status(struct server *s)
                                             (s->next_state == SRV_ST_STOPPED) ? "DOWN" : "UP",
                                             (s->next_admin & SRV_ADMF_DRAIN) ? "DRAIN" : "READY");
                        }
-                       Warning("%s.\n", tmptrash->str);
+                       ha_warning("%s.\n", tmptrash->str);
                        send_log(s->proxy, LOG_NOTICE, "%s.\n", tmptrash->str);
                        free_trash_chunk(tmptrash);
                        tmptrash = NULL;
@@ -4766,7 +4766,7 @@ void srv_update_status(struct server *s)
                                if (s->track) /* normally it's mandatory here */
                                        chunk_appendf(tmptrash, " via %s/%s",
                                              s->track->proxy->id, s->track->id);
-                               Warning("%s.\n", tmptrash->str);
+                               ha_warning("%s.\n", tmptrash->str);
                                send_log(s->proxy, LOG_NOTICE, "%s.\n", tmptrash->str);
                                free_trash_chunk(tmptrash);
                                tmptrash = NULL;
@@ -4783,7 +4783,7 @@ void srv_update_status(struct server *s)
                                if (s->track) /* normally it's mandatory here */
                                        chunk_appendf(tmptrash, " via %s/%s",
                                              s->track->proxy->id, s->track->id);
-                               Warning("%s.\n", tmptrash->str);
+                               ha_warning("%s.\n", tmptrash->str);
                                send_log(s->proxy, LOG_NOTICE, "%s.\n", tmptrash->str);
                                free_trash_chunk(tmptrash);
                                tmptrash = NULL;
@@ -4796,7 +4796,7 @@ void srv_update_status(struct server *s)
                                             "%sServer %s/%s remains in forced maintenance",
                                             s->flags & SRV_F_BACKUP ? "Backup " : "",
                                             s->proxy->id, s->id);
-                               Warning("%s.\n", tmptrash->str);
+                               ha_warning("%s.\n", tmptrash->str);
                                send_log(s->proxy, LOG_NOTICE, "%s.\n", tmptrash->str);
                                free_trash_chunk(tmptrash);
                                tmptrash = NULL;
@@ -4830,7 +4830,7 @@ void srv_update_status(struct server *s)
                                srv_append_status(tmptrash, s, NULL, xferred, (s->next_admin & SRV_ADMF_FDRAIN));
 
                                if (!(global.mode & MODE_STARTING)) {
-                                       Warning("%s.\n", tmptrash->str);
+                                       ha_warning("%s.\n", tmptrash->str);
                                        send_log(s->proxy, LOG_NOTICE, "%s.\n", tmptrash->str);
                                        send_email_alert(s, LOG_NOTICE, "%s", tmptrash->str);
                                }
@@ -4874,7 +4874,7 @@ void srv_update_status(struct server *s)
                                        s->track->proxy->id, s->track->id);
                                }
 
-                               Warning("%s.\n", tmptrash->str);
+                               ha_warning("%s.\n", tmptrash->str);
                                send_log(s->proxy, LOG_NOTICE, "%s.\n", tmptrash->str);
                                free_trash_chunk(tmptrash);
                                tmptrash = NULL;
@@ -4913,7 +4913,7 @@ void srv_update_status(struct server *s)
                                                     s->flags & SRV_F_BACKUP ? "Backup " : "",
                                                     s->proxy->id, s->id);
                                }
-                               Warning("%s.\n", tmptrash->str);
+                               ha_warning("%s.\n", tmptrash->str);
                                send_log(s->proxy, LOG_NOTICE, "%s.\n", tmptrash->str);
                                free_trash_chunk(tmptrash);
                                tmptrash = NULL;
index f7e4159236714e68a76597cafb7a76d335740471..54c8a7f7c514235dfeb79dc7896725f2146b38f5 100644 (file)
@@ -393,18 +393,18 @@ static int ssl_init_single_engine(const char *engine_id, const char *def_algorit
        /* grab the structural reference to the engine */
        engine = ENGINE_by_id(engine_id);
        if (engine  == NULL) {
-               Alert("ssl-engine %s: failed to get structural reference\n", engine_id);
+               ha_alert("ssl-engine %s: failed to get structural reference\n", engine_id);
                goto fail_get;
        }
 
        if (!ENGINE_init(engine)) {
                /* the engine couldn't initialise, release it */
-               Alert("ssl-engine %s: failed to initialize\n", engine_id);
+               ha_alert("ssl-engine %s: failed to initialize\n", engine_id);
                goto fail_init;
        }
 
        if (ENGINE_set_default_string(engine, def_algorithms) == 0) {
-               Alert("ssl-engine %s: failed on ENGINE_set_default_string\n", engine_id);
+               ha_alert("ssl-engine %s: failed on ENGINE_set_default_string\n", engine_id);
                goto fail_set_method;
        }
 
@@ -1169,7 +1169,7 @@ static int ssl_sock_load_ocsp(SSL_CTX *ctx, const char *cert_path)
        warn = NULL;
        if (ssl_sock_load_ocsp_response_from_file(ocsp_path, iocsp, cid, &warn)) {
                memprintf(&warn, "Loading '%s': %s. Content will be ignored", ocsp_path, warn ? warn : "failure");
-               Warning("%s.\n", warn);
+               ha_warning("%s.\n", warn);
        }
 
 out:
@@ -1210,7 +1210,7 @@ static int ssl_sock_set_ocsp_response_from_file(SSL_CTX *ctx, const char *cert_p
 
        fd = open(ocsp_path, O_RDONLY);
        if (fd == -1) {
-               Warning("Error opening OCSP response file %s.\n", ocsp_path);
+               ha_warning("Error opening OCSP response file %s.\n", ocsp_path);
                return -1;
        }
 
@@ -1220,7 +1220,7 @@ static int ssl_sock_set_ocsp_response_from_file(SSL_CTX *ctx, const char *cert_p
                if (r < 0) {
                        if (errno == EINTR)
                                continue;
-                       Warning("Error reading OCSP response from file %s.\n", ocsp_path);
+                       ha_warning("Error reading OCSP response from file %s.\n", ocsp_path);
                        close(fd);
                        return -1;
                }
@@ -3698,9 +3698,9 @@ ssl_sock_initial_ctx(struct bind_conf *bind_conf)
        bind_conf->initial_ctx = ctx;
 
        if (conf_ssl_methods->flags && (conf_ssl_methods->min || conf_ssl_methods->max))
-               Warning("Proxy '%s': no-sslv3/no-tlsv1x are ignored for bind '%s' at [%s:%d]. "
-                       "Use only 'ssl-min-ver' and 'ssl-max-ver' to fix.\n",
-                       bind_conf->frontend->id, bind_conf->arg, bind_conf->file, bind_conf->line);
+               ha_warning("Proxy '%s': no-sslv3/no-tlsv1x are ignored for bind '%s' at [%s:%d]. "
+                          "Use only 'ssl-min-ver' and 'ssl-max-ver' to fix.\n",
+                          bind_conf->frontend->id, bind_conf->arg, bind_conf->file, bind_conf->line);
        else
                flags = conf_ssl_methods->flags;
 
@@ -3722,10 +3722,10 @@ ssl_sock_initial_ctx(struct bind_conf *bind_conf)
                if (methodVersions[i].option && !(flags & methodVersions[i].flag)) {
                        if (min) {
                                if (hole) {
-                                       Warning("Proxy '%s': SSL/TLS versions range not contiguous for bind '%s' at [%s:%d]. "
-                                               "Hole find for %s. Use only 'ssl-min-ver' and 'ssl-max-ver' to fix.\n",
-                                               bind_conf->frontend->id, bind_conf->arg, bind_conf->file, bind_conf->line,
-                                               methodVersions[hole].name);
+                                       ha_warning("Proxy '%s': SSL/TLS versions range not contiguous for bind '%s' at [%s:%d]. "
+                                                  "Hole find for %s. Use only 'ssl-min-ver' and 'ssl-max-ver' to fix.\n",
+                                                  bind_conf->frontend->id, bind_conf->arg, bind_conf->file, bind_conf->line,
+                                                  methodVersions[hole].name);
                                        hole = 0;
                                }
                                max = i;
@@ -3739,8 +3739,8 @@ ssl_sock_initial_ctx(struct bind_conf *bind_conf)
                                hole = i;
                }
        if (!min) {
-               Alert("Proxy '%s': all SSL/TLS versions are disabled for bind '%s' at [%s:%d].\n",
-                       bind_conf->frontend->id, bind_conf->arg, bind_conf->file, bind_conf->line);
+               ha_alert("Proxy '%s': all SSL/TLS versions are disabled for bind '%s' at [%s:%d].\n",
+                        bind_conf->frontend->id, bind_conf->arg, bind_conf->file, bind_conf->line);
                cfgerr += 1;
        }
        /* save real min/max in bind_conf */
@@ -4068,8 +4068,8 @@ int ssl_sock_prepare_ctx(struct bind_conf *bind_conf, struct ssl_bind_conf *ssl_
                conf_ssl_methods->min = min;
                conf_ssl_methods->max = max;
                if (!min) {
-                       Alert("Proxy '%s': all SSL/TLS versions are disabled for bind '%s' at [%s:%d].\n",
-                             bind_conf->frontend->id, bind_conf->arg, bind_conf->file, bind_conf->line);
+                       ha_alert("Proxy '%s': all SSL/TLS versions are disabled for bind '%s' at [%s:%d].\n",
+                                bind_conf->frontend->id, bind_conf->arg, bind_conf->file, bind_conf->line);
                        cfgerr += 1;
                }
        }
@@ -4092,8 +4092,8 @@ int ssl_sock_prepare_ctx(struct bind_conf *bind_conf, struct ssl_bind_conf *ssl_
                if (ca_file) {
                        /* load CAfile to verify */
                        if (!SSL_CTX_load_verify_locations(ctx, ca_file, NULL)) {
-                               Alert("Proxy '%s': unable to load CA file '%s' for bind '%s' at [%s:%d].\n",
-                                     curproxy->id, ca_file, bind_conf->arg, bind_conf->file, bind_conf->line);
+                               ha_alert("Proxy '%s': unable to load CA file '%s' for bind '%s' at [%s:%d].\n",
+                                        curproxy->id, ca_file, bind_conf->arg, bind_conf->file, bind_conf->line);
                                cfgerr++;
                        }
                        if (!((ssl_conf && ssl_conf->no_ca_names) || bind_conf->ssl_conf.no_ca_names)) {
@@ -4102,8 +4102,8 @@ int ssl_sock_prepare_ctx(struct bind_conf *bind_conf, struct ssl_bind_conf *ssl_
                        }
                }
                else {
-                       Alert("Proxy '%s': verify is enabled but no CA file specified for bind '%s' at [%s:%d].\n",
-                             curproxy->id, bind_conf->arg, bind_conf->file, bind_conf->line);
+                       ha_alert("Proxy '%s': verify is enabled but no CA file specified for bind '%s' at [%s:%d].\n",
+                                curproxy->id, bind_conf->arg, bind_conf->file, bind_conf->line);
                        cfgerr++;
                }
 #ifdef X509_V_FLAG_CRL_CHECK
@@ -4111,8 +4111,8 @@ int ssl_sock_prepare_ctx(struct bind_conf *bind_conf, struct ssl_bind_conf *ssl_
                        X509_STORE *store = SSL_CTX_get_cert_store(ctx);
 
                        if (!store || !X509_STORE_load_locations(store, crl_file, NULL)) {
-                               Alert("Proxy '%s': unable to configure CRL file '%s' for bind '%s' at [%s:%d].\n",
-                                     curproxy->id, crl_file, bind_conf->arg, bind_conf->file, bind_conf->line);
+                               ha_alert("Proxy '%s': unable to configure CRL file '%s' for bind '%s' at [%s:%d].\n",
+                                        curproxy->id, crl_file, bind_conf->arg, bind_conf->file, bind_conf->line);
                                cfgerr++;
                        }
                        else {
@@ -4125,8 +4125,8 @@ int ssl_sock_prepare_ctx(struct bind_conf *bind_conf, struct ssl_bind_conf *ssl_
 #if (defined SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB && TLS_TICKETS_NO > 0)
        if(bind_conf->keys_ref) {
                if (!SSL_CTX_set_tlsext_ticket_key_cb(ctx, ssl_tlsext_ticket_key_cb)) {
-                       Alert("Proxy '%s': unable to set callback for TLS ticket validation for bind '%s' at [%s:%d].\n",
-                               curproxy->id, bind_conf->arg, bind_conf->file, bind_conf->line);
+                       ha_alert("Proxy '%s': unable to set callback for TLS ticket validation for bind '%s' at [%s:%d].\n",
+                                curproxy->id, bind_conf->arg, bind_conf->file, bind_conf->line);
                        cfgerr++;
                }
        }
@@ -4136,8 +4136,8 @@ int ssl_sock_prepare_ctx(struct bind_conf *bind_conf, struct ssl_bind_conf *ssl_
        conf_ciphers = (ssl_conf && ssl_conf->ciphers) ? ssl_conf->ciphers : bind_conf->ssl_conf.ciphers;
        if (conf_ciphers &&
            !SSL_CTX_set_cipher_list(ctx, conf_ciphers)) {
-               Alert("Proxy '%s': unable to set SSL cipher list to '%s' for bind '%s' at [%s:%d].\n",
-               curproxy->id, conf_ciphers, bind_conf->arg, bind_conf->file, bind_conf->line);
+               ha_alert("Proxy '%s': unable to set SSL cipher list to '%s' for bind '%s' at [%s:%d].\n",
+                        curproxy->id, conf_ciphers, bind_conf->arg, bind_conf->file, bind_conf->line);
                cfgerr++;
        }
 
@@ -4183,7 +4183,7 @@ int ssl_sock_prepare_ctx(struct bind_conf *bind_conf, struct ssl_bind_conf *ssl_
                }
 
                if (dhe_found) {
-                       Warning("Setting tune.ssl.default-dh-param to 1024 by default, if your workload permits it you should set it to at least 2048. Please set a value >= 1024 to make this warning disappear.\n");
+                       ha_warning("Setting tune.ssl.default-dh-param to 1024 by default, if your workload permits it you should set it to at least 2048. Please set a value >= 1024 to make this warning disappear.\n");
                }
 
                global_ssl.default_dh_param = 1024;
@@ -4233,8 +4233,8 @@ int ssl_sock_prepare_ctx(struct bind_conf *bind_conf, struct ssl_bind_conf *ssl_
        conf_curves = (ssl_conf && ssl_conf->curves) ? ssl_conf->curves : bind_conf->ssl_conf.curves;
        if (conf_curves) {
                if (!SSL_CTX_set1_curves_list(ctx, conf_curves)) {
-                       Alert("Proxy '%s': unable to set SSL curves list to '%s' for bind '%s' at [%s:%d].\n",
-                             curproxy->id, conf_curves, bind_conf->arg, bind_conf->file, bind_conf->line);
+                       ha_alert("Proxy '%s': unable to set SSL curves list to '%s' for bind '%s' at [%s:%d].\n",
+                                curproxy->id, conf_curves, bind_conf->arg, bind_conf->file, bind_conf->line);
                        cfgerr++;
                }
 #if defined(SSL_CTX_set_ecdh_auto)
@@ -4263,8 +4263,8 @@ int ssl_sock_prepare_ctx(struct bind_conf *bind_conf, struct ssl_bind_conf *ssl_
 
                i = OBJ_sn2nid(ecdhe);
                if (!i || ((ecdh = EC_KEY_new_by_curve_name(i)) == NULL)) {
-                       Alert("Proxy '%s': unable to set elliptic named curve to '%s' for bind '%s' at [%s:%d].\n",
-                             curproxy->id, ecdhe, bind_conf->arg, bind_conf->file, bind_conf->line);
+                       ha_alert("Proxy '%s': unable to set elliptic named curve to '%s' for bind '%s' at [%s:%d].\n",
+                                curproxy->id, ecdhe, bind_conf->arg, bind_conf->file, bind_conf->line);
                        cfgerr++;
                }
                else {
@@ -4440,7 +4440,7 @@ int ssl_sock_prepare_srv_ctx(struct server *srv)
 
        /* Make sure openssl opens /dev/urandom before the chroot */
        if (!ssl_initialize_random()) {
-               Alert("OpenSSL random data generator initialization failed.\n");
+               ha_alert("OpenSSL random data generator initialization failed.\n");
                cfgerr++;
        }
 
@@ -4450,9 +4450,9 @@ int ssl_sock_prepare_srv_ctx(struct server *srv)
        /* Initiate SSL context for current server */
        if (!srv->ssl_ctx.reused_sess) {
                if ((srv->ssl_ctx.reused_sess = calloc(1, global.nbthread*sizeof(*srv->ssl_ctx.reused_sess))) == NULL) {
-                       Alert("Proxy '%s', server '%s' [%s:%d] out of memory.\n",
-                             curproxy->id, srv->id,
-                             srv->conf.file, srv->conf.line);
+                       ha_alert("Proxy '%s', server '%s' [%s:%d] out of memory.\n",
+                                curproxy->id, srv->id,
+                                srv->conf.file, srv->conf.line);
                        cfgerr++;
                        return cfgerr;
                }
@@ -4464,17 +4464,17 @@ int ssl_sock_prepare_srv_ctx(struct server *srv)
 
        ctx = SSL_CTX_new(SSLv23_client_method());
        if (!ctx) {
-               Alert("config : %s '%s', server '%s': unable to allocate ssl context.\n",
-                     proxy_type_str(curproxy), curproxy->id,
-                     srv->id);
+               ha_alert("config : %s '%s', server '%s': unable to allocate ssl context.\n",
+                        proxy_type_str(curproxy), curproxy->id,
+                        srv->id);
                cfgerr++;
                return cfgerr;
        }
 
        if (conf_ssl_methods->flags && (conf_ssl_methods->min || conf_ssl_methods->max))
-               Warning("config : %s '%s': no-sslv3/no-tlsv1x are ignored for server '%s'. "
-                       "Use only 'ssl-min-ver' and 'ssl-max-ver' to fix.\n",
-                       proxy_type_str(curproxy), curproxy->id, srv->id);
+               ha_warning("config : %s '%s': no-sslv3/no-tlsv1x are ignored for server '%s'. "
+                          "Use only 'ssl-min-ver' and 'ssl-max-ver' to fix.\n",
+                          proxy_type_str(curproxy), curproxy->id, srv->id);
        else
                flags = conf_ssl_methods->flags;
 
@@ -4492,10 +4492,10 @@ int ssl_sock_prepare_srv_ctx(struct server *srv)
                if (methodVersions[i].option && !(flags & methodVersions[i].flag)) {
                        if (min) {
                                if (hole) {
-                                       Warning("config : %s '%s': SSL/TLS versions range not contiguous for server '%s'. "
-                                               "Hole find for %s. Use only 'ssl-min-ver' and 'ssl-max-ver' to fix.\n",
-                                               proxy_type_str(curproxy), curproxy->id, srv->id,
-                                               methodVersions[hole].name);
+                                       ha_warning("config : %s '%s': SSL/TLS versions range not contiguous for server '%s'. "
+                                                  "Hole find for %s. Use only 'ssl-min-ver' and 'ssl-max-ver' to fix.\n",
+                                                  proxy_type_str(curproxy), curproxy->id, srv->id,
+                                                  methodVersions[hole].name);
                                        hole = 0;
                                }
                                max = i;
@@ -4509,8 +4509,8 @@ int ssl_sock_prepare_srv_ctx(struct server *srv)
                                hole = i;
                }
        if (!min) {
-               Alert("config : %s '%s': all SSL/TLS versions are disabled for server '%s'.\n",
-                     proxy_type_str(curproxy), curproxy->id, srv->id);
+               ha_alert("config : %s '%s': all SSL/TLS versions are disabled for server '%s'.\n",
+                        proxy_type_str(curproxy), curproxy->id, srv->id);
                cfgerr += 1;
        }
 
@@ -4542,21 +4542,21 @@ int ssl_sock_prepare_srv_ctx(struct server *srv)
 
        if (srv->ssl_ctx.client_crt) {
                if (SSL_CTX_use_PrivateKey_file(srv->ssl_ctx.ctx, srv->ssl_ctx.client_crt, SSL_FILETYPE_PEM) <= 0) {
-                       Alert("config : %s '%s', server '%s': unable to load SSL private key from PEM file '%s'.\n",
-                             proxy_type_str(curproxy), curproxy->id,
-                             srv->id, srv->ssl_ctx.client_crt);
+                       ha_alert("config : %s '%s', server '%s': unable to load SSL private key from PEM file '%s'.\n",
+                                proxy_type_str(curproxy), curproxy->id,
+                                srv->id, srv->ssl_ctx.client_crt);
                        cfgerr++;
                }
                else if (SSL_CTX_use_certificate_chain_file(srv->ssl_ctx.ctx, srv->ssl_ctx.client_crt) <= 0) {
-                       Alert("config : %s '%s', server '%s': unable to load ssl certificate from PEM file '%s'.\n",
-                             proxy_type_str(curproxy), curproxy->id,
-                             srv->id, srv->ssl_ctx.client_crt);
+                       ha_alert("config : %s '%s', server '%s': unable to load ssl certificate from PEM file '%s'.\n",
+                                proxy_type_str(curproxy), curproxy->id,
+                                srv->id, srv->ssl_ctx.client_crt);
                        cfgerr++;
                }
                else if (SSL_CTX_check_private_key(srv->ssl_ctx.ctx) <= 0) {
-                       Alert("config : %s '%s', server '%s': inconsistencies between private key and certificate loaded from PEM file '%s'.\n",
-                             proxy_type_str(curproxy), curproxy->id,
-                             srv->id, srv->ssl_ctx.client_crt);
+                       ha_alert("config : %s '%s', server '%s': inconsistencies between private key and certificate loaded from PEM file '%s'.\n",
+                                proxy_type_str(curproxy), curproxy->id,
+                                srv->id, srv->ssl_ctx.client_crt);
                        cfgerr++;
                }
        }
@@ -4578,21 +4578,21 @@ int ssl_sock_prepare_srv_ctx(struct server *srv)
                if (srv->ssl_ctx.ca_file) {
                        /* load CAfile to verify */
                        if (!SSL_CTX_load_verify_locations(srv->ssl_ctx.ctx, srv->ssl_ctx.ca_file, NULL)) {
-                               Alert("Proxy '%s', server '%s' [%s:%d] unable to load CA file '%s'.\n",
-                                     curproxy->id, srv->id,
-                                     srv->conf.file, srv->conf.line, srv->ssl_ctx.ca_file);
+                               ha_alert("Proxy '%s', server '%s' [%s:%d] unable to load CA file '%s'.\n",
+                                        curproxy->id, srv->id,
+                                        srv->conf.file, srv->conf.line, srv->ssl_ctx.ca_file);
                                cfgerr++;
                        }
                }
                else {
                        if (global.ssl_server_verify == SSL_SERVER_VERIFY_REQUIRED)
-                               Alert("Proxy '%s', server '%s' [%s:%d] verify is enabled by default but no CA file specified. If you're running on a LAN where you're certain to trust the server's certificate, please set an explicit 'verify none' statement on the 'server' line, or use 'ssl-server-verify none' in the global section to disable server-side verifications by default.\n",
-                                     curproxy->id, srv->id,
-                                     srv->conf.file, srv->conf.line);
+                               ha_alert("Proxy '%s', server '%s' [%s:%d] verify is enabled by default but no CA file specified. If you're running on a LAN where you're certain to trust the server's certificate, please set an explicit 'verify none' statement on the 'server' line, or use 'ssl-server-verify none' in the global section to disable server-side verifications by default.\n",
+                                        curproxy->id, srv->id,
+                                        srv->conf.file, srv->conf.line);
                        else
-                               Alert("Proxy '%s', server '%s' [%s:%d] verify is enabled but no CA file specified.\n",
-                                     curproxy->id, srv->id,
-                                     srv->conf.file, srv->conf.line);
+                               ha_alert("Proxy '%s', server '%s' [%s:%d] verify is enabled but no CA file specified.\n",
+                                        curproxy->id, srv->id,
+                                        srv->conf.file, srv->conf.line);
                        cfgerr++;
                }
 #ifdef X509_V_FLAG_CRL_CHECK
@@ -4600,9 +4600,9 @@ int ssl_sock_prepare_srv_ctx(struct server *srv)
                        X509_STORE *store = SSL_CTX_get_cert_store(srv->ssl_ctx.ctx);
 
                        if (!store || !X509_STORE_load_locations(store, srv->ssl_ctx.crl_file, NULL)) {
-                               Alert("Proxy '%s', server '%s' [%s:%d] unable to configure CRL file '%s'.\n",
-                                     curproxy->id, srv->id,
-                                     srv->conf.file, srv->conf.line, srv->ssl_ctx.crl_file);
+                               ha_alert("Proxy '%s', server '%s' [%s:%d] unable to configure CRL file '%s'.\n",
+                                        curproxy->id, srv->id,
+                                        srv->conf.file, srv->conf.line, srv->ssl_ctx.crl_file);
                                cfgerr++;
                        }
                        else {
@@ -4617,9 +4617,9 @@ int ssl_sock_prepare_srv_ctx(struct server *srv)
        SSL_CTX_sess_set_new_cb(srv->ssl_ctx.ctx, ssl_sess_new_srv_cb);
        if (srv->ssl_ctx.ciphers &&
                !SSL_CTX_set_cipher_list(srv->ssl_ctx.ctx, srv->ssl_ctx.ciphers)) {
-               Alert("Proxy '%s', server '%s' [%s:%d] : unable to set SSL cipher list to '%s'.\n",
-                     curproxy->id, srv->id,
-                     srv->conf.file, srv->conf.line, srv->ssl_ctx.ciphers);
+               ha_alert("Proxy '%s', server '%s' [%s:%d] : unable to set SSL cipher list to '%s'.\n",
+                        curproxy->id, srv->id,
+                        srv->conf.file, srv->conf.line, srv->ssl_ctx.ciphers);
                cfgerr++;
        }
 
@@ -4641,7 +4641,7 @@ int ssl_sock_prepare_all_ctx(struct bind_conf *bind_conf)
 
        /* Make sure openssl opens /dev/urandom before the chroot */
        if (!ssl_initialize_random()) {
-               Alert("OpenSSL random data generator initialization failed.\n");
+               ha_alert("OpenSSL random data generator initialization failed.\n");
                err++;
        }
        /* Create initial_ctx used to start the ssl connection before do switchctx */
@@ -4689,19 +4689,19 @@ int ssl_sock_prepare_bind_conf(struct bind_conf *bind_conf)
 
        if (!bind_conf->is_ssl) {
                if (bind_conf->default_ctx) {
-                       Warning("Proxy '%s': A certificate was specified but SSL was not enabled on bind '%s' at [%s:%d] (use 'ssl').\n",
-                               px->id, bind_conf->arg, bind_conf->file, bind_conf->line);
+                       ha_warning("Proxy '%s': A certificate was specified but SSL was not enabled on bind '%s' at [%s:%d] (use 'ssl').\n",
+                                  px->id, bind_conf->arg, bind_conf->file, bind_conf->line);
                }
                return 0;
        }
        if (!bind_conf->default_ctx) {
                if (bind_conf->strict_sni && !bind_conf->generate_certs) {
-                       Warning("Proxy '%s': no SSL certificate specified for bind '%s' at [%s:%d], ssl connections will fail (use 'crt').\n",
-                               px->id, bind_conf->arg, bind_conf->file, bind_conf->line);
+                       ha_warning("Proxy '%s': no SSL certificate specified for bind '%s' at [%s:%d], ssl connections will fail (use 'crt').\n",
+                                  px->id, bind_conf->arg, bind_conf->file, bind_conf->line);
                }
                else {
-                       Alert("Proxy '%s': no SSL certificate specified for bind '%s' at [%s:%d] (use 'crt').\n",
-                             px->id, bind_conf->arg, bind_conf->file, bind_conf->line);
+                       ha_alert("Proxy '%s': no SSL certificate specified for bind '%s' at [%s:%d] (use 'crt').\n",
+                                px->id, bind_conf->arg, bind_conf->file, bind_conf->line);
                        return -1;
                }
        }
@@ -4712,9 +4712,9 @@ int ssl_sock_prepare_bind_conf(struct bind_conf *bind_conf)
                               ((global.nbthread > 1) || (!global_ssl.private_cache && (global.nbproc > 1))) ? 1 : 0);
        if (alloc_ctx < 0) {
                if (alloc_ctx == SHCTX_E_INIT_LOCK)
-                       Alert("Unable to initialize the lock for the shared SSL session cache. You can retry using the global statement 'tune.ssl.force-private-cache' but it could increase CPU usage due to renegotiations if nbproc > 1.\n");
+                       ha_alert("Unable to initialize the lock for the shared SSL session cache. You can retry using the global statement 'tune.ssl.force-private-cache' but it could increase CPU usage due to renegotiations if nbproc > 1.\n");
                else
-                       Alert("Unable to allocate SSL session cache.\n");
+                       ha_alert("Unable to allocate SSL session cache.\n");
                return -1;
        }
        /* free block callback */
@@ -4825,27 +4825,27 @@ ssl_sock_load_ca(struct bind_conf *bind_conf)
 #endif
 
        if (!bind_conf->ca_sign_file) {
-               Alert("Proxy '%s': cannot enable certificate generation, "
-                     "no CA certificate File configured at [%s:%d].\n",
-                     px->id, bind_conf->file, bind_conf->line);
+               ha_alert("Proxy '%s': cannot enable certificate generation, "
+                        "no CA certificate File configured at [%s:%d].\n",
+                        px->id, bind_conf->file, bind_conf->line);
                goto load_error;
        }
 
        /* read in the CA certificate */
        if (!(fp = fopen(bind_conf->ca_sign_file, "r"))) {
-               Alert("Proxy '%s': Failed to read CA certificate file '%s' at [%s:%d].\n",
-                     px->id, bind_conf->ca_sign_file, bind_conf->file, bind_conf->line);
+               ha_alert("Proxy '%s': Failed to read CA certificate file '%s' at [%s:%d].\n",
+                        px->id, bind_conf->ca_sign_file, bind_conf->file, bind_conf->line);
                goto load_error;
        }
        if (!(cacert = PEM_read_X509(fp, NULL, NULL, NULL))) {
-               Alert("Proxy '%s': Failed to read CA certificate file '%s' at [%s:%d].\n",
-                     px->id, bind_conf->ca_sign_file, bind_conf->file, bind_conf->line);
+               ha_alert("Proxy '%s': Failed to read CA certificate file '%s' at [%s:%d].\n",
+                        px->id, bind_conf->ca_sign_file, bind_conf->file, bind_conf->line);
                goto read_error;
        }
        rewind(fp);
        if (!(capkey = PEM_read_PrivateKey(fp, NULL, NULL, bind_conf->ca_sign_pass))) {
-               Alert("Proxy '%s': Failed to read CA private key file '%s' at [%s:%d].\n",
-                     px->id, bind_conf->ca_sign_file, bind_conf->file, bind_conf->line);
+               ha_alert("Proxy '%s': Failed to read CA private key file '%s' at [%s:%d].\n",
+                        px->id, bind_conf->ca_sign_file, bind_conf->file, bind_conf->line);
                goto read_error;
        }
 
@@ -7312,7 +7312,7 @@ static int parse_tls_method_minmax(char **args, int cur_arg, struct tls_version_
 static int ssl_bind_parse_tls_method_minmax(char **args, int cur_arg, struct proxy *px, struct ssl_bind_conf *conf, char **err)
 {
 #if (OPENSSL_VERSION_NUMBER < 0x10101000L) || !defined(OPENSSL_IS_BORINGSSL)
-       Warning("crt-list: ssl-min-ver and ssl-max-ver are not supported with this Openssl version (skipped).\n");
+       ha_warning("crt-list: ssl-min-ver and ssl-max-ver are not supported with this Openssl version (skipped).\n");
 #endif
        return parse_tls_method_minmax(args, cur_arg, &conf->ssl_methods, err);
 }
@@ -7990,7 +7990,7 @@ static int ssl_check_async_engine_count(void) {
        int err_code = 0;
 
        if (global_ssl.async && (openssl_engines_initialized > 32)) {
-               Alert("ssl-mode-async only supports a maximum of 32 engines.\n");
+               ha_alert("ssl-mode-async only supports a maximum of 32 engines.\n");
                err_code = ERR_ABORT;
        }
        return err_code;
index cfe1f4c10d9c5fe8b16c36750c34f47b717021be..dcfa5e0a711e8fd23473675a9465b5881ea40358 100644 (file)
@@ -237,8 +237,8 @@ struct uri_auth *stats_add_auth(struct uri_auth **root, char *user)
 
        for (newuser = u->userlist->users; newuser; newuser = newuser->next)
                if (!strcmp(newuser->user, user)) {
-                       Warning("uri auth: ignoring duplicated user '%s'.\n",
-                               user);
+                       ha_warning("uri auth: ignoring duplicated user '%s'.\n",
+                                  user);
                        return u;
                }
 
index 2192fa5ebd296966fad76f8afbbeaa65087b1c5f..d7e7157360ad6f5400c52f6811d44d2859c8cd97 100644 (file)
@@ -662,7 +662,7 @@ static enum act_return action_store(struct act_rule *rule, struct proxy *px,
        default:
                send_log(px, LOG_ERR, "Vars: internal error while execute action store.");
                if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE))
-                       Alert("Vars: internal error while execute action store.\n");
+                       ha_alert("Vars: internal error while execute action store.\n");
                return ACT_RET_CONT;
        }
 
index 0349a50f9967101efeab18bd9ce8e3a0f538f798..591fbdba3c279bfca14e9ec6b315c1f3c14528f2 100644 (file)
@@ -299,7 +299,7 @@ static int ha_wurfl_init(void)
        global_wurfl.handle = wurfl_create();
 
        if (global_wurfl.handle == NULL) {
-               Warning("WURFL: Engine handler creation failed");
+               ha_warning("WURFL: Engine handler creation failed");
                send_log(NULL, LOG_WARNING, "WURFL: Engine handler creation failed\n");
                return ERR_WARN;
        }
@@ -308,18 +308,18 @@ static int ha_wurfl_init(void)
 
        // set wurfl data file
        if (global_wurfl.data_file == NULL) {
-               Warning("WURFL: missing wurfl-data-file parameter in global configuration\n");
+               ha_warning("WURFL: missing wurfl-data-file parameter in global configuration\n");
                send_log(NULL, LOG_WARNING, "WURFL: missing wurfl-data-file parameter in global configuration\n");
                return ERR_WARN;
        }
 
        if (global.nbthread > 1) {
-               Alert("WURFL: multithreading is not supported for now.\n");
+               ha_alert("WURFL: multithreading is not supported for now.\n");
                return (ERR_FATAL | ERR_ALERT);
        }
 
        if (wurfl_set_root(global_wurfl.handle, global_wurfl.data_file) != WURFL_OK) {
-               Warning("WURFL: Engine setting root file failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+               ha_warning("WURFL: Engine setting root file failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                send_log(NULL, LOG_WARNING, "WURFL: Engine setting root file failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                return ERR_WARN;
        }
@@ -330,7 +330,7 @@ static int ha_wurfl_init(void)
 
        // load wurfl data needed ( and filter whose are supposed to be capabilities )
        if (LIST_ISEMPTY(&global_wurfl.information_list)) {
-               Warning("WURFL: missing wurfl-information-list parameter in global configuration\n");
+               ha_warning("WURFL: missing wurfl-information-list parameter in global configuration\n");
                send_log(NULL, LOG_WARNING, "WURFL: missing wurfl-information-list parameter in global configuration\n");
                return ERR_WARN;
        } else {
@@ -352,7 +352,7 @@ static int ha_wurfl_init(void)
                                        wi->data.type = HA_WURFL_DATA_TYPE_CAP;
 
                                        if (wurfl_add_requested_capability(global_wurfl.handle, wi->data.name) != WURFL_OK) {
-                                               Warning("WURFL: capability filtering failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+                                               ha_warning("WURFL: capability filtering failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                                                send_log(NULL, LOG_WARNING, "WURFL: capability filtering failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                                                return ERR_WARN;
                                        }
@@ -366,7 +366,7 @@ static int ha_wurfl_init(void)
                                wn = malloc(sizeof(wurfl_data_t) + len + 1);
 
                                if (wn == NULL) {
-                                       Warning("WURFL: Error allocating memory for information tree element.\n");
+                                       ha_warning("WURFL: Error allocating memory for information tree element.\n");
                                        send_log(NULL, LOG_WARNING, "WURFL: Error allocating memory for information tree element.\n");
                                        return ERR_WARN;
                                }
@@ -378,7 +378,7 @@ static int ha_wurfl_init(void)
                                wn->nd.key[len] = 0;
 
                                if (!ebst_insert(&global_wurfl.btree, &wn->nd)) {
-                                       Warning("WURFL: [%s] not inserted in btree\n",wn->name);
+                                       ha_warning("WURFL: [%s] not inserted in btree\n",wn->name);
                                        send_log(NULL, LOG_WARNING, "WURFL: [%s] not inserted in btree\n",wn->name);
                                        return ERR_WARN;
                                }
@@ -402,7 +402,7 @@ static int ha_wurfl_init(void)
 
                        if (ebst_lookup(&global_wurfl.btree, name) == NULL) {
                                if (wurfl_add_requested_capability(global_wurfl.handle, name) != WURFL_OK) {
-                                       Warning("WURFL: Engine adding mandatory capability [%s] failed - %s\n", name, wurfl_get_error_message(global_wurfl.handle));
+                                       ha_warning("WURFL: Engine adding mandatory capability [%s] failed - %s\n", name, wurfl_get_error_message(global_wurfl.handle));
                                        send_log(NULL, LOG_WARNING, "WURFL: Adding mandatory capability [%s] failed - %s\n", name, wurfl_get_error_message(global_wurfl.handle));
                                        return ERR_WARN;
                                }
@@ -423,7 +423,7 @@ static int ha_wurfl_init(void)
 
                list_for_each_entry(wp, &global_wurfl.patch_file_list, list) {
                        if (wurfl_add_patch(global_wurfl.handle, wp->patch_file_path) != WURFL_OK) {
-                               Warning("WURFL: Engine adding patch file failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+                               ha_warning("WURFL: Engine adding patch file failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                                send_log(NULL, LOG_WARNING, "WURFL: Adding engine patch file failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                                return ERR_WARN;
                        }
@@ -447,7 +447,7 @@ static int ha_wurfl_init(void)
                }
 
                if (wurfl_result_code != WURFL_OK) {
-                       Warning("WURFL: Setting cache to [%s] failed - %s\n", global_wurfl.cache_size, wurfl_get_error_message(global_wurfl.handle));
+                       ha_warning("WURFL: Setting cache to [%s] failed - %s\n", global_wurfl.cache_size, wurfl_get_error_message(global_wurfl.handle));
                        send_log(NULL, LOG_WARNING, "WURFL: Setting cache to [%s] failed - %s\n", global_wurfl.cache_size, wurfl_get_error_message(global_wurfl.handle));
                        return ERR_WARN;
                }
@@ -458,7 +458,7 @@ static int ha_wurfl_init(void)
        // setting engine mode if specified in cfg, otherwise let engine choose
        if (global_wurfl.engine_mode != -1) {
                if (wurfl_set_engine_target(global_wurfl.handle, global_wurfl.engine_mode) != WURFL_OK ) {
-                       Warning("WURFL: Setting engine target failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+                       ha_warning("WURFL: Setting engine target failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                        send_log(NULL, LOG_WARNING, "WURFL: Setting engine target failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                        return ERR_WARN;
                }
@@ -470,7 +470,7 @@ static int ha_wurfl_init(void)
        // setting ua priority if specified in cfg, otherwise let engine choose
        if (global_wurfl.useragent_priority != -1) {
                if (wurfl_set_useragent_priority(global_wurfl.handle, global_wurfl.useragent_priority) != WURFL_OK ) {
-                       Warning("WURFL: Setting engine useragent priority failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+                       ha_warning("WURFL: Setting engine useragent priority failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                        send_log(NULL, LOG_WARNING, "WURFL: Setting engine useragent priority failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                        return ERR_WARN;
                }
@@ -481,7 +481,7 @@ static int ha_wurfl_init(void)
 
        // loading WURFL engine
        if (wurfl_load(global_wurfl.handle) != WURFL_OK) {
-               Warning("WURFL: Engine load failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
+               ha_warning("WURFL: Engine load failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                send_log(NULL, LOG_WARNING, "WURFL: Engine load failed - %s\n", wurfl_get_error_message(global_wurfl.handle));
                return ERR_WARN;
        }