dma: treat a QUIT error as merely a warning
authorSimon Schubert <corecode@dragonflybsd.org>
Thu, 9 Jul 2009 12:37:15 +0000 (14:37 +0200)
committerSimon Schubert <corecode@dragonflybsd.org>
Thu, 16 Jul 2009 14:13:03 +0000 (16:13 +0200)
RFC 2821 only mandates that a QUIT error should abort an unfinished
transaction, and since we've reached this point, the DATA command has
succeeded and the message has been accepted for delivery by the remote
end.  Thus, just warn about it.

Submitted-by: Peter Pentchev <roam@ringlet.net>
libexec/dma/net.c

index e688b10..049baee 100644 (file)
@@ -462,11 +462,9 @@ deliver_remote(struct qitem *it, const char **errmsg)
        }
 
        send_remote_command(fd, "QUIT");
-       if (read_remote(fd, 0, NULL) != 2) {
-               syslog(LOG_ERR, "%s: remote delivery deferred: "
+       if (read_remote(fd, 0, NULL) != 2)
+               syslog(LOG_WARNING, "%s: remote delivery succeeded but "
                       "QUIT failed: %s", it->queueid, neterr);
-               return (1);
-       }
 out:
 
        close(fd);