summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Hadaway <raker@gentoo.org>2002-12-04 02:38:30 +0000
committerNick Hadaway <raker@gentoo.org>2002-12-04 02:38:30 +0000
commit377665da59c4a396d1f0fff618ad51695334ee7f (patch)
treee890992631c204adf67ffc393106ea74edfd6b35 /net-mail/cyrus-imap-admin
parentfixed DEPEND (diff)
downloadhistorical-377665da59c4a396d1f0fff618ad51695334ee7f.tar.gz
historical-377665da59c4a396d1f0fff618ad51695334ee7f.tar.bz2
historical-377665da59c4a396d1f0fff618ad51695334ee7f.zip
Version bump. Added a tiny perl fix.
Diffstat (limited to 'net-mail/cyrus-imap-admin')
-rw-r--r--net-mail/cyrus-imap-admin/ChangeLog7
-rw-r--r--net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.10.ebuild99
-rw-r--r--net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.9.ebuild4
-rw-r--r--net-mail/cyrus-imap-admin/files/digest-cyrus-imap-admin-2.1.101
-rw-r--r--net-mail/cyrus-imap-admin/files/imap-overflow.diff29
-rw-r--r--net-mail/cyrus-imap-admin/files/libsieve-overflow.diff53
6 files changed, 190 insertions, 3 deletions
diff --git a/net-mail/cyrus-imap-admin/ChangeLog b/net-mail/cyrus-imap-admin/ChangeLog
index 602ee52318e4..29b3091b09e4 100644
--- a/net-mail/cyrus-imap-admin/ChangeLog
+++ b/net-mail/cyrus-imap-admin/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for net-mail/cyrus-imap-admin
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imap-admin/ChangeLog,v 1.2 2002/10/11 14:27:14 raker Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imap-admin/ChangeLog,v 1.3 2002/12/04 02:38:30 raker Exp $
+
+*cyrus-imap-admin-2.1.10 (03 Dec 2002)
+
+ 03 Dec 2002; Nick Hadaway <raker@gentoo.org>
+ New ebuild to coincide with cyrus-imapd.
*cyrus-imap-admin-2.1.9 (01 Oct 2002)
diff --git a/net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.10.ebuild b/net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.10.ebuild
new file mode 100644
index 000000000000..2b5a7d3cb766
--- /dev/null
+++ b/net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.10.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.10.ebuild,v 1.1 2002/12/04 02:38:30 raker Exp $
+
+inherit perl-module
+
+S=${WORKDIR}/cyrus-imapd-${PV}
+
+DESCRIPTION="Utilities to administer a Cyrus IMAP Server (includes Perl modules)"
+HOMEPAGE="http://asg.web.cmu.edu/cyrus/imapd/"
+SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-${PV}.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~x86 -ppc -sparc -sparc64"
+
+PROVIDE="virtual/imapd"
+DEPEND="virtual/glibc
+ afs? ( >=net-fs/openafs-1.2.2 )
+ snmp? ( >=net-analyzer/ucd-snmp-4.2.3 )
+ ssl? ( >=dev-libs/openssl-0.9.6 )
+ >=sys-devel/perl-5.6.1
+ kerberos? ( >=app-crypt/krb5-1.2.5 )
+ >=sys-libs/db-3.2
+ >=sys-libs/pam-0.75
+ >=dev-libs/cyrus-sasl-2.1.2
+ >=sys-apps/tcp-wrappers-7.6
+ dev-perl/ExtUtils-MakeMaker"
+
+src_unpack() {
+
+ unpack ${A}
+ cd ${S}
+
+ patch < ${FILESDIR}/config.diff || die "patch failed"
+
+ # Kerberos libraries have changed
+ cp configure configure.orig
+ sed -e "s:-ldes:-ldes425:" \
+ < configure.orig > configure || die "patch failed"
+
+ # libsieve buffer overflow fix - bug #11537
+ patch -p1 < ${FILESDIR}/libsieve-overflow.diff || die "patch failed"
+
+ # imap buffer overflow fix - bug #11537
+ patch -p1 < ${FILESDIR}/imap-overflow.diff || die "patch failed"
+
+}
+
+src_compile() {
+
+ local myconf
+
+ use afs && myconf="--with-afs" \
+ || myconf="--without-afs"
+
+ use snmp && myconf="${myconf} --with-ucdsnmp=/usr" \
+ || myconf="${myconf} --without-ucdsnmp"
+
+ use ssl && myconf="${myconf} --with-openssl=/usr" \
+ || myconf="${myconf} --without-openssl"
+
+ use kerberos && myconf="${myconf} --with-krb --with-auth=krb" \
+ || myconf="${myconf} --without-krb --with-auth=unix"
+
+ econf \
+ --enable-listext \
+ --with-cyrus-group=mail \
+ --enable-netscapehack \
+ --with-com_err=yes \
+ --with-perl=/usr/bin/perl \
+ --enable-cyradm \
+ ${myconf} || die "bad ./configure"
+
+ # make depends break with -f... in CFLAGS
+ make depend CFLAGS="" || die "make depend problem"
+
+ cd ${S}/lib
+ make || die "compile problem"
+ cd ${S}/perl
+ make || die "compile problem"
+
+}
+
+src_install () {
+
+ echo "Installation of perl-modules"
+ export DESTDIR=${D}
+ cd ${S}/perl/imap
+ perl-module_src_prep
+ perl-module_src_compile
+ perl-module_src_install
+ cd ${S}/perl/sieve
+ perl-module_src_prep
+ perl-module_src_compile
+ perl-module_src_test
+ perl-module_src_install
+
+}
diff --git a/net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.9.ebuild b/net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.9.ebuild
index a8449eed5eff..e3070c1c4f5e 100644
--- a/net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.9.ebuild
+++ b/net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.9.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.9.ebuild,v 1.3 2002/10/20 18:52:11 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imap-admin/cyrus-imap-admin-2.1.9.ebuild,v 1.4 2002/12/04 02:38:30 raker Exp $
inherit perl-module
@@ -12,7 +12,7 @@ SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-${PV}.tar.gz"
LICENSE="as-is"
SLOT="0"
-KEYWORDS="~x86 -ppc -sparc -sparc64"
+KEYWORDS="x86 -ppc -sparc -sparc64"
PROVIDE="virtual/imapd"
DEPEND="virtual/glibc
diff --git a/net-mail/cyrus-imap-admin/files/digest-cyrus-imap-admin-2.1.10 b/net-mail/cyrus-imap-admin/files/digest-cyrus-imap-admin-2.1.10
new file mode 100644
index 000000000000..58264e839b62
--- /dev/null
+++ b/net-mail/cyrus-imap-admin/files/digest-cyrus-imap-admin-2.1.10
@@ -0,0 +1 @@
+MD5 5c7a6d97a472263aa8ade28c0d3c55cc cyrus-imapd-2.1.10.tar.gz 1636863
diff --git a/net-mail/cyrus-imap-admin/files/imap-overflow.diff b/net-mail/cyrus-imap-admin/files/imap-overflow.diff
new file mode 100644
index 000000000000..c6ee0cac3864
--- /dev/null
+++ b/net-mail/cyrus-imap-admin/files/imap-overflow.diff
@@ -0,0 +1,29 @@
+diff -urN cyrus-imapd-2.1.10/imap/imapparse.c cyrus-imapd-2.1.10-modified/imap/imapparse.c
+--- cyrus-imapd-2.1.10/imap/imapparse.c 2002-12-03 17:08:02.000000000 -0600
++++ cyrus-imapd-2.1.10-modified/imap/imapparse.c 2002-12-03 17:45:52.000000000 -0600
+@@ -97,7 +97,7 @@
+ struct buf *buf, int type)
+ {
+ int c;
+- int i;
++ unsigned int i;
+ unsigned int len = 0;
+ int sawdigit = 0;
+ int isnowait;
+@@ -228,6 +228,16 @@
+ if (c != EOF) prot_ungetc(c, pin);
+ return EOF;
+ }
++ if (len > 65536) {
++ if (isnowait) {
++ for (i = 0; i < len; i++)
++ c = prot_getc(pin);
++ }
++ prot_printf(pout, "* BAD Literal too large\r\n");
++ prot_flush(pout);
++ if (c != EOF) prot_ungetc(c, pin);
++ return EOF;
++ }
+ if (len >= buf->alloc) {
+ buf->alloc = len+1;
+ buf->s = xrealloc(buf->s, buf->alloc+1);
diff --git a/net-mail/cyrus-imap-admin/files/libsieve-overflow.diff b/net-mail/cyrus-imap-admin/files/libsieve-overflow.diff
new file mode 100644
index 000000000000..6878a3074192
--- /dev/null
+++ b/net-mail/cyrus-imap-admin/files/libsieve-overflow.diff
@@ -0,0 +1,53 @@
+diff -urN cyrus-imapd-2.1.10/sieve/addr.y cyrus-imapd-2.1.10-modified/sieve/addr.y
+--- cyrus-imapd-2.1.10/sieve/addr.y 2002-12-03 17:08:02.000000000 -0600
++++ cyrus-imapd-2.1.10-modified/sieve/addr.y 2002-12-03 17:06:38.000000000 -0600
+@@ -82,8 +82,9 @@
+ /* copy address error message into buffer provided by sieve parser */
+ int yyerror(char *s)
+ {
+-extern char addrerr[];
++extern char addrerr[512];
+
+- strcpy(addrerr, s);
++ strncpy(addrerr, s, sizeof(addrerr)-1);
++ addrerr[sizeof(addrerr)-1] = '\0';
+ return 0;
+ }
+diff -urN cyrus-imapd-2.1.10/sieve/sieve.y cyrus-imapd-2.1.10-modified/sieve/sieve.y
+--- cyrus-imapd-2.1.10/sieve/sieve.y 2002-12-03 17:08:02.000000000 -0600
++++ cyrus-imapd-2.1.10-modified/sieve/sieve.y 2002-12-03 17:06:38.000000000 -0600
+@@ -810,7 +810,7 @@
+ addrptr = s;
+ addrerr[0] = '\0'; /* paranoia */
+ if (addrparse()) {
+- sprintf(errbuf, "address '%s': %s", s, addrerr);
++ snprintf(errbuf, sizeof(errbuf), "address '%s': %s", s, addrerr);
+ yyerror(errbuf);
+ return 0;
+ }
+@@ -835,7 +835,7 @@
+ ; controls, SP, and
+ ; ":". */
+ if (!((*h >= 33 && *h <= 57) || (*h >= 59 && *h <= 126))) {
+- sprintf(errbuf, "header '%s': not a valid header", hdr);
++ snprintf(errbuf, sizeof(errbuf), "header '%s': not a valid header", hdr);
+ yyerror(errbuf);
+ return 0;
+ }
+@@ -853,14 +853,14 @@
+ if (strcmp(f, "\\seen") && strcmp(f, "\\answered") &&
+ strcmp(f, "\\flagged") && strcmp(f, "\\draft") &&
+ strcmp(f, "\\deleted")) {
+- sprintf(errbuf, "flag '%s': not a system flag", f);
++ snprintf(errbuf, sizeof(errbuf), "flag '%s': not a system flag", f);
+ yyerror(errbuf);
+ return 0;
+ }
+ return 1;
+ }
+ if (!imparse_isatom(f)) {
+- sprintf(errbuf, "flag '%s': not a valid keyword", f);
++ snprintf(errbuf, sizeof(errbuf), "flag '%s': not a valid keyword", f);
+ yyerror(errbuf);
+ return 0;
+ }