Re: Regression in notification mails? (keepalived 1.3.4)
Quentin Armitage <[email protected]> Tue, 14 Mar 2017 14:33:00 +0000
| Newsgroups | gmane.linux.keepalived.devel |
|---|---|
| Organization | The Armitage family |
| Message-ID | <[email protected]> |
On Tue, 2017-03-14 at 14:32 +0100, Timo wrote:
> Hi,
>
> accidentally I enabled notification via mail on a new setup (I usually
> monitor keepalived differently).
>
> I got a mail like this:
>
> => CHECK failed on service : Read timeout from server %s <=
>
> (This is being emitted by a TCP_CHECK.)
>
> I use keepalived 1.3.4 built from source on CentOS 7.3.1611 – I'm pretty
> sure that this worked as intended some releases ago.
This looks to me as though it is the first call of smtp_final() in
smtp_get_line_cb() in check_smtp.c. Then in smtp_final(), the first call
of snprintf is
snprintf(smtp_buf, 542, "=>CHECK failed on service : %s <=", error_buff
+ 11);
which amounts to:
snprintf(smtp_buf, 542, "=>CHECK failed on service : %s <=", "Read
timeout from server %s");
and hence the email contents you are getting.
I assume that the syslog entry is correctly formatted, since about 27
lines above the snprintf() a varg_list is passed to the vlog_message().
I think what is needed is, instead of:
snprintf(smtp_buff, 542, "=> CHECK
failed on service : %s <=",
error_buff + 11);
is something like:
snprintf(smtp_buff, 542, "=> CHECK
failed on service : %s <=",
error_buff + 11);
strcpy(error_buff, smtp_buff);
va_start(varg_list, format);
vsnprintf(smtp_buf, 542, error_buff,
varg_list);
va_end(varg_list);
since there needs to be the double expansion for printf format
specifiers.
If my interpretation is correct, this looks like it is reporting a read
timeout from the SMTP server. Can you check if there are any
corresponding syslog entries that might help determine what it is.
It looks as though the existing code has been around since at least
2011.
Quentin
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel