diff options
author | gshapiro <gshapiro@FreeBSD.org> | 2002-08-28 17:57:52 +0000 |
---|---|---|
committer | gshapiro <gshapiro@FreeBSD.org> | 2002-08-28 17:57:52 +0000 |
commit | 39e311b2e17a53f7ed02fcbe3820ca77b65486d5 (patch) | |
tree | 917921b3db147e850cc818686dc5ee3127c9842b /contrib/sendmail/src/milter.c | |
parent | fc4e7b69e3f764d3a1d9157868bc6965ef1db7d6 (diff) | |
download | FreeBSD-src-39e311b2e17a53f7ed02fcbe3820ca77b65486d5.zip FreeBSD-src-39e311b2e17a53f7ed02fcbe3820ca77b65486d5.tar.gz |
Import sendmail 8.12.6
Diffstat (limited to 'contrib/sendmail/src/milter.c')
-rw-r--r-- | contrib/sendmail/src/milter.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/contrib/sendmail/src/milter.c b/contrib/sendmail/src/milter.c index 2e45e50..271f7dc 100644 --- a/contrib/sendmail/src/milter.c +++ b/contrib/sendmail/src/milter.c @@ -10,7 +10,7 @@ #include <sendmail.h> -SM_RCSID("@(#)$Id: milter.c,v 8.197 2002/06/12 22:33:48 gshapiro Exp $") +SM_RCSID("@(#)$Id: milter.c,v 8.197.2.2 2002/08/06 22:58:38 gshapiro Exp $") #if MILTER # include <libmilter/mfapi.h> @@ -45,13 +45,33 @@ static char *MilterEnvRcptMacros[MAXFILTERMACROS + 1]; milter_abort(e); \ } -# define MILTER_CHECK_ERROR(action) \ +# if _FFR_QUARANTINE +# define MILTER_CHECK_ERROR(action) \ + if (tTd(71, 101)) \ + { \ + if (e->e_quarmsg == NULL) \ + { \ + e->e_quarmsg = sm_rpool_strdup_x(e->e_rpool, \ + "filter failure"); \ + macdefine(&e->e_macro, A_PERM, macid("{quarantine}"), \ + e->e_quarmsg); \ + } \ + } \ + else if (bitnset(SMF_TEMPFAIL, m->mf_flags)) \ + *state = SMFIR_TEMPFAIL; \ + else if (bitnset(SMF_REJECT, m->mf_flags)) \ + *state = SMFIR_REJECT; \ + else \ + action; +# else /* _FFR_QUARANTINE */ +# define MILTER_CHECK_ERROR(action) \ if (bitnset(SMF_TEMPFAIL, m->mf_flags)) \ *state = SMFIR_TEMPFAIL; \ else if (bitnset(SMF_REJECT, m->mf_flags)) \ *state = SMFIR_REJECT; \ else \ action; +# endif /* _FFR_QUARANTINE */ # define MILTER_CHECK_REPLYCODE(default) \ if (response == NULL || \ |