diff options
author | Gilles Chehade <gilles@poolp.org> | 2019-12-21 19:32:44 +0100 |
---|---|---|
committer | Gilles Chehade <gilles@poolp.org> | 2019-12-21 19:32:44 +0100 |
commit | f15f16c8e5de7ce271994377832ea325d0e8d1f5 (patch) | |
tree | f0b01194b897d5abcdcd2a5fcdfd802951313864 /smtpd/mta_session.c | |
parent | Merge branch 'master' into portable (diff) | |
parent | sync (diff) | |
download | OpenSMTPD-f15f16c8e5de7ce271994377832ea325d0e8d1f5.tar.xz OpenSMTPD-f15f16c8e5de7ce271994377832ea325d0e8d1f5.zip |
Merge branch 'master' into portable
Diffstat (limited to 'smtpd/mta_session.c')
-rw-r--r-- | smtpd/mta_session.c | 17 |
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) |