diff options
-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 ddab0e6dc6ea..d06f9664f460 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 000000000000..4166015e3a9f --- /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 000000000000..f497cc898ba4 --- /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] != '-') { |