Date: Sat, 10 Oct 2015 23:31:47 +0000 (UTC) From: Baptiste Daroussin <bapt@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r289123 - in head: contrib/dma contrib/dma/debian libexec/dma Message-ID: <201510102331.t9ANVlkY089138@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bapt Date: Sat Oct 10 23:31:47 2015 New Revision: 289123 URL: https://svnweb.freebsd.org/changeset/base/289123 Log: Update Dragonfly Mail Agent to v0.10 Deleted: head/contrib/dma/BSDmakefile head/contrib/dma/debian/ Modified: head/contrib/dma/LICENSE head/contrib/dma/README.markdown head/contrib/dma/TODO head/contrib/dma/VERSION head/contrib/dma/aliases_parse.y head/contrib/dma/aliases_scan.l head/contrib/dma/conf.c head/contrib/dma/dma-mbox-create.c head/contrib/dma/dma.8 head/contrib/dma/dma.c head/contrib/dma/dma.h head/contrib/dma/dns.c head/contrib/dma/get-version.sh head/contrib/dma/local.c head/contrib/dma/mail.c head/contrib/dma/net.c head/contrib/dma/spool.c head/contrib/dma/util.c head/libexec/dma/Makefile.inc Directory Properties: head/contrib/dma/ (props changed) Modified: head/contrib/dma/LICENSE ============================================================================== --- head/contrib/dma/LICENSE Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/LICENSE Sat Oct 10 23:31:47 2015 (r289123) @@ -1,5 +1,5 @@ +Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>. Copyright (c) 2008 The DragonFly Project. -Copyright (c) 2008-2011, Simon Schubert <2@0x2c.org>. All rights reserved. This code is derived from software contributed to The DragonFly Project @@ -37,7 +37,7 @@ OF THE USE OF THIS SOFTWARE, EVEN IF ADV SUCH DAMAGE. -Copyright (c) 1995-2001 Kungliga Tekniska Högskolan +Copyright (c) 1995-2001 Kungliga Tekniska Högskolan (Royal Institute of Technology, Stockholm, Sweden). All rights reserved. Modified: head/contrib/dma/README.markdown ============================================================================== --- head/contrib/dma/README.markdown Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/README.markdown Sat Oct 10 23:31:47 2015 (r289123) @@ -15,8 +15,13 @@ incoming connections. Building -------- +In Linux: + make +In BSD: + + cd bsd && make Installation ------------ Modified: head/contrib/dma/TODO ============================================================================== --- head/contrib/dma/TODO Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/TODO Sat Oct 10 23:31:47 2015 (r289123) @@ -1,5 +1,4 @@ - unquote/handle quoted local recipients -- use proper sysexit codes - handle/use ESMTP extensions - .forward support - suggest way to run a queue flush on boot Modified: head/contrib/dma/VERSION ============================================================================== --- head/contrib/dma/VERSION Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/VERSION Sat Oct 10 23:31:47 2015 (r289123) @@ -1 +1 @@ -v0.9 +v0.10 Modified: head/contrib/dma/aliases_parse.y ============================================================================== --- head/contrib/dma/aliases_parse.y Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/aliases_parse.y Sat Oct 10 23:31:47 2015 (r289123) @@ -7,8 +7,6 @@ extern int yylineno; static void yyerror(const char *); -int yywrap(void); -int yylex(void); static void yyerror(const char *msg) Modified: head/contrib/dma/aliases_scan.l ============================================================================== --- head/contrib/dma/aliases_scan.l Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/aliases_scan.l Sat Oct 10 23:31:47 2015 (r289123) @@ -1,11 +1,11 @@ %{ #include <string.h> +#include "dma.h" #include "aliases_parse.h" #define YY_NO_INPUT -int yylex(void); %} %option yylineno Modified: head/contrib/dma/conf.c ============================================================================== --- head/contrib/dma/conf.c Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/conf.c Sat Oct 10 23:31:47 2015 (r289123) @@ -64,7 +64,7 @@ trim_line(char *line) if (line[0] == '.') { if ((linelen + 2) > 1000) { syslog(LOG_CRIT, "Cannot escape leading dot. Buffer overflow"); - exit(1); + exit(EX_DATAERR); } memmove((line + 1), line, (linelen + 1)); line[0] = '.'; @@ -101,7 +101,7 @@ parse_authfile(const char *path) a = fopen(path, "r"); if (a == NULL) { - errlog(1, "can not open auth file `%s'", path); + errlog(EX_NOINPUT, "can not open auth file `%s'", path); /* NOTREACHED */ } @@ -121,7 +121,7 @@ parse_authfile(const char *path) au = calloc(1, sizeof(*au)); if (au == NULL) - errlog(1, "calloc failed"); + errlog(EX_OSERR, NULL); data = strdup(line); au->login = strsep(&data, "|"); @@ -131,8 +131,7 @@ parse_authfile(const char *path) if (au->login == NULL || au->host == NULL || au->password == NULL) { - errlogx(1, "syntax error in authfile %s:%d", - path, lineno); + errlogx(EX_CONFIG, "syntax error in authfile %s:%d", path, lineno); /* NOTREACHED */ } @@ -160,7 +159,7 @@ parse_conf(const char *config_path) /* Don't treat a non-existing config file as error */ if (errno == ENOENT) return; - errlog(1, "can not open config `%s'", config_path); + errlog(EX_NOINPUT, "can not open config `%s'", config_path); /* NOTREACHED */ } @@ -211,7 +210,7 @@ parse_conf(const char *config_path) } else { host = data; } - if (host && *host == 0) + if (host && *host == 0) host = NULL; if (user && *user == 0) user = NULL; @@ -232,13 +231,13 @@ parse_conf(const char *config_path) else if (strcmp(word, "NULLCLIENT") == 0 && data == NULL) config.features |= NULLCLIENT; else { - errlogx(1, "syntax error in %s:%d", config_path, lineno); + errlogx(EX_CONFIG, "syntax error in %s:%d", config_path, lineno); /* NOTREACHED */ } } if ((config.features & NULLCLIENT) && config.smarthost == NULL) { - errlogx(1, "%s: NULLCLIENT requires SMARTHOST", config_path); + errlogx(EX_CONFIG, "%s: NULLCLIENT requires SMARTHOST", config_path); /* NOTREACHED */ } Modified: head/contrib/dma/dma-mbox-create.c ============================================================================== --- head/contrib/dma/dma-mbox-create.c Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/dma-mbox-create.c Sat Oct 10 23:31:47 2015 (r289123) @@ -1,9 +1,9 @@ /* - * Copyright (c) 2010 Simon Schubert <2@0x2c.org> + * Copyright (c) 2010-2014, Simon Schubert <2@0x2c.org>. * Copyright (c) 2008 The DragonFly Project. All rights reserved. * * This code is derived from software contributed to The DragonFly Project - * by Simon 'corecode' Schubert <corecode@fs.ei.tum.de>. + * by Simon Schubert <2@0x2c.org>. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -54,7 +54,7 @@ static void -logfail(const char *fmt, ...) +logfail(int exitcode, const char *fmt, ...) { int oerrno = errno; va_list ap; @@ -73,7 +73,7 @@ logfail(const char *fmt, ...) else syslog(LOG_ERR, errno ? "%m" : "unknown error"); - exit(1); + exit(exitcode); } /* @@ -98,21 +98,21 @@ main(int argc, char **argv) errno = 0; gr = getgrnam(DMA_GROUP); if (!gr) - logfail("cannot find dma group `%s'", DMA_GROUP); + logfail(EX_CONFIG, "cannot find dma group `%s'", DMA_GROUP); mail_gid = gr->gr_gid; if (setgid(mail_gid) != 0) - logfail("cannot set gid to %d (%s)", mail_gid, DMA_GROUP); + logfail(EX_NOPERM, "cannot set gid to %d (%s)", mail_gid, DMA_GROUP); if (getegid() != mail_gid) - logfail("cannot set gid to %d (%s), still at %d", mail_gid, DMA_GROUP, getegid()); + logfail(EX_NOPERM, "cannot set gid to %d (%s), still at %d", mail_gid, DMA_GROUP, getegid()); /* * We take exactly one argument: the username. */ if (argc != 2) { errno = 0; - logfail("no arguments"); + logfail(EX_USAGE, "no arguments"); } user = argv[1]; @@ -121,7 +121,7 @@ main(int argc, char **argv) /* the username may not contain a pathname separator */ if (strchr(user, '/')) { errno = 0; - logfail("path separator in username `%s'", user); + logfail(EX_DATAERR, "path separator in username `%s'", user); exit(1); } @@ -129,7 +129,7 @@ main(int argc, char **argv) errno = 0; pw = getpwnam(user); if (!pw) - logfail("cannot find user `%s'", user); + logfail(EX_NOUSER, "cannot find user `%s'", user); user_uid = pw->pw_uid; @@ -137,20 +137,20 @@ main(int argc, char **argv) if (error < 0 || (size_t)error >= sizeof(fn)) { if (error >= 0) { errno = 0; - logfail("mbox path too long"); + logfail(EX_USAGE, "mbox path too long"); } - logfail("cannot build mbox path for `%s/%s'", _PATH_MAILDIR, user); + logfail(EX_CANTCREAT, "cannot build mbox path for `%s/%s'", _PATH_MAILDIR, user); } f = open(fn, O_RDONLY|O_CREAT, 0600); if (f < 0) - logfail("cannot open mbox `%s'", fn); + logfail(EX_NOINPUT, "cannt open mbox `%s'", fn); if (fchown(f, user_uid, mail_gid)) - logfail("cannot change owner of mbox `%s'", fn); + logfail(EX_OSERR, "cannot change owner of mbox `%s'", fn); if (fchmod(f, 0620)) - logfail("cannot change permissions of mbox `%s'", fn); + logfail(EX_OSERR, "cannot change permissions of mbox `%s'", fn); /* file should be present with the right owner and permissions */ Modified: head/contrib/dma/dma.8 ============================================================================== --- head/contrib/dma/dma.8 Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/dma.8 Sat Oct 10 23:31:47 2015 (r289123) @@ -1,4 +1,5 @@ .\" +.\" Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>. .\" Copyright (c) 2008 .\" The DragonFly Project. All rights reserved. .\" Modified: head/contrib/dma/dma.c ============================================================================== --- head/contrib/dma/dma.c Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/dma.c Sat Oct 10 23:31:47 2015 (r289123) @@ -1,8 +1,9 @@ /* + * Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>. * Copyright (c) 2008 The DragonFly Project. All rights reserved. * * This code is derived from software contributed to The DragonFly Project - * by Simon 'corecode' Schubert <corecode@fs.ei.tum.de>. + * by Simon Schubert <2@0x2c.org>. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -247,7 +248,7 @@ go_background(struct queue *queue) if (daemonize && daemon(0, 0) != 0) { syslog(LOG_ERR, "can not daemonize: %m"); - exit(1); + exit(EX_OSERR); } daemonize = 0; @@ -264,7 +265,7 @@ go_background(struct queue *queue) switch (pid) { case -1: syslog(LOG_ERR, "can not fork: %m"); - exit(1); + exit(EX_OSERR); break; case 0: @@ -286,11 +287,11 @@ retit: break; case 1: if (doqueue) - exit(0); + exit(EX_OK); syslog(LOG_WARNING, "could not lock queue file"); - exit(1); + exit(EX_SOFTWARE); default: - exit(1); + exit(EX_SOFTWARE); } dropspool(queue, it); return (it); @@ -306,7 +307,7 @@ retit: } syslog(LOG_CRIT, "reached dead code"); - exit(1); + exit(EX_SOFTWARE); } static void @@ -331,12 +332,12 @@ retry: case 0: delqueue(it); syslog(LOG_INFO, "delivery successful"); - exit(0); + exit(EX_OK); case 1: if (stat(it->queuefn, &st) != 0) { syslog(LOG_ERR, "lost queue file `%s'", it->queuefn); - exit(1); + exit(EX_SOFTWARE); } if (gettimeofday(&now, NULL) == 0 && (now.tv_sec - st.st_mtim.tv_sec > MAX_TIMEOUT)) { @@ -438,16 +439,16 @@ main(int argc, char **argv) pw = getpwnam(DMA_ROOT_USER); if (pw == NULL) { if (errno == 0) - errx(1, "user '%s' not found", DMA_ROOT_USER); + errx(EX_CONFIG, "user '%s' not found", DMA_ROOT_USER); else - err(1, "cannot drop root privileges"); + err(EX_OSERR, "cannot drop root privileges"); } if (setuid(pw->pw_uid) != 0) - err(1, "cannot drop root privileges"); + err(EX_OSERR, "cannot drop root privileges"); if (geteuid() == 0 || getuid() == 0) - errx(1, "cannot drop root privileges"); + errx(EX_OSERR, "cannot drop root privileges"); } atexit(deltmp); @@ -460,15 +461,15 @@ main(int argc, char **argv) argv++; argc--; showq = 1; if (argc != 0) - errx(1, "invalid arguments"); + errx(EX_USAGE, "invalid arguments"); goto skipopts; } else if (strcmp(argv[0], "newaliases") == 0) { logident_base = "dma"; setlogident("%s", logident_base); if (read_aliases() != 0) - errx(1, "could not parse aliases file `%s'", config.aliases); - exit(0); + errx(EX_SOFTWARE, "could not parse aliases file `%s'", config.aliases); + exit(EX_OK); } opterr = 0; @@ -547,7 +548,7 @@ main(int argc, char **argv) default: fprintf(stderr, "invalid argument: `-%c'\n", optopt); - exit(1); + exit(EX_USAGE); } } argc -= optind; @@ -555,10 +556,10 @@ main(int argc, char **argv) opterr = 1; if (argc != 0 && (showq || doqueue)) - errx(1, "sending mail and queue operations are mutually exclusive"); + errx(EX_USAGE, "sending mail and queue operations are mutually exclusive"); if (showq + doqueue > 1) - errx(1, "conflicting queue operations"); + errx(EX_USAGE, "conflicting queue operations"); skipopts: if (logident_base == NULL) @@ -578,7 +579,7 @@ skipopts: if (showq) { if (load_queue(&queue) < 0) - errlog(1, "can not load queue"); + errlog(EX_NOINPUT, "can not load queue"); show_queue(&queue); return (0); } @@ -586,38 +587,38 @@ skipopts: if (doqueue) { flushqueue_signal(); if (load_queue(&queue) < 0) - errlog(1, "can not load queue"); + errlog(EX_NOINPUT, "can not load queue"); run_queue(&queue); return (0); } if (read_aliases() != 0) - errlog(1, "could not parse aliases file `%s'", config.aliases); + errlog(EX_SOFTWARE, "could not parse aliases file `%s'", config.aliases); if ((sender = set_from(&queue, sender)) == NULL) - errlog(1, "set_from failed"); + errlog(EX_SOFTWARE, NULL); if (newspoolf(&queue) != 0) - errlog(1, "can not create temp file in `%s'", config.spooldir); + errlog(EX_CANTCREAT, "can not create temp file in `%s'", config.spooldir); setlogident("%s", queue.id); for (i = 0; i < argc; i++) { if (add_recp(&queue, argv[i], EXPAND_WILDCARD) != 0) - errlogx(1, "invalid recipient `%s'", argv[i]); + errlogx(EX_DATAERR, "invalid recipient `%s'", argv[i]); } if (LIST_EMPTY(&queue.queue) && !recp_from_header) - errlogx(1, "no recipients"); + errlogx(EX_NOINPUT, "no recipients"); if (readmail(&queue, nodot, recp_from_header) != 0) - errlog(1, "can not read mail"); + errlog(EX_NOINPUT, "can not read mail"); if (LIST_EMPTY(&queue.queue)) - errlogx(1, "no recipients"); + errlogx(EX_NOINPUT, "no recipients"); if (linkspool(&queue) != 0) - errlog(1, "can not create spools"); + errlog(EX_CANTCREAT, "can not create spools"); /* From here on the mail is safe. */ Modified: head/contrib/dma/dma.h ============================================================================== --- head/contrib/dma/dma.h Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/dma.h Sat Oct 10 23:31:47 2015 (r289123) @@ -1,8 +1,9 @@ /* + * Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>. * Copyright (c) 2008 The DragonFly Project. All rights reserved. * * This code is derived from software contributed to The DragonFly Project - * by Simon 'corecode' Schubert <corecode@fs.ei.tum.de> and + * by Simon Schubert <2@0x2c.org> and * Matthias Schmidt <matthias@dragonflybsd.org>. * * Redistribution and use in source and binary forms, with or without @@ -43,6 +44,7 @@ #include <arpa/inet.h> #include <openssl/ssl.h> #include <netdb.h> +#include <sysexits.h> #define VERSION "DragonFly Mail Agent " DMA_VERSION @@ -173,6 +175,8 @@ extern char errmsg[ERRMSG_SIZE]; /* aliases_parse.y */ int yyparse(void); +int yywrap(void); +int yylex(void); extern FILE *yyin; /* conf.c */ Modified: head/contrib/dma/dns.c ============================================================================== --- head/contrib/dma/dns.c Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/dns.c Sat Oct 10 23:31:47 2015 (r289123) @@ -1,8 +1,9 @@ /* + * Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>. * Copyright (c) 2008 The DragonFly Project. All rights reserved. * * This code is derived from software contributed to The DragonFly Project - * by Simon 'corecode' Schubert <corecode@fs.ei.tum.de> + * by Simon Schubert <2@0x2c.org>. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -67,7 +68,6 @@ add_host(int pref, const char *host, int char servname[10]; struct mx_hostentry *p; const int count_inc = 10; - int err; memset(&hints, 0, sizeof(hints)); hints.ai_family = PF_UNSPEC; @@ -75,9 +75,26 @@ add_host(int pref, const char *host, int hints.ai_protocol = IPPROTO_TCP; snprintf(servname, sizeof(servname), "%d", port); - err = getaddrinfo(host, servname, &hints, &res0); - if (err) - return (err == EAI_AGAIN ? 1 : -1); + switch (getaddrinfo(host, servname, &hints, &res0)) { + case 0: + break; + case EAI_AGAIN: + case EAI_NONAME: + /* + * EAI_NONAME gets returned for: + * SMARTHOST set but DNS server not reachable -> defer + * SMARTHOST set but DNS server returns "host does not exist" + * -> buggy configuration + * -> either defer or bounce would be ok -> defer + * MX entry was returned by DNS server but name doesn't resolve + * -> hopefully transient situation -> defer + * all other DNS problems should have been caught earlier + * in dns_get_mx_list(). + */ + goto out; + default: + return(-1); + } for (res = res0; res != NULL; res = res->ai_next) { if (*ps + 1 >= roundup(*ps, count_inc)) { Modified: head/contrib/dma/get-version.sh ============================================================================== --- head/contrib/dma/get-version.sh Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/get-version.sh Sat Oct 10 23:31:47 2015 (r289123) @@ -1,7 +1,9 @@ #!/bin/sh +tmp=$1 +file=${tmp:=VERSION} gitver=$(git describe 2>/dev/null | tr - .) -filever=$(cat VERSION) +filever=$(cat ${file} 2>/dev/null) version=${gitver} : ${version:=$filever} Modified: head/contrib/dma/local.c ============================================================================== --- head/contrib/dma/local.c Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/local.c Sat Oct 10 23:31:47 2015 (r289123) @@ -1,8 +1,9 @@ /* + * Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>. * Copyright (c) 2008 The DragonFly Project. All rights reserved. * * This code is derived from software contributed to The DragonFly Project - * by Simon 'corecode' Schubert <corecode@fs.ei.tum.de>. + * by Simon Schubert <2@0x2c.org>. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -81,7 +82,7 @@ create_mbox(const char *name) execl(LIBEXEC_PATH "/dma-mbox-create", "dma-mbox-create", name, NULL); syslog(LOG_ERR, "cannot execute "LIBEXEC_PATH"/dma-mbox-create: %m"); - exit(1); + exit(EX_SOFTWARE); default: /* parent */ Modified: head/contrib/dma/mail.c ============================================================================== --- head/contrib/dma/mail.c Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/mail.c Sat Oct 10 23:31:47 2015 (r289123) @@ -1,8 +1,9 @@ /* + * Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>. * Copyright (c) 2008 The DragonFly Project. All rights reserved. * * This code is derived from software contributed to The DragonFly Project - * by Simon 'corecode' Schubert <corecode@fs.ei.tum.de>. + * by Simon Schubert <2@0x2c.org>. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -51,7 +52,7 @@ bounce(struct qitem *it, const char *rea /* Don't bounce bounced mails */ if (it->sender[0] == 0) { syslog(LOG_INFO, "can not bounce a bounce message, discarding"); - exit(1); + exit(EX_SOFTWARE); } bzero(&bounceq, sizeof(bounceq)); @@ -132,7 +133,7 @@ bounce(struct qitem *it, const char *rea fail: syslog(LOG_CRIT, "error creating bounce: %m"); delqueue(it); - exit(1); + exit(EX_IOERR); } struct parse_state { @@ -332,10 +333,10 @@ newaddr: ps->pos = 0; addr = strdup(ps->addr); if (addr == NULL) - errlog(1, "strdup failed"); + errlog(EX_SOFTWARE, NULL); if (add_recp(queue, addr, EXPAND_WILDCARD) != 0) - errlogx(1, "invalid recipient `%s'", addr); + errlogx(EX_DATAERR, "invalid recipient `%s'", addr); goto again; } @@ -374,7 +375,9 @@ readmail(struct queue *queue, int nodot, if (fgets(line, sizeof(line) - 1, stdin) == NULL) break; if (had_last_line) - errlogx(1, "bad mail input format"); + errlogx(EX_DATAERR, "bad mail input format:" + " from %s (uid %d) (envelope-from %s)", + username, useruid, queue->sender); linelen = strlen(line); if (linelen == 0 || line[linelen - 1] != '\n') { /* @@ -405,7 +408,7 @@ readmail(struct queue *queue, int nodot, if (parse_state.state != NONE) { if (parse_addrs(&parse_state, line, queue) < 0) { - errlogx(1, "invalid address in header\n"); + errlogx(EX_DATAERR, "invalid address in header\n"); /* NOTREACHED */ } } @@ -416,7 +419,7 @@ readmail(struct queue *queue, int nodot, strprefixcmp(line, "Bcc:") == 0)) { parse_state.state = START; if (parse_addrs(&parse_state, line, queue) < 0) { - errlogx(1, "invalid address in header\n"); + errlogx(EX_DATAERR, "invalid address in header\n"); /* NOTREACHED */ } } Modified: head/contrib/dma/net.c ============================================================================== --- head/contrib/dma/net.c Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/net.c Sat Oct 10 23:31:47 2015 (r289123) @@ -1,4 +1,5 @@ /* + * Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>. * Copyright (c) 2008 The DragonFly Project. All rights reserved. * * This code is derived from software contributed to The DragonFly Project Modified: head/contrib/dma/spool.c ============================================================================== --- head/contrib/dma/spool.c Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/spool.c Sat Oct 10 23:31:47 2015 (r289123) @@ -1,8 +1,9 @@ /* + * Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>. * Copyright (c) 2008 The DragonFly Project. All rights reserved. * * This code is derived from software contributed to The DragonFly Project - * by Simon 'corecode' Schubert <corecode@fs.ei.tum.de>. + * by Simon Schubert <2@0x2c.org>. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -289,7 +290,7 @@ load_queue(struct queue *queue) spooldir = opendir(config.spooldir); if (spooldir == NULL) - err(1, "reading queue"); + err(EX_NOINPUT, "reading queue"); while ((de = readdir(spooldir)) != NULL) { queuefn = NULL; Modified: head/contrib/dma/util.c ============================================================================== --- head/contrib/dma/util.c Sat Oct 10 23:22:55 2015 (r289122) +++ head/contrib/dma/util.c Sat Oct 10 23:31:47 2015 (r289123) @@ -1,8 +1,9 @@ /* + * Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>. * Copyright (c) 2008 The DragonFly Project. All rights reserved. * * This code is derived from software contributed to The DragonFly Project - * by Simon 'corecode' Schubert <corecode@fs.ei.tum.de>. + * by Simon Schubert <2@0x2c.org>. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions Modified: head/libexec/dma/Makefile.inc ============================================================================== --- head/libexec/dma/Makefile.inc Sat Oct 10 23:22:55 2015 (r289122) +++ head/libexec/dma/Makefile.inc Sat Oct 10 23:31:47 2015 (r289123) @@ -7,7 +7,7 @@ DMA_SOURCES= ${.CURDIR}/../../../contrib CFLAGS= -I${DMA_SOURCES} \ -DHAVE_REALLOCF -DHAVE_STRLCPY -DHAVE_GETPROGNAME \ -DCONF_PATH='"/etc/dma"' \ - -DLIBEXEC_PATH='"/usr/libexec"' -DDMA_VERSION='"v0.9+"' \ + -DLIBEXEC_PATH='"/usr/libexec"' -DDMA_VERSION='"v0.10"' \ -DDMA_ROOT_USER='"mailnull"' \ -DDMA_GROUP='"mail"' BINGRP= mail
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201510102331.t9ANVlkY089138>