Subject: feature request: have smtp conversation

From: Jeremy Kister <[email-masked]>
Date: Thu, 31 Mar 2005 02:35:02 -0500

A SMTP service I've been monitoring has not been behaving correctly, and
we could adjust to detect this scenario.

All that was happening was at [seemingly] random times, the smtp server
would give back a 443 error (stating 'out of memory') after RCPT TO.

I'd want argus to send/expect multiple values for the one service - i.e.:

S: 220 servername.serverdomain ESMTP
   ^^^ - expect this 220
C: helo <specified helo name in config file>
S: 250 ok
   ^^^ - expect this 250
C: mail from:<>
S: 250 ok
   ^^^ - expect this 250
C: rcpt to:<specified rcpt to in config file>
S: 250 ok
   ^^^ - expect this 250
C: quit
S: 221 servername.serverdomain
   ^^^ - expect this 221

if any of the expects fail/timeout, there's no need to continue: be nice
and send a quit, close socket, and declare the poll a failure.

there's no need to code this for smtp specifically: a more generic
syntax would allow similar behavior to monitor POP3, for example.

-- 

Jeremy Kister
http://jeremy.kister.net/

---

From: "Jason 'XenoPhage' Frisvold" <[email-masked]>
Date: Thu, 31 Mar 2005 09:12:48 -0500

>syntax would allow similar behavior to monitor POP3, for example.

I'd like to second this..  I can find hundreds of uses for a scriptable
test...  :)

-- 
---------------------------
Jason 'XenoPhage' Frisvold
Engine / Technology Programmer
[email-masked]
RedHat Certified - RHCE # 803004140609871
MySQL Pro Certified - ID# 207171862
MySQL Core Certified - ID# 205982910
---------------------------
"Something mysterious is formed, born in the silent void. Waiting alone and unmoving, it is at once still and yet in constant motion. It is the source of all programs. I do not know its name, so I will call it the Tao of Programming."

---

From: Jeremy Kister <[email-masked]>
Date: Tue, 31 May 2005 14:28:48 -0400

On 3/31/2005 2:35 AM, I wrote:
>> I'd want argus to send/expect multiple values for the one service -
[...]
>> syntax would allow similar behavior to monitor POP3, for example.

I have a rather ugly implementation at
http://jeremy.kister.net/code/argus/converse.pl

note: the command is one line.

 Service Prog {
  label: SMTP Conversation
  command: converse.pl -a hostname -p 25 -c '^220\s##HELO
foo##^250\s##MAIL FROM:<>##^250\s##RCPT
TO:<[email-masked]>##250\s##quit##^221\s'
  nexpect: ERROR
 }

-- 

Jeremy Kister