summaryrefslogtreecommitdiffstats
path: root/contrib/sendmail/src/envelope.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/sendmail/src/envelope.c')
-rw-r--r--contrib/sendmail/src/envelope.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/contrib/sendmail/src/envelope.c b/contrib/sendmail/src/envelope.c
index af6370b..164ed6f 100644
--- a/contrib/sendmail/src/envelope.c
+++ b/contrib/sendmail/src/envelope.c
@@ -13,7 +13,7 @@
#include <sendmail.h>
-SM_RCSID("@(#)$Id: envelope.c,v 8.294 2005/02/16 23:38:51 ca Exp $")
+SM_RCSID("@(#)$Id: envelope.c,v 8.295 2005/06/15 20:32:18 ca Exp $")
/*
** CLRSESSENVELOPE -- clear session oriented data in an envelope
@@ -75,6 +75,10 @@ newenvelope(e, parent, rpool)
register ENVELOPE *parent;
SM_RPOOL_T *rpool;
{
+#if _FFR_DM_PER_DAEMON
+ int sendmode;
+#endif /* _FFR_DM_PER_DAEMON */
+
/*
** This code used to read:
** if (e == parent && e->e_parent != NULL)
@@ -84,6 +88,13 @@ newenvelope(e, parent, rpool)
** This meant macvalue() could go into an infinite loop.
*/
+#if _FFR_DM_PER_DAEMON
+ if (parent != NULL)
+ sendmode = parent->e_sendmode;
+ else
+ sendmode = DM_NOTSET;
+#endif /* _FFR_DM_PER_DAEMON */
+
if (e == parent)
parent = e->e_parent;
clearenvelope(e, true, rpool);
@@ -119,6 +130,10 @@ newenvelope(e, parent, rpool)
e->e_putbody = putbody;
if (CurEnv->e_xfp != NULL)
(void) sm_io_flush(CurEnv->e_xfp, SM_TIME_DEFAULT);
+#if _FFR_DM_PER_DAEMON
+ if (sendmode != DM_NOTSET)
+ e->e_sendmode = sendmode;
+#endif /* _FFR_DM_PER_DAEMON */
return e;
}
OpenPOWER on IntegriCloud