From: Christopher Faulet Date: Wed, 8 Jun 2022 07:12:58 +0000 (+0200) Subject: BUG/MINOR: checks: Properly handle email alerts in trace messages X-Git-Tag: v2.7-dev1~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4f1825c5dba44f1c0df5aa22dd96b937a70b4d29;p=thirdparty%2Fhaproxy.git BUG/MINOR: checks: Properly handle email alerts in trace messages There is no server for email alerts. So the trace messages must be adapted to handle this case. Information related to the server are now skipped for email alerts and "[EMAIL]" prefix is used. This patch must be backported as far as 2.4. --- diff --git a/src/check.c b/src/check.c index f33e572fa4..f717d09f3d 100644 --- a/src/check.c +++ b/src/check.c @@ -189,14 +189,18 @@ static void check_trace(enum trace_level level, uint64_t mask, if (!check || src->verbosity < CHK_VERB_CLEAN) return; - chunk_appendf(&trace_buf, " : [%c] SRV=%s", - ((check->type == PR_O2_EXT_CHK) ? 'E' : (check->state & CHK_ST_AGENT ? 'A' : 'H')), - srv->id); - - chunk_appendf(&trace_buf, " status=%d/%d %s", - (check->health >= check->rise) ? check->health - check->rise + 1 : check->health, - (check->health >= check->rise) ? check->fall : check->rise, - (check->health >= check->rise) ? (srv->uweight ? "UP" : "DRAIN") : "DOWN"); + if (srv) { + chunk_appendf(&trace_buf, " : [%c] SRV=%s", + ((check->type == PR_O2_EXT_CHK) ? 'E' : (check->state & CHK_ST_AGENT ? 'A' : 'H')), + srv->id); + + chunk_appendf(&trace_buf, " status=%d/%d %s", + (check->health >= check->rise) ? check->health - check->rise + 1 : check->health, + (check->health >= check->rise) ? check->fall : check->rise, + (check->health >= check->rise) ? (srv->uweight ? "UP" : "DRAIN") : "DOWN"); + } + else + chunk_appendf(&trace_buf, " : [EMAIL]"); switch (check->result) { case CHK_RES_NEUTRAL: res = "-"; break;