summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2016-08-20 16:28:17 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2016-08-20 16:28:17 +0000
commiteb8bc5621c0e1eaeb75884f5d7f36edd90d4cd9b (patch)
tree90a9b3a163307a499ad5d62f4e8d5c515325c2af
parent21301f73549aa63885352c5d33eadf82484c4bf7 (diff)
downloadsrc-test2-eb8bc5621c0e1eaeb75884f5d7f36edd90d4cd9b.tar.gz
src-test2-eb8bc5621c0e1eaeb75884f5d7f36edd90d4cd9b.zip
Import Dragonfly Mail agent snapshot from 2016-08-16vendor/dma/20160806
Notes
Notes: svn path=/vendor/dma/dist/; revision=304533 svn path=/vendor/dma/20160806/; revision=304534; tag=vendor/dma/20160806
-rw-r--r--VERSION2
-rw-r--r--dma-mbox-create.c2
-rw-r--r--dma.c4
-rw-r--r--dma.h2
-rw-r--r--dns.c1
-rw-r--r--local.c2
-rw-r--r--net.c9
7 files changed, 13 insertions, 9 deletions
diff --git a/VERSION b/VERSION
index 9097bf9dbe5f..5416288bc5ef 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-v0.10
+v0.11
diff --git a/dma-mbox-create.c b/dma-mbox-create.c
index 532a7afbe0b5..45a4792a3f6f 100644
--- a/dma-mbox-create.c
+++ b/dma-mbox-create.c
@@ -142,7 +142,7 @@ main(int argc, char **argv)
logfail(EX_CANTCREAT, "cannot build mbox path for `%s/%s'", _PATH_MAILDIR, user);
}
- f = open(fn, O_RDONLY|O_CREAT, 0600);
+ f = open(fn, O_RDONLY|O_CREAT|O_NOFOLLOW, 0600);
if (f < 0)
logfail(EX_NOINPUT, "cannt open mbox `%s'", fn);
diff --git a/dma.c b/dma.c
index 94fc3316f7db..b87b20245583 100644
--- a/dma.c
+++ b/dma.c
@@ -321,7 +321,7 @@ deliver(struct qitem *it)
snprintf(errmsg, sizeof(errmsg), "unknown bounce reason");
retry:
- syslog(LOG_INFO, "trying delivery");
+ syslog(LOG_INFO, "<%s> trying delivery", it->addr);
if (it->remote)
error = deliver_remote(it);
@@ -331,7 +331,7 @@ retry:
switch (error) {
case 0:
delqueue(it);
- syslog(LOG_INFO, "delivery successful");
+ syslog(LOG_INFO, "<%s> delivery successful", it->addr);
exit(EX_OK);
case 1:
diff --git a/dma.h b/dma.h
index acf5e44d07bc..593417617d3d 100644
--- a/dma.h
+++ b/dma.h
@@ -49,7 +49,7 @@
#define VERSION "DragonFly Mail Agent " DMA_VERSION
#define BUF_SIZE 2048
-#define ERRMSG_SIZE 200
+#define ERRMSG_SIZE 1024
#define USERNAME_SIZE 50
#define MIN_RETRY 300 /* 5 minutes */
#define MAX_RETRY (3*60*60) /* retry at least every 3 hours */
diff --git a/dns.c b/dns.c
index dd9ebfca8d82..bd28c4db724c 100644
--- a/dns.c
+++ b/dns.c
@@ -34,6 +34,7 @@
*/
#include <sys/types.h>
+#include <sys/param.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <arpa/nameser.h>
diff --git a/local.c b/local.c
index e3e015217fea..94e217928983 100644
--- a/local.c
+++ b/local.c
@@ -196,7 +196,7 @@ retry:
goto out;
}
- error = snprintf(line, sizeof(line), "%sFrom %s\t%s", newline, sender, ctime(&now));
+ error = snprintf(line, sizeof(line), "%sFrom %s %s", newline, sender, ctime(&now));
if (error < 0 || (size_t)error >= sizeof(line)) {
syslog(LOG_NOTICE, "local delivery deferred: can not write header: %m");
goto out;
diff --git a/net.c b/net.c
index 26935a8feec8..47ee92849421 100644
--- a/net.c
+++ b/net.c
@@ -372,11 +372,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 */
@@ -426,7 +428,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) {