ports/61490: mail/messagewall patch with esmtp size option improvement
Michael Ranner
mranner at inode.at
Sat Jan 17 19:31:01 UTC 2004
>Number: 61490
>Category: ports
>Synopsis: mail/messagewall patch with esmtp size option improvement
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Jan 17 11:30:08 PST 2004
>Closed-Date:
>Last-Modified:
>Originator: Michael Ranner
>Release: FreeBSD 4.9-RELEASE-p1 i386
>Organization:
>Environment:
System: FreeBSD dwarf.jawa.at 4.9-RELEASE-p1 FreeBSD 4.9-RELEASE-p1 #4: Sat Nov 29 11:09:14 CET 2003 root at dwarf.jawa.at:/usr/src/sys/compile/DWARF i386
>Description:
Messagewall lacks some necessary features, one of them is hanling of
ESMTP SIZE option in MAIL FROM. This patch adds this functionality to
the FreeBSD messagewall port.
I have contacted maintainer and developer but got no response until now.
>How-To-Repeat:
cd /usr/ports/mail/messagewall && patch <patch-messagewall
>Fix:
*** Makefile.orig Sat Jan 17 00:36:50 2004
--- Makefile Sat Jan 17 00:32:15 2004
***************
*** 7,13 ****
PORTNAME= messagewall
PORTVERSION= 1.0.8
! PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= http://www.messagewall.org/download/
DISTNAME= messagewall-${PORTVERSION}
--- 7,13 ----
PORTNAME= messagewall
PORTVERSION= 1.0.8
! PORTREVISION= 2
CATEGORIES= mail
MASTER_SITES= http://www.messagewall.org/download/
DISTNAME= messagewall-${PORTVERSION}
***************
*** 34,44 ****
--- 34,55 ----
@${ECHO} " The profile for the first recipient will be applied to all"
@${ECHO} " recipients of the message."
@${ECHO} ""
+ @${ECHO} " -DWITH_ESMTP_SIZE_OPTION to allow messagewall to handle the"
+ @${ECHO} " size option in MAIL FROM: <foo at bar.com> SIZE=12345678 (RFC1870)"
+ @${ECHO} " This can safe a lot of bandwith, because it rejects any email,"
+ @${ECHO} " if message size is greater than max message size."
+ @${ECHO} ""
# Patch from "Quentin Guernsey" <quentin at 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
+
+ # Patch from "Michael Ranner" <mranner at inode.at>
+ # for details see http://www.ranner.jawa.at/messagewall.php
+ .if defined(WITH_ESMTP_SIZE_OPTION)
+ EXTRA_PATCHES+= ${PATCHDIR}/esmtpsize.patch
.endif
post-patch:
*** files/esmtpsize.patch.orig Sat Jan 17 00:37:21 2004
--- files/esmtpsize.patch Sat Jan 17 00:32:04 2004
***************
*** 0 ****
--- 1,39 ----
+ --- smtp.c.orig Fri Jan 16 00:00:00 2004
+ +++ smtp.c Fri Jan 16 00:04:04 2004
+ @@ -394,6 +394,8 @@
+ int atsign;
+ int l;
+ int j;
+ + int k;
+ + long message_size;
+
+ if (outline.a == 0)
+ firestring_estr_alloc(&outline,SMTP_LINE_MAXLEN);
+ @@ -582,6 +584,27 @@
+ fprintf(stderr,"{%d} (%d) SMTP/REJECT: MAIL path too long\n",process,client);
+ tls_client_write(client,SMTP_BADCHAR,sizeof(SMTP_BADCHAR) - 1);
+ return 0;
+ + }
+ +
+ + /*
+ + * ESMPT SIZE patch (2004-01-16) from Michael Ranner <mranner at inode.at>
+ + * With this patch, messagewall handles the ESMTP SIZE option (RFC1870)
+ + * "MAIL FROM: <mranner at inode.at> SIZE=12345" like sendmail does.
+ + * This patch can help you to safe a lot of bandwith.
+ + */
+ + k = firestring_estr_stristr(line,"size",l);
+ +
+ + if (k > -1) {
+ + k = firestring_estr_strchr(line,'=',k);
+ + if ((k > -1) && (line->l > ++k)) {
+ + message_size = strtol(&line->s[k],(char **)NULL,10);
+ + if (message_size > max_message_size) {
+ + fprintf(stderr,"{%d} (%d) SMTP/REJECT: esmtp size %d bytes, message too long\n",process,client,message_size);
+ + tls_client_write(client,SMTP_MESSAGE_TOOLONG,sizeof(SMTP_MESSAGE_TOOLONG) + 1);
+ + } else {
+ + fprintf(stderr,"{%d} (%d) SMTP/STATUS: esmtp size %d bytes\n",process,client,message_size);
+ + }
+ + }
+ }
+
+ /*
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list