diff options
author | nork <nork@FreeBSD.org> | 2003-04-06 14:43:07 +0000 |
---|---|---|
committer | nork <nork@FreeBSD.org> | 2003-04-06 14:43:07 +0000 |
commit | 257742ff842f13bf2001612a4c1b7992fe1c090f (patch) | |
tree | a438b387f133061f19a2e243e920240c1129e2ce /mail/messagewall | |
parent | 34d54d0149f29078e38053c39f9a16f31b58a089 (diff) | |
download | FreeBSD-ports-257742ff842f13bf2001612a4c1b7992fe1c090f.zip FreeBSD-ports-257742ff842f13bf2001612a4c1b7992fe1c090f.tar.gz |
There is a problem with the interaction between MessageWall and Microsoft
Exchange server. The MS Exchange server gets upset that MessageWall sends
the "250 2.0.0 h1Q0Qc907062 Message accepted for delivery" and the "\r\n"
in different packets. The first patch works around this MS problem.
See http://messagewall.org/cgi-bin/ezmlm-browse.cgi?command=showthread&list=messagewall-discuss&month=200302&threadid=nnoiaogojliciagmgpbk
The other patch changes how MessageWall behaves when there are multiple
recipients to a message. MessageWall accepts the first recipient, but
defers the second with a temporary SMTP error. This can take some time
for all recipients to get the message when the sending side has a long
queue time. MessageWall does this since different recipients of a message
can have different profiles. We, along with a number of sites, use a
single profile for all inbound email. This patch, which must be enabled
when the port is built with -DMESSAGEWALL_ALLOW_MULT_RCPT, allows multiple
recipients, using the profile of the first recipient.
See: http://www.messagewall.org/cgi-bin/ezmlm-browse.cgi?command=showthread&list=messagewall-discuss&month=200303&threadid=lcjcimckfmdphlhpjjhn
PR: ports/50296
Submitted by: Douglas K. Rand <rand@meridian-enviro.com>
Approved by: maintainer timeout (12 days)
Diffstat (limited to 'mail/messagewall')
-rw-r--r-- | mail/messagewall/Makefile | 16 | ||||
-rw-r--r-- | mail/messagewall/files/allow-multiple-recipients.patch | 33 | ||||
-rw-r--r-- | mail/messagewall/files/patch-exchange-server | 20 |
3 files changed, 69 insertions, 0 deletions
diff --git a/mail/messagewall/Makefile b/mail/messagewall/Makefile index ddab0e6..d06f9664 100644 --- a/mail/messagewall/Makefile +++ b/mail/messagewall/Makefile @@ -7,6 +7,7 @@ PORTNAME= messagewall PORTVERSION= 1.0.8 +PORTREVISION= 1 CATEGORIES= mail MASTER_SITES= http://www.messagewall.org/download/ DISTNAME= messagewall-${PORTVERSION} @@ -25,6 +26,21 @@ WRKSRC= ${WRKDIR}/messagewall GNU_CONFIGURE= yes USE_REINPLACE= yes +pre-fetch: + @${ECHO} "" + @${ECHO} "You may use the following build options:" + @${ECHO} "" + @${ECHO} " -DMESSAGEWALL_ALLOW_MULT_RCPT to allow multiple recipients" + @${ECHO} " The profile for the first recipient will be applied to all" + @${ECHO} " recipients of the message." + @${ECHO} "" + +# Patch from "Quentin Guernsey" <quentin@wingateweb.com> +# for details see http://www.messagewall.org/cgi-bin/ezmlm-browse.cgi?command=showmsg&list=messagewall-discuss&month=200303&msgnum=921&threadid=lcjcimckfmdphlhpjjhn +.if defined(MESSAGEWALL_ALLOW_MULT_RCPT) +EXTRA_PATCHES+= ${PATCHDIR}/allow-multiple-recipients.patch +.endif + post-patch: ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/firemake.cflags \ diff --git a/mail/messagewall/files/allow-multiple-recipients.patch b/mail/messagewall/files/allow-multiple-recipients.patch new file mode 100644 index 0000000..4166015 --- /dev/null +++ b/mail/messagewall/files/allow-multiple-recipients.patch @@ -0,0 +1,33 @@ +--- smtp.c-orig Fri Oct 18 10:24:16 2002 ++++ smtp.c Tue Mar 25 13:57:37 2003 +@@ -629,20 +629,17 @@ + + /* + * check that we have recipient space ++ * Patch from Quentin Guernsey <quentin@wingateweb.com> ++ * Applied by Douglas K. Rand <rand@meridian-enviro.com> ++ * Which allows multiple recipients, but applies the profile of ++ * the first recipient to all recipients. ++ * See http://www.messagewall.org/cgi-bin/ezmlm-browse.cgi?command=showthread&list=messagewall-discuss&month=200303&threadid=lcjcimckfmdphlhpjjhn + */ +- if (clients[client].can_relay == 1) { +- if (clients[client].num_to == max_rcpt) { +- fprintf(stderr,"{%d} (%d) SMTP/REJECT: too many RCPT\n",process,client); +- SMTP_RESET +- tls_client_write(client,SMTP_MAXRCPT,sizeof(SMTP_MAXRCPT) - 1); +- return 0; +- } +- } else { +- if (clients[client].num_to == 1) { +- fprintf(stderr,"{%d} (%d) SMTP/TEMPORARY: external host attempted multiple recipient delivery, asked for one at a time\n",process,client); +- tls_client_write(client,SMTP_ONLYONE,sizeof(SMTP_ONLYONE) - 1); +- return 0; +- } ++ if (clients[client].num_to == max_rcpt) { ++ fprintf(stderr,"{%d} (%d) SMTP/REJECT: too many RCPT\n",process,client); ++ SMTP_RESET ++ tls_client_write(client,SMTP_MAXRCPT,sizeof(SMTP_MAXRCPT) - 1); ++ return 0; + } + + /* diff --git a/mail/messagewall/files/patch-exchange-server b/mail/messagewall/files/patch-exchange-server new file mode 100644 index 0000000..f497cc8 --- /dev/null +++ b/mail/messagewall/files/patch-exchange-server @@ -0,0 +1,20 @@ +--- client.c-orig Sat Sep 28 12:21:02 2002 ++++ client.c Tue Mar 25 13:57:37 2003 +@@ -384,8 +384,15 @@ + line = client_get_line(n); + if (line == NULL) + return 0; +- tls_client_write(backends[n].client,line->s,line->l); +- tls_client_write(backends[n].client,"\r\n",2); ++ /* ++ * Patch from Russell Vincent <rv2@sanger.ac.uk> ++ * Applied by Douglas K. Rand <rand@meridian-enviro.com> ++ * Works around problem with MS Exchange servers not liking ++ * the \r\n showing up in a seperate packet. ++ * See http://messagewall.org/cgi-bin/ezmlm-browse.cgi?command=showthread&list=messagewall-discuss&month=200302&threadid=nnoiaogojliciagmgpbk ++ */ ++ firestring_estr_sprintf(&outline,"%e\r\n", line); ++ tls_client_write(backends[n].client,outline.s,outline.l); + firestring_estr_0(line); + fprintf(stderr,"{%d} [%d] BACKEND/ACCEPT: accepted message responsibility: '%s'\n",process,n,line->s); + if (line->l >= 4 && line->s[3] != '-') { |