summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrej Kacian <ticho@gentoo.org>2004-11-30 01:16:10 +0000
committerAndrej Kacian <ticho@gentoo.org>2004-11-30 01:16:10 +0000
commitc8a0d5ed9bb7642983217081ee90b4654d9108f7 (patch)
tree760f4847d01477b1d939312fbada5379e892a0c3 /mail-client
parentDoesnt actually require shadow #67815. (diff)
downloadgentoo-2-c8a0d5ed9bb7642983217081ee90b4654d9108f7.tar.gz
gentoo-2-c8a0d5ed9bb7642983217081ee90b4654d9108f7.tar.bz2
gentoo-2-c8a0d5ed9bb7642983217081ee90b4654d9108f7.zip
Apply patch to relax length condition on subject field. Closes #72861.
Diffstat (limited to 'mail-client')
-rw-r--r--mail-client/pine/ChangeLog9
-rw-r--r--mail-client/pine/Manifest13
-rw-r--r--mail-client/pine/files/digest-pine-4.61-r42
-rw-r--r--mail-client/pine/files/pine-4.61-subjectlength.patch59
-rw-r--r--mail-client/pine/pine-4.61-r4.ebuild158
5 files changed, 230 insertions, 11 deletions
diff --git a/mail-client/pine/ChangeLog b/mail-client/pine/ChangeLog
index 6ebe0048ba74..6a4a70ea3ada 100644
--- a/mail-client/pine/ChangeLog
+++ b/mail-client/pine/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for mail-client/pine
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-client/pine/ChangeLog,v 1.27 2004/11/26 10:18:10 ticho Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-client/pine/ChangeLog,v 1.28 2004/11/30 01:16:10 ticho Exp $
+
+*pine-4.61-r4 (30 Nov 2004)
+
+ 30 Nov 2004; Andrej Kacian <ticho@gentoo.org>
+ +files/pine-4.61-subjectlength.patch, +pine-4.61-r4.ebuild:
+ Apply patch to relax length condition on subject field. Patch submitted by
+ Kolbjorn Barmen <kolla@uninett.no>. Closes bug #72861.
26 Nov 2004; Andrej Kacian <ticho@gentoo.org>
-files/pine-4.33-whitespace.patch, -files/pine-4.40-boguswarning.patch,
diff --git a/mail-client/pine/Manifest b/mail-client/pine/Manifest
index 3ce161d703cd..dc180086ee58 100644
--- a/mail-client/pine/Manifest
+++ b/mail-client/pine/Manifest
@@ -1,11 +1,10 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
MD5 019d23752e126fa0918b1ae27acaa95c ChangeLog 12283
MD5 9ba30318f121171a155a73e291914831 pine-4.61-r2.ebuild 4783
MD5 5721b86fd871bdfab77231abc6e02f68 metadata.xml 161
MD5 35b1dff40cc3317314c7ece3c1538451 pine-4.61-r3.ebuild 4787
+MD5 8bcc9d5e6f924553e61b958b2097433f pine-4.61-r4.ebuild 4810
MD5 8f1d4661a745dab7f2113e7068c6e04e files/digest-pine-4.61-r3 139
+MD5 8f1d4661a745dab7f2113e7068c6e04e files/digest-pine-4.61-r4 139
MD5 3eb735b51e3192ee78b7b556e83256b3 files/transparency.patch 447
MD5 4c1ce6a4925676bcfe5c53a2cf05b7f7 files/digest-pine-4.61-r2 139
MD5 b0aee0d39a268c8f0c85e774f7408509 files/pine-4.21-passwd.patch 448
@@ -19,10 +18,4 @@ MD5 de52689ee75160c695bf4659ee956845 files/imap-4.7c2-flock_4.60.patch 537
MD5 36fbad9153bc6b61adb00767d199d284 files/imap-4.7c2-flock+maildir.patch 551
MD5 3803bda87f35ee20456ab2b363460db9 files/pine-4.31-segfix.patch 460
MD5 dadc9e153e023ad3b24d8cefd4bf5a2b files/pine-4.56-passfile.patch 504
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.6 (GNU/Linux)
-
-iD8DBQFBpwLr10xuJSrg3/sRAoiKAJ9a2q8rThO7OZ6Wj1dCFUeySgauXQCfTR0T
-x4R9KofxQyGwIX49CVSCUf8=
-=RoCx
------END PGP SIGNATURE-----
+MD5 1057540bd7b50f92e88b3af6f8d69c99 files/pine-4.61-subjectlength.patch 2363
diff --git a/mail-client/pine/files/digest-pine-4.61-r4 b/mail-client/pine/files/digest-pine-4.61-r4
new file mode 100644
index 000000000000..d7429f16d1a9
--- /dev/null
+++ b/mail-client/pine/files/digest-pine-4.61-r4
@@ -0,0 +1,2 @@
+MD5 885c6aa4f4f16fcb83a49ef6c025307e pine4.61.tar.bz2 3032253
+MD5 f8a98b202010698fc680e1ff06b8e425 pine-4.61-r2-chappa-all.patch.gz 160672
diff --git a/mail-client/pine/files/pine-4.61-subjectlength.patch b/mail-client/pine/files/pine-4.61-subjectlength.patch
new file mode 100644
index 000000000000..2ed9e62ef272
--- /dev/null
+++ b/mail-client/pine/files/pine-4.61-subjectlength.patch
@@ -0,0 +1,59 @@
+--- pine/strings.c_orig 2004-03-12 10:48:17.783992528 +0100
++++ pine/strings.c 2004-03-12 11:01:37.929351944 +0100
+@@ -2912,7 +2912,7 @@ int rfc1522_token PROTO((char *,
+ char **));
+ int rfc1522_valtok PROTO((int));
+ int rfc1522_valenc PROTO((int));
+-int rfc1522_valid PROTO((char *, char **, char **, char **,
++int rfc1522_valid PROTO((char *, int, char **, char **, char **,
+ char **));
+ char *rfc1522_8bit PROTO((void *, int));
+ char *rfc1522_binary PROTO((void *, int));
+@@ -2949,7 +2949,7 @@ rfc1522_decode(d, len, s, charset)
+
+ while(s && (sw = strstr(s, RFC1522_INIT))){
+ /* validate the rest of the encoded-word */
+- if(rfc1522_valid(sw, &cset, &enc, &txt, &ew)){
++ if(rfc1522_valid(sw, 1, &cset, &enc, &txt, &ew)){
+ if(!rv)
+ rv = d; /* remember start of dest */
+
+@@ -3222,10 +3222,15 @@ rfc1522_valenc(c)
+
+ /*
+ * rfc1522_valid - validate the given string as to it's rfc1522-ness
++ * if relaxchk is true, double the maximum length of an encoded word.
++ * this is necessary to decode overlong encoded words generated by
++ * numerous incompliant implementations of RFC 2047 (1522).
++
+ */
+ int
+-rfc1522_valid(s, charset, enc, txt, endp)
++rfc1522_valid(s, relaxchk, charset, enc, txt, endp)
+ char *s;
++ int relaxchk;
+ char **charset;
+ char **enc;
+ char **txt;
+@@ -3237,7 +3242,11 @@ rfc1522_valid(s, charset, enc, txt, endp
+ rv = rfc1522_token(c = s+RFC1522_INIT_L, rfc1522_valtok, RFC1522_DLIM, &e)
+ && rfc1522_token(++e, rfc1522_valtok, RFC1522_DLIM, &t)
+ && rfc1522_token(++t, rfc1522_valenc, RFC1522_TERM, &p)
+- && p - s <= RFC1522_MAXW;
++ && p - s <= RFC1522_MAXW * (relaxchk ? 2 : 1);
++ /*
++ * relax the length condition by doubling the max length of an
++ * encoded word. It's is needed for some longer encoded words.
++ */
+
+ if(charset)
+ *charset = c;
+@@ -3288,7 +3297,7 @@ rfc1522_encode(d, len, s, charset)
+ }
+ else if(*p == RFC1522_INIT[0]
+ && !strncmp((char *) p, RFC1522_INIT, RFC1522_INIT_L)){
+- if(rfc1522_valid((char *) p, NULL, NULL, NULL, (char **) &q))
++ if(rfc1522_valid((char *) p, 0, NULL, NULL, NULL, (char **) &q))
+ p = q + RFC1522_TERM_L - 1; /* advance past encoded gunk */
+ }
+ else if(*p == ESCAPE && match_escapes((char *)(p+1))){
diff --git a/mail-client/pine/pine-4.61-r4.ebuild b/mail-client/pine/pine-4.61-r4.ebuild
new file mode 100644
index 000000000000..d6acca591d9e
--- /dev/null
+++ b/mail-client/pine/pine-4.61-r4.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-client/pine/pine-4.61-r4.ebuild,v 1.1 2004/11/30 01:16:10 ticho Exp $
+
+inherit eutils
+
+# Using this ugly hack, since we're using chappa patch revision 1 (see #59573)
+CHAPPA_PF="${P}-r2"
+
+DESCRIPTION="A tool for reading, sending and managing electronic messages."
+HOMEPAGE="http://www.washington.edu/pine/
+ http://www.math.washington.edu/~chappa/pine/patches/"
+SRC_URI="ftp://ftp.cac.washington.edu/pine/${PN}${PV}.tar.bz2
+ mirror://gentoo/${CHAPPA_PF}-chappa-all.patch.gz"
+# ipv6? (
+# http://www.ngn.euro6ix.org/IPv6/${PN}/${P}-v6-20031001.diff
+# http://www.ngn.euro6ix.org/IPv6/${PN}/readme.${P}-v6-20031001
+# )"
+
+LICENSE="PICO"
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~sparc ~alpha ~amd64 ~ppc-macos"
+#IUSE="ipv6 maildir ssl ldap kerberos passfile"
+IUSE="ssl ldap kerberos pam passfile debug"
+
+DEPEND="virtual/libc
+ >=sys-apps/sed-4
+ >=sys-libs/ncurses-5.1
+ pam? ( >=sys-libs/pam-0.72 )
+ ssl? ( dev-libs/openssl )
+ ldap? ( net-nds/openldap )
+ kerberos? ( app-crypt/mit-krb5 )"
+RDEPEND="${DEPEND} app-misc/mime-types"
+
+S="${WORKDIR}/${P/-/}"
+
+src_unpack() {
+ unpack ${A} && cd "${S}"
+
+ # Various fixes and features.
+ epatch "${WORKDIR}/${CHAPPA_PF}-chappa-all.patch"
+ # Fix Home and End keys. Seems to work anyway?
+ #epatch "${FILESDIR}/pine-4.21-fixhome.patch"
+ # UTF8 support. Not ported. 4.60 has utf8 some conversion.
+ #epatch "${DISTDIR}/${PN}${PV}-utf8-to-singlebyte.patch"
+ # Fix flock() emulation.
+ cp "${FILESDIR}/flock.c" "${S}/imap/src/osdep/unix"
+ # Build the flock() emulation.
+ epatch "${FILESDIR}/imap-4.7c2-flock_4.60.patch"
+ if use ldap ; then
+ # Link to shared ldap libs instead of static.
+ epatch "${FILESDIR}/pine-4.30-ldap.patch"
+ mkdir "${S}/ldap"
+ ln -s /usr/lib "${S}/ldap/libraries"
+ ln -s /usr/include "${S}/ldap/include"
+ fi
+# if use ipv6 ; then
+# epatch "${DISTDIR}/${P}-v6-20031001.diff"
+# fi
+ if use passfile ; then
+ #Is this really the correct place to define it?
+ epatch "${FILESDIR}/pine-4.56-passfile.patch"
+ fi
+
+ # Something from RedHat.
+ epatch "${FILESDIR}/pine-4.31-segfix.patch"
+ # Create lockfiles with a mode of 0600 instead of 0666.
+ epatch "${FILESDIR}/pine-4.40-lockfile-perm.patch"
+ # Add missing time.h includes.
+ epatch "${FILESDIR}/imap-2000-time.patch"
+ # Bug #23336 - makes pine transparent in terms that support it.
+ epatch "${FILESDIR}/transparency.patch"
+
+ # Bug #72861 - relaxes subject length for base64-encoded subjects
+ epatch "${FILESDIR}/pine-4.61-subjectlength.patch"
+
+ if use debug ; then
+ sed -e "s:-g -DDEBUG -DDEBUGJOURNAL:${CFLAGS} -g -DDEBUG -DDEBUGJOURNAL:" \
+ -i "${S}/pine/makefile.lnx" || die "sed pine/makefile.lnx failed"
+ sed -e "s:-g -DDEBUG:${CFLAGS} -g -DDEBUG:" \
+ -i "${S}/pico/makefile.lnx" || die "sed pico/makefile.lnx failed"
+ else
+ sed -e "s:-g -DDEBUG -DDEBUGJOURNAL:${CFLAGS}:" \
+ -i "${S}/pine/makefile.lnx" || die "sed pine/makefile.lnx failed"
+ sed -e "s:-g -DDEBUG:${CFLAGS}:" \
+ -i "${S}/pico/makefile.lnx" || die "sed pico/makefile.lnx failed"
+ fi
+
+ sed -e "s:/usr/local/lib/pine.conf:/etc/pine.conf:" \
+ -i "${S}/pine/osdep/os-lnx.h" || die "sed os-lnx.h failed"
+}
+
+src_compile() {
+ local myconf
+ if use ssl ; then
+ myconf="${myconf} SSLDIR=/usr SSLTYPE=unix SSLCERTS=/etc/ssl/certs"
+ sed -e "s:\$(SSLDIR)/certs:/etc/ssl/certs:" \
+ -e "s:\$(SSLCERTS):/etc/ssl/certs:" \
+ -e "s:-I\$(SSLINCLUDE) ::" \
+ -i "${S}/imap/src/osdep/unix/Makefile" || die "sed Makefile failed"
+ else
+ myconf="${myconf} NOSSL"
+ fi
+ if use ldap ; then
+ ./contrib/ldap-setup lnp lnp
+ myconf="${myconf} LDAPCFLAGS=-DENABLE_LDAP"
+ else
+ myconf="${myconf} NOLDAP"
+ fi
+ if use kerberos ; then
+ myconf="${myconf} EXTRAAUTHENTICATORS=gss"
+ fi
+ if use pam ; then
+ target=lnp
+ else
+ target=slx
+ fi
+
+ ./build ${myconf} ${target} || die "compile problem"
+}
+
+src_install() {
+ dobin bin/pine bin/pico bin/pilot bin/mtest bin/rpdump bin/rpload \
+ mailutil/mailutil
+
+ # Only mailbase should install /etc/mailcap
+# donewins doc/mailcap.unx mailcap
+
+ doman doc/pine.1 doc/pico.1 doc/pilot.1 doc/rpdump.1 doc/rpload.1 \
+ imap/src/mailutil/mailutil.1
+ dodoc CPYRIGHT README doc/brochure.txt doc/tech-notes.txt
+# if use ipv6 ; then
+# dodoc "${DISTDIR}/readme.${P}-v6-20031001"
+# fi
+
+ docinto imap
+ dodoc imap/docs/*.txt imap/docs/CONFIG imap/docs/RELNOTES
+
+ docinto imap/rfc
+ dodoc imap/docs/rfc/*.txt
+
+ docinto html/tech-notes
+ dohtml -r doc/tech-notes/
+}
+
+pkg_postinst() {
+ einfo
+ einfo "This build of Pine has Maildir support built in as"
+ einfo "part of the chappa-all patch."
+ einfo
+ einfo "If you have a maildir at ~/Maildir it will be your"
+ einfo "default INBOX. The path may be changed with the"
+ einfo "\"maildir-location\" setting in Pine."
+ einfo
+ einfo "If you don't have any maildirs Pine works as before"
+ einfo "with the INBOX at /var/spool/mail/."
+ einfo
+}