]> git.ipfire.org Git - people/ms/dma.git/blobdiff - net.c
Merge pull request #34 from mtremer/better-authentication
[people/ms/dma.git] / net.c
diff --git a/net.c b/net.c
index 33ff8f52ed89370925aecb4a7492639165620de2..a1cc3e3bfd7970dfa37d68fbfbefcc3da831fda2 100644 (file)
--- a/net.c
+++ b/net.c
@@ -483,11 +483,13 @@ deliver_to_host(struct qitem *it, struct mx_hostentry *host)
                       host->host, host->addr, c, neterr); \
                snprintf(errmsg, sizeof(errmsg), "%s [%s] did not like our %s:\n%s", \
                         host->host, host->addr, c, neterr); \
-               return (-1); \
+               error = -1; \
+               goto out; \
        } else if (res != exp) { \
                syslog(LOG_NOTICE, "remote delivery deferred: %s [%s] failed after %s: %s", \
                       host->host, host->addr, c, neterr); \
-               return (1); \
+               error = 1; \
+               goto out; \
        }
 
        /* Check first reply from remote host */
@@ -539,7 +541,8 @@ deliver_to_host(struct qitem *it, struct mx_hostentry *host)
                        syslog(LOG_ERR, "remote delivery failed:"
                                        " SMTP login failed: %m");
                        snprintf(errmsg, sizeof(errmsg), "SMTP login to %s failed", host->host);
-                       return (-1);
+                       error = -1;
+                       goto out;
                }
                /* SMTP login is not available, so try without */
                else if (error > 0) {