svn commit: r321244 - stable/10/usr.sbin/cron/cron
Ngie Cooper
ngie at FreeBSD.org
Wed Jul 19 20:29:09 UTC 2017
Author: ngie
Date: Wed Jul 19 20:29:07 2017
New Revision: 321244
URL: https://svnweb.freebsd.org/changeset/base/321244
Log:
MFC r269550:
r269550 (by peter):
Check gethostname(2) return code - but even if it succeeds it may not
null terminate.
Temporarily use "From: $user@$hostname" rather than "From: $user".
The latter exposes incompatible behavior if using dma(8). sendmail(8)
(and other alternatives) canonify either form on submission (even
if masquerading), but dma will leak a non-compliant address to
the internet.
Modified:
stable/10/usr.sbin/cron/cron/do_command.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/usr.sbin/cron/cron/do_command.c
==============================================================================
--- stable/10/usr.sbin/cron/cron/do_command.c Wed Jul 19 20:26:35 2017 (r321243)
+++ stable/10/usr.sbin/cron/cron/do_command.c Wed Jul 19 20:29:07 2017 (r321244)
@@ -484,14 +484,17 @@ child_process(e, u)
auto char mailcmd[MAX_COMMAND];
auto char hostname[MAXHOSTNAMELEN];
- (void) gethostname(hostname, MAXHOSTNAMELEN);
+ if (gethostname(hostname, MAXHOSTNAMELEN) == -1)
+ hostname[0] = '\0';
+ hostname[sizeof(hostname) - 1] = '\0';
(void) snprintf(mailcmd, sizeof(mailcmd),
MAILARGS, MAILCMD);
if (!(mail = cron_popen(mailcmd, "w", e))) {
warn("%s", MAILCMD);
(void) _exit(ERROR_EXIT);
}
- fprintf(mail, "From: %s (Cron Daemon)\n", usernm);
+ fprintf(mail, "From: Cron Daemon <%s@%s>\n",
+ usernm, hostname);
fprintf(mail, "To: %s\n", mailto);
fprintf(mail, "Subject: Cron <%s@%s> %s\n",
usernm, first_word(hostname, "."),
More information about the svn-src-all
mailing list