summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/smtpd/mfa_session.c6
-rw-r--r--usr.sbin/smtpd/parse.y5
-rw-r--r--usr.sbin/smtpd/smtp_session.c4
3 files changed, 7 insertions, 8 deletions
diff --git a/usr.sbin/smtpd/mfa_session.c b/usr.sbin/smtpd/mfa_session.c
index 9bd75900e22..c7158085a32 100644
--- a/usr.sbin/smtpd/mfa_session.c
+++ b/usr.sbin/smtpd/mfa_session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mfa_session.c,v 1.3 2011/08/31 18:56:30 gilles Exp $ */
+/* $OpenBSD: mfa_session.c,v 1.4 2011/09/01 09:42:15 chl Exp $ */
/*
* Copyright (c) 2011 Gilles Chehade <gilles@openbsd.org>
@@ -184,9 +184,9 @@ mfa_session_done(struct mfa_session *ms)
imsg_type = IMSG_MFA_RCPT;
break;
case S_DATACONTENT:
- if (ms->ss.code != 530)
+ if (ms->ss.code != 530 && ms->fm.code != 0)
(void)strlcpy(ms->ss.u.dataline, ms->fm.u.dataline.line,
- sizeof(ms->ss.u.dataline));
+ sizeof(ms->ss.u.dataline));
imsg_type = IMSG_MFA_DATALINE;
break;
default:
diff --git a/usr.sbin/smtpd/parse.y b/usr.sbin/smtpd/parse.y
index 0207ea89b92..cbd3cb9056d 100644
--- a/usr.sbin/smtpd/parse.y
+++ b/usr.sbin/smtpd/parse.y
@@ -1,4 +1,4 @@
-/* $OpenBSD: parse.y,v 1.78 2011/08/31 18:56:30 gilles Exp $ */
+/* $OpenBSD: parse.y,v 1.79 2011/09/01 09:42:15 chl Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@openbsd.org>
@@ -379,7 +379,7 @@ main : QUEUE INTERVAL interval {
YYERROR;
}
free($2);
- }
+ }/*
| FILTER STRING STRING {
struct filter *filter;
struct filter *tmp;
@@ -411,6 +411,7 @@ main : QUEUE INTERVAL interval {
free($2);
free($3);
}
+ */
;
maptype : SINGLE { map->m_type = T_SINGLE; }
diff --git a/usr.sbin/smtpd/smtp_session.c b/usr.sbin/smtpd/smtp_session.c
index 4673c0caf20..9832e218eb5 100644
--- a/usr.sbin/smtpd/smtp_session.c
+++ b/usr.sbin/smtpd/smtp_session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: smtp_session.c,v 1.144 2011/08/31 18:56:30 gilles Exp $ */
+/* $OpenBSD: smtp_session.c,v 1.145 2011/09/01 09:42:15 chl Exp $ */
/*
* Copyright (c) 2008 Gilles Chehade <gilles@openbsd.org>
@@ -589,7 +589,6 @@ session_pickup(struct session *s, struct submit_status *ss)
return;
}
- log_debug("state: %d", s->s_state);
switch (s->s_state) {
case S_INIT:
s->s_state = S_GREETED;
@@ -716,7 +715,6 @@ session_pickup(struct session *s, struct submit_status *ss)
break;
case S_DATACONTENT:
- log_debug("line: %s\n", ss->u.dataline);
if (ss->code != 250)
s->s_msg.delivery.status |= DS_PERMFAILURE;
session_read_data(s, ss->u.dataline);