summaryrefslogtreecommitdiffstats
path: root/main/busybox/0002-sendmail-use-FQDN-in-default-envelope-sender.patch
blob: 0c0f3dc78b228bad089da48a6116dee9aeb5eeb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
From 545f970465584ccab628f1528951541f5984aa0c Mon Sep 17 00:00:00 2001
From: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Date: Sun, 9 Feb 2014 09:49:36 +0100
Subject: [PATCH 2/2] sendmail: use FQDN in default envelope sender

RFC 5321 requires the return path to be supplied with a proper domain
name.

Signed-off-by: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---
 mailutils/sendmail.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/mailutils/sendmail.c b/mailutils/sendmail.c
index 824109d..9455b4e 100644
--- a/mailutils/sendmail.c
+++ b/mailutils/sendmail.c
@@ -326,7 +326,6 @@ int sendmail_main(int argc UNUSED_PARAM, char **argv)
 	// we should start with modern EHLO
 	if (250 != smtp_checkp("EHLO %s", host, -1))
 		smtp_checkp("HELO %s", host, 250);
-	free(host);
 
 	// perform authentication
 	if (opts & OPT_a) {
@@ -353,8 +352,11 @@ int sendmail_main(int argc UNUSED_PARAM, char **argv)
 
 	// got no sender address? use auth name, then UID username as a last resort
 	if (!opt_from) {
-		opt_from = G.user ? G.user : xuid2uname(getuid());
+		opt_from = xasprintf("%s@%s",
+		                     G.user ? G.user : xuid2uname(getuid()),
+		                     xgethostbyname(host)->h_name);
 	}
+	free(host);
 
 	smtp_checkp("MAIL FROM:<%s>", opt_from, 250);
 
-- 
1.8.3.1