[Xymon] xymonnet additional capability -- pause

Ralph M ralphmitchell at gmail.com
Sun May 30 02:19:33 CEST 2021


As far as the sleep() thing goes, you may be running into this, from the
'man 3 sleep' man page:

   BUGS
          sleep()  may be implemented using SIGALRM; mixing calls to
alarm(2) and
          sleep() is a bad idea.

I don't know how you'd fix it.  Hopefully this gives you a starting point.

Ralph Mitchell



On Sat, May 29, 2021 at 4:11 PM Shawn Heisey <hobbit at elyograg.org> wrote:

> Over ten years ago, I asked on this list how I could get rid of the
> "incorrect pipelining message" logged by postfix every time the smtp,
> smtps, or submission tests are done.
>
> https://lists.xymon.com/oldarchive/2010/11/msg00207.html
>
> The fix that I claim worked (multiple send commands) was for a job I had
> at the time.  Now I am have a personal mail server (that also runs
> xymon) and that fix I mentioned so long ago is not working.
>
> I tweaked the code to allow a "pause" action in protocols.cfg and after
> modifying protocols.cfg to utilize it, I have eliminated the "incorrect
> command pipelining" message in mail.log.  Here's the patch:
>
> --- xymon-4.3.28/lib/netservices.c      2017-01-05 19:00:06.000000000 -0700
> +++ pause-xymon-4.3.28/lib/netservices.c        2021-05-29
> 12:51:09.717461323 -0600
> @@ -259,6 +259,10 @@
>                                  }
>                          }
>                  }
> +               else if (strncmp(l, "pause ", 6) == 0) {
> +                       int pausetime = atoi(skipwhitespace(l+5));
> +                       sleep(pausetime);
> +               }
>          }
>
>          if (fd) stackfclose(fd);
>
> Here's the new definitions I created in protocols.cfg:
>
> [smtp]
>     pause 2
>     send "ehlo xymonnet.localdomain\r\n"
>     pause 2
>     send "mail\r\n"
>     pause 2
>     send "quit\r\n"
>     expect "220"
>     options banner
>     port 25
>
> [smtps]
>     pause 2
>     send "ehlo xymonnet.localdomain\r\n"
>     pause 2
>     send "mail\r\n"
>     pause 2
>     send "quit\r\n"
>     expect "220"
>     options ssl,banner
> #  No default port-number assignment for smtps - nonstandard according
> to IANA
>
> [submission|msa]
>     pause 2
>     send "ehlo xymonnet.localdomain\r\n"
>     pause 2
>     send "mail\r\n"
>     pause 2
>     send "quit\r\n"
>     expect "220"
>     options banner
>     port 587
>
>
> And this is now what I see in mail.log (testing smtps and submission:
>
> May 29 13:51:15 bilbo postfix/submission/smtpd[16324]: connect from
> bilbo.elyograg.org[172.31.8.104]
> May 29 13:51:15 bilbo postfix/submission/smtpd[16324]: disconnect from
> bilbo.elyograg.org[172.31.8.104] quit=1 commands=1
> May 29 13:51:15 bilbo postfix/smtps/smtpd[16325]: connect from
> bilbo.elyograg.org[172.31.8.104]
> May 29 13:51:15 bilbo postfix/smtps/smtpd[16325]: disconnect from
> bilbo.elyograg.org[172.31.8.104] quit=1 commands=1
>
> Interesting thing here is that it's not actually pausing.  Which
> probably means that I implemented it incorrectly.  My training on C is
> ancient and I'm very rusty.  But even though it doesn't pause, the error
> is gone, simply because each smtp command is now sent in a separate
> packet, which appears to *sometimes* be enough "delay" for postfix to
> not complain about pipelining.  What happens now is occasionally I will
> get a yellow status on smtps with the xymon UI saying "Service smtps on
> bilbo.elyograg.org is not OK : Unexpected service response".
>
> So I think what I will do before submitting a patch is implement a
> "null" action (which will do nothing) as well as a "pause" action, and
> get some help from the real C developers here for making "pause" behave
> as advertised.  Can somebody point me to some instructions on properly
> creating and submitting a patch?  Also, if I could get some info on any
> other files I need to modify (man pages, readme files, etc), I would
> really appreciate it.
>
> Thanks,
> Shawn
> _______________________________________________
> Xymon mailing list
> Xymon at xymon.com
> http://lists.xymon.com/mailman/listinfo/xymon
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20210529/b4cdb386/attachment.htm>


More information about the Xymon mailing list