Date: Wed, 2 Jan 2002 00:08:51 +0100 (CET) From: Udo Schweigert <udo.schweigert@siemens.com> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/33456: maintainer update of mail/mutt-devel Message-ID: <200201012308.g01N8pMB047656@reims.mchp.siemens.de>
next in thread | raw e-mail | index | archive | help
>Number: 33456 >Category: ports >Synopsis: maintainer update of mail/mutt-devel >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Tue Jan 01 15:10:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Udo Schweigert >Release: FreeBSD 4.5-PRERELEASE i386 >Organization: >Environment: System: FreeBSD alaska.cert.siemens.de 4.5-PRERELEASE FreeBSD 4.5-PRERELEASE #38: Sat Dec 22 08:45:23 CET 2001 ust@alaska.cert.siemens.de:/usr/obj/work/src/RELENG_4/sys/alaska i386 >Description: The attached patch fixes a security problem in the mutt-devel port as just announced on the mutt mailinglist. The fix is a stripped down version taken from the freshly released mutt version 1.3.25 - but an entire update of the port will take more time because I'm waiting for some other contributions. So this is an update which fixes only the security flaw. Also it fixes the handling of mutt when used as a news-client and gives some hints how to setup this. >How-To-Repeat: >Fix: diff -ruN --exclude=CVS /usr/ports/mail/mutt-devel/Makefile mutt-devel/Makefile --- /usr/ports/mail/mutt-devel/Makefile Sun Dec 23 11:34:30 2001 +++ mutt-devel/Makefile Tue Jan 1 23:49:09 2002 @@ -8,7 +8,7 @@ PORTNAME= mutt-devel PORTVERSION= 1.3.24 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES+= mail .if defined(WITH_MUTT_NNTP) CATEGORIES+= news @@ -89,12 +89,10 @@ BUILD_DEPENDS+= sgmlfmt:${PORTSDIR}/textproc/sgmlformat .endif .if defined(WITH_MUTT_NNTP) -.if ! exists(${LOCALBASE}/bin/inews) -BUILD_DEPENDS+= nn-inews:${PORTSDIR}/news/nn +BUILD_DEPENDS+= ${LOCALBASE}/news/bin/inews:${PORTSDIR}/news/inn pre-configure:: ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-inews .endif -.endif .if defined(WITH_MUTT_CYRUS_SASL) LIB_DEPENDS+= sasl.8:${PORTSDIR}/security/cyrus-sasl .endif @@ -812,6 +810,15 @@ ${INSTALL_MAN} ${WRKSRC}/doc/*.html ${PREFIX}/share/doc/mutt/html ${INSTALL_MAN} ${WRKSRC}/doc/*.latin1 ${PREFIX}/share/doc/mutt .endif +.endif +.if defined(WITH_MUTT_NNTP) + @${ECHO} + @${ECHO} "------------------------------------------------" + @${ECHO} "Be sure to define NNTPSERVER in your environment" + @${ECHO} "and to be part of the group news in /etc/group" + @${ECHO} "if you want to post news with mutt" + @${ECHO} "------------------------------------------------" + @${ECHO} .endif .include <bsd.port.post.mk> diff -ruN --exclude=CVS /usr/ports/mail/mutt-devel/files/extra-patch-inews mutt-devel/files/extra-patch-inews --- /usr/ports/mail/mutt-devel/files/extra-patch-inews Mon Oct 29 18:41:59 2001 +++ mutt-devel/files/extra-patch-inews Tue Jan 1 23:23:05 2002 @@ -1,11 +1,11 @@ ---- configure.in.orig2 Mon Oct 29 10:12:28 2001 -+++ configure.in Mon Oct 29 10:16:16 2001 -@@ -456,7 +456,7 @@ +--- configure.in.orig2 Tue Jan 1 23:00:00 2002 ++++ configure.in Tue Jan 1 23:01:04 2002 +@@ -457,7 +457,7 @@ AC_ARG_ENABLE(nntp, [ --enable-nntp Enable NNTP support], [ if test x$enableval = xyes ; then AC_DEFINE(USE_NNTP) - AC_PATH_PROG(INEWS, inews, no, $PATH:/usr/sbin:/usr/lib) -+ AC_PATH_PROG(INEWS, nn-inews, no, $PATH:/usr/sbin:/usr/lib) ++ AC_PATH_PROG(INEWS, inews, no, $PATH:/usr/local/news/bin:/usr/sbin:/usr/lib) AC_DEFINE_UNQUOTED(INEWS, "$ac_cv_path_INEWS -hS") MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS nntp.o newsrc.o" need_socket="yes" diff -ruN --exclude=CVS /usr/ports/mail/mutt-devel/files/patch-rfc822-security mutt-devel/files/patch-rfc822-security --- /usr/ports/mail/mutt-devel/files/patch-rfc822-security Thu Jan 1 01:00:00 1970 +++ mutt-devel/files/patch-rfc822-security Tue Jan 1 22:30:57 2002 @@ -0,0 +1,105 @@ +--- rfc822.c.orig Wed Jan 17 09:53:12 2001 ++++ rfc822.c Tue Jan 1 22:29:12 2002 +@@ -33,6 +33,12 @@ + #include "rfc822.h" + #endif + ++#define terminate_string(a, b, c) do { if ((b) < (c)) a[(b)] = 0; else \ ++ a[(c)] = 0; } while (0) ++ ++#define terminate_buffer(a, b) terminate_string(a, b, sizeof (a) - 1) ++ ++ + const char RFC822Specials[] = "@.,:;<>[]\\\"()"; + #define is_special(x) strchr(RFC822Specials,x) + +@@ -227,12 +233,12 @@ + return NULL; + } + +- token[*tokenlen] = 0; ++ terminate_string (token, *tokenlen, tokenmax); + addr->mailbox = safe_strdup (token); + + if (*commentlen && !addr->personal) + { +- comment[*commentlen] = 0; ++ terminate_string (comment, *commentlen, commentmax); + addr->personal = safe_strdup (comment); + } + +@@ -320,9 +326,6 @@ + *last = cur; + } + +-#define terminate_string(a, b) do { if (b < sizeof(a) - 1) a[b] = 0; else \ +- a[sizeof(a) - 1] = 0; } while (0) +- + ADDRESS *rfc822_parse_adrlist (ADDRESS *top, const char *s) + { + const char *begin, *ps; +@@ -344,12 +347,12 @@ + { + if (phraselen) + { +- terminate_string (phrase, phraselen); ++ terminate_buffer (phrase, phraselen); + add_addrspec (&top, &last, phrase, comment, &commentlen, sizeof (comment) - 1); + } + else if (commentlen && last && !last->personal) + { +- terminate_string (comment, commentlen); ++ terminate_buffer (comment, commentlen); + last->personal = safe_strdup (comment); + } + +@@ -377,7 +380,7 @@ + else if (*s == ':') + { + cur = rfc822_new_address (); +- terminate_string (phrase, phraselen); ++ terminate_buffer (phrase, phraselen); + cur->mailbox = safe_strdup (phrase); + cur->group = 1; + +@@ -401,12 +404,12 @@ + { + if (phraselen) + { +- terminate_string (phrase, phraselen); ++ terminate_buffer (phrase, phraselen); + add_addrspec (&top, &last, phrase, comment, &commentlen, sizeof (comment) - 1); + } + else if (commentlen && last && !last->personal) + { +- terminate_string (phrase, phraselen); ++ terminate_buffer (phrase, phraselen); + last->personal = safe_strdup (comment); + } + #ifdef EXACT_ADDRESS +@@ -430,7 +433,7 @@ + } + else if (*s == '<') + { +- terminate_string (phrase, phraselen); ++ terminate_buffer (phrase, phraselen); + cur = rfc822_new_address (); + if (phraselen) + { +@@ -473,13 +476,13 @@ + + if (phraselen) + { +- terminate_string (phrase, phraselen); +- terminate_string (comment, commentlen); ++ terminate_buffer (phrase, phraselen); ++ terminate_buffer (comment, commentlen); + add_addrspec (&top, &last, phrase, comment, &commentlen, sizeof (comment) - 1); + } + else if (commentlen && last && !last->personal) + { +- terminate_string (comment, commentlen); ++ terminate_buffer (comment, commentlen); + last->personal = safe_strdup (comment); + } + #ifdef EXACT_ADDRESS >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200201012308.g01N8pMB047656>