aboutsummaryrefslogtreecommitdiffstats
path: root/smtpd/mta_session.c
diff options
context:
space:
mode:
authorGilles Chehade <gilles@poolp.org>2019-12-21 19:32:44 +0100
committerGilles Chehade <gilles@poolp.org>2019-12-21 19:32:44 +0100
commitf15f16c8e5de7ce271994377832ea325d0e8d1f5 (patch)
treef0b01194b897d5abcdcd2a5fcdfd802951313864 /smtpd/mta_session.c
parentMerge branch 'master' into portable (diff)
parentsync (diff)
downloadOpenSMTPD-f15f16c8e5de7ce271994377832ea325d0e8d1f5.tar.xz
OpenSMTPD-f15f16c8e5de7ce271994377832ea325d0e8d1f5.zip
Merge branch 'master' into portable
Diffstat (limited to 'smtpd/mta_session.c')
-rw-r--r--smtpd/mta_session.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/smtpd/mta_session.c b/smtpd/mta_session.c
index d98090e9..3a00477b 100644
--- a/smtpd/mta_session.c
+++ b/smtpd/mta_session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mta_session.c,v 1.124 2019/12/21 11:07:38 gilles Exp $ */
+/* $OpenBSD: mta_session.c,v 1.125 2019/12/21 17:43:49 gilles Exp $ */
/*
* Copyright (c) 2008 Pierre-Yves Ritschard <pyr@openbsd.org>
@@ -175,9 +175,7 @@ static void mta_disconnected(struct mta_session *);
static void mta_report_link_connect(struct mta_session *, const char *, int,
const struct sockaddr_storage *,
const struct sockaddr_storage *);
-#if 0
static void mta_report_link_greeting(struct mta_session *, const char *);
-#endif
static void mta_report_link_identify(struct mta_session *, const char *, const char *);
static void mta_report_link_tls(struct mta_session *, const char *);
static void mta_report_link_disconnect(struct mta_session *);
@@ -888,6 +886,7 @@ mta_response(struct mta_session *s, char *line)
struct sockaddr_storage ss;
struct sockaddr *sa;
const char *domain;
+ char *pbuf;
socklen_t sa_len;
char buf[LINE_MAX];
int delivery;
@@ -900,6 +899,16 @@ mta_response(struct mta_session *s, char *line)
s->flags |= MTA_FREE;
return;
}
+
+ pbuf = "";
+ if (strlen(line) > 4) {
+ (void)strlcpy(buf, line + 4, sizeof buf);
+ if ((pbuf = strchr(buf, ' ')))
+ *pbuf = '\0';
+ pbuf = valid_domainpart(buf) ? buf : "";
+ }
+ mta_report_link_greeting(s, pbuf);
+
if (s->flags & MTA_LMTP)
mta_enter_state(s, MTA_LHLO);
else
@@ -1839,7 +1848,6 @@ mta_report_link_connect(struct mta_session *s, const char *rdns, int fcrdns,
report_smtp_link_connect("smtp-out", s->id, rdns, fcrdns, ss_src, ss_dest);
}
-#if 0
static void
mta_report_link_greeting(struct mta_session *s,
const char *domain)
@@ -1849,7 +1857,6 @@ mta_report_link_greeting(struct mta_session *s,
report_smtp_link_greeting("smtp-out", s->id, domain);
}
-#endif
static void
mta_report_link_identify(struct mta_session *s, const char *method, const char *identity)