From e310f7cf0015c64b1a100472e04bb83d64bf6a4f Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Fri, 18 Oct 2002 11:39:25 +0000 Subject: ODMR verbosity fix. svn path=/trunk/; revision=3741 --- odmr.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'odmr.c') diff --git a/odmr.c b/odmr.c index 76891681..6b89ef9c 100644 --- a/odmr.c +++ b/odmr.c @@ -48,6 +48,7 @@ static int odmr_getrange(int sock, struct query *ctl, const char *id, /* send ODMR and then run a reverse SMTP session */ { int ok, opts, smtp_sock; + int doing_smtp_data = 0; /* Are we in SMTP DATA state? */ char buf [MSGBUFSIZE+1]; struct idlist *qnp; /* pointer to Q names */ @@ -165,7 +166,7 @@ static int odmr_getrange(int sock, struct query *ctl, const char *id, break; SockWrite(smtp_sock, buf, n); - if (outlevel >= O_MONITOR) + if (outlevel >= O_MONITOR && !doing_smtp_data) report(stdout, "ODMR< %s", buf); } if (FD_ISSET(smtp_sock, &readfds)) @@ -177,6 +178,16 @@ static int odmr_getrange(int sock, struct query *ctl, const char *id, SockWrite(sock, buf, n); if (outlevel >= O_MONITOR) report(stdout, "ODMR> %s", buf); + + /* We are about to receive message data if the local MTA + * sends 354 (after receiving DATA) */ + if (!doing_smtp_data && !strncmp(buf, "354", 3)) + { + doing_smtp_data = 1; + report(stdout, "receiving message data\n"); + } + else if (doing_smtp_data) + doing_smtp_data = 0; } } SockClose(smtp_sock); -- cgit v1.2.3