Fri Sep 9 11:56:19 2011 UTC ()
Update cyrus-imapd23 to 2.3.17.
(add an patch to fix compilation on perl 5.14)

Changes to the Cyrus IMAP Server since 2.3.16

      * Fix for CVE-2011-3208, a remotely exploitable buffer overflow in
        nntpd


(obache)
diff -r1.11 -r1.12 pkgsrc/mail/cyrus-imapd23/Makefile
diff -r1.4 -r1.5 pkgsrc/mail/cyrus-imapd23/distinfo
diff -r1.2 -r1.3 pkgsrc/mail/cyrus-imapd23/patches/patch-aa
diff -r1.2 -r1.3 pkgsrc/mail/cyrus-imapd23/patches/patch-ab
diff -r0 -r1.1 pkgsrc/mail/cyrus-imapd23/patches/patch-perl_imap_IMAP.xs

cvs diff -r1.11 -r1.12 pkgsrc/mail/cyrus-imapd23/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/mail/cyrus-imapd23/Attic/Makefile 2011/08/14 13:25:21 1.11
+++ pkgsrc/mail/cyrus-imapd23/Attic/Makefile 2011/09/09 11:56:19 1.12
@@ -1,31 +1,23 @@ @@ -1,31 +1,23 @@
1# $NetBSD: Makefile,v 1.11 2011/08/14 13:25:21 obache Exp $ 1# $NetBSD: Makefile,v 1.12 2011/09/09 11:56:19 obache Exp $
2 2
3DISTNAME= cyrus-imapd-2.3.16 3DISTNAME= cyrus-imapd-2.3.17
4PKGREVISION= 6 
5CATEGORIES= mail 4CATEGORIES= mail
6MASTER_SITES= ftp://ftp.cyrusimap.org/cyrus-imapd/ \ 5MASTER_SITES= ftp://ftp.cyrusimap.org/cyrus-imapd/ \
7 ftp://ftp.cyrusimap.org/cyrus-imapd/OLD-VERSIONS/ \ 6 ftp://ftp.cyrusimap.org/cyrus-imapd/OLD-VERSIONS/ \
8 ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ \ 7 ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ \
9 ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/OLD-VERSIONS/imap/ \ 8 ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/OLD-VERSIONS/imap/ \
10 http://www.t.ring.gr.jp/archives/net/mail/cyrus-mail/ \ 9 http://www.t.ring.gr.jp/archives/net/mail/cyrus-mail/ \
11 ftp://ftp.t.ring.gr.jp/pub/net/mail/cyrus-mail/ 10 ftp://ftp.t.ring.gr.jp/pub/net/mail/cyrus-mail/
12PATCHFILES+= cyrus-imapd-2.3-patch-99e184a903e4f973c7358bc0c7e26fabb2237fd2 
13PATCHFILES+= cyrus-imapd-2.3-patch-82cbb4adddeafbf9998de110831ad593f94a5a06 
14SITES.cyrus-imapd-2.3-patch-99e184a903e4f973c7358bc0c7e26fabb2237fd2= \ 
15 -http://git.cyrusimap.org/cyrus-imapd/patch/?h=cyrus-imapd-2.3&id=99e184a903e4f973c7358bc0c7e26fabb2237fd2 
16SITES.cyrus-imapd-2.3-patch-82cbb4adddeafbf9998de110831ad593f94a5a06= \ 
17 -http://git.cyrusimap.org/cyrus-imapd/patch/?h=cyrus-imapd-2.3&id=82cbb4adddeafbf9998de110831ad593f94a5a06 
18PATCH_DIST_STRIP= -p1 
19 11
20MAINTAINER= obache@NetBSD.org 12MAINTAINER= obache@NetBSD.org
21HOMEPAGE= http://www.cyrusimap.org/ 13HOMEPAGE= http://www.cyrusimap.org/
22COMMENT= Cyrus IMAP server 14COMMENT= Cyrus IMAP server
23#LICENSE= original-bsd # like license 15#LICENSE= original-bsd # like license
24 16
25PKG_DESTDIR_SUPPORT= user-destdir 17PKG_DESTDIR_SUPPORT= user-destdir
26 18
27USE_TOOLS+= perl makedepend 19USE_TOOLS+= perl makedepend
28USE_PKGLOCALEDIR= yes 20USE_PKGLOCALEDIR= yes
29GNU_CONFIGURE= yes 21GNU_CONFIGURE= yes
30PERL5_CONFIGURE= no 22PERL5_CONFIGURE= no
31 23

cvs diff -r1.4 -r1.5 pkgsrc/mail/cyrus-imapd23/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/mail/cyrus-imapd23/Attic/distinfo 2011/05/15 08:40:33 1.4
+++ pkgsrc/mail/cyrus-imapd23/Attic/distinfo 2011/09/09 11:56:19 1.5
@@ -1,27 +1,22 @@ @@ -1,27 +1,22 @@
1$NetBSD: distinfo,v 1.4 2011/05/15 08:40:33 obache Exp $ 1$NetBSD: distinfo,v 1.5 2011/09/09 11:56:19 obache Exp $
2 2
3SHA1 (cyrus-imapd-2.3-patch-82cbb4adddeafbf9998de110831ad593f94a5a06) = ba6dc1db0750ec3f92b84ff5348a86ee4d3e6842 3SHA1 (cyrus-imapd-2.3.17.tar.gz) = caa82b91b98ef49cab55657d4d2a873ec3064afc
4RMD160 (cyrus-imapd-2.3-patch-82cbb4adddeafbf9998de110831ad593f94a5a06) = 295b42f4aaf89b0118b16b1bbb965e6fe19233fc 4RMD160 (cyrus-imapd-2.3.17.tar.gz) = 9485a7905cc69c040ee7b6c0d02d229237640756
5Size (cyrus-imapd-2.3-patch-82cbb4adddeafbf9998de110831ad593f94a5a06) = 509 bytes 5Size (cyrus-imapd-2.3.17.tar.gz) = 2311153 bytes
6SHA1 (cyrus-imapd-2.3-patch-99e184a903e4f973c7358bc0c7e26fabb2237fd2) = 66dc4def6323afbccdb9aae76649c44dde55c1f3 6SHA1 (patch-aa) = c3ab1ed39eb96b6d3bdbe298333c8488e3fb51e7
7RMD160 (cyrus-imapd-2.3-patch-99e184a903e4f973c7358bc0c7e26fabb2237fd2) = db083cd7e78bc5f4442f4fe6ca9ccf7315fc1fd5 7SHA1 (patch-ab) = bec4bf47154e1d526124e0b990950d6543909847
8Size (cyrus-imapd-2.3-patch-99e184a903e4f973c7358bc0c7e26fabb2237fd2) = 3913 bytes 
9SHA1 (cyrus-imapd-2.3.16.tar.gz) = decc87045bfedb449d0af3512aa228090e558036 
10RMD160 (cyrus-imapd-2.3.16.tar.gz) = fa9d1462a7d7e839da9a11f52cddfd2ab854f2be 
11Size (cyrus-imapd-2.3.16.tar.gz) = 2359349 bytes 
12SHA1 (patch-aa) = ad2080816f3ec3b4cf0eca027cf5152dadc621b1 
13SHA1 (patch-ab) = 50bf708b4e784925ea1b8f1fbaeefeb4bc1d2c09 
14SHA1 (patch-ac) = 28143b2306866ec8fb6357f7fa70f1c8baaa4c2d 8SHA1 (patch-ac) = 28143b2306866ec8fb6357f7fa70f1c8baaa4c2d
15SHA1 (patch-ad) = b9a68c7a1ab9b36e1c9bfa6d06dbc4f13bb2c99a 9SHA1 (patch-ad) = b9a68c7a1ab9b36e1c9bfa6d06dbc4f13bb2c99a
16SHA1 (patch-ae) = f72486e0e3cf941eabbe6da31b107e8aabecb112 10SHA1 (patch-ae) = f72486e0e3cf941eabbe6da31b107e8aabecb112
17SHA1 (patch-af) = f007c8d861e003f75260f0544a24ef71f8062494 11SHA1 (patch-af) = f007c8d861e003f75260f0544a24ef71f8062494
18SHA1 (patch-ag) = dd38d0c6aa45736ef142cdb4ad95f11e4c23cb03 12SHA1 (patch-ag) = dd38d0c6aa45736ef142cdb4ad95f11e4c23cb03
19SHA1 (patch-ah) = 6daa97e516a5db87579dabd11a7a6f9b83366e27 13SHA1 (patch-ah) = 6daa97e516a5db87579dabd11a7a6f9b83366e27
20SHA1 (patch-ai) = 6cc1c87972cb0fa4b170e76869817b1de1ff7aa6 14SHA1 (patch-ai) = 6cc1c87972cb0fa4b170e76869817b1de1ff7aa6
21SHA1 (patch-aj) = a2d3aba6b2bf4383740f0b1bd48cb6d4027a6d70 15SHA1 (patch-aj) = a2d3aba6b2bf4383740f0b1bd48cb6d4027a6d70
22SHA1 (patch-ak) = de75847f1ace85591109096fb3a33d78763cd479 16SHA1 (patch-ak) = de75847f1ace85591109096fb3a33d78763cd479
23SHA1 (patch-al) = 70b17f045298492978e3756d4a211f35e90b9bb9 17SHA1 (patch-al) = 70b17f045298492978e3756d4a211f35e90b9bb9
24SHA1 (patch-am) = d06b62f9ea153560d84ec013861839071e4ab700 18SHA1 (patch-am) = d06b62f9ea153560d84ec013861839071e4ab700
25SHA1 (patch-an) = b3ac809f2807a1766197958e807eb99cb42847f0 19SHA1 (patch-an) = b3ac809f2807a1766197958e807eb99cb42847f0
26SHA1 (patch-ao) = 784363a1802cbaf08e62bbbd2020fe592be0a126 20SHA1 (patch-ao) = 784363a1802cbaf08e62bbbd2020fe592be0a126
27SHA1 (patch-ap) = 4a794b806b20270e2b9b551bfae21352389e1352 21SHA1 (patch-ap) = 4a794b806b20270e2b9b551bfae21352389e1352
 22SHA1 (patch-perl_imap_IMAP.xs) = 535f2187e9270ad35481869c6ee031ed915abc38

cvs diff -r1.2 -r1.3 pkgsrc/mail/cyrus-imapd23/patches/Attic/patch-aa (expand / switch to unified diff)

--- pkgsrc/mail/cyrus-imapd23/patches/Attic/patch-aa 2011/04/14 12:29:17 1.2
+++ pkgsrc/mail/cyrus-imapd23/patches/Attic/patch-aa 2011/09/09 11:56:19 1.3
@@ -1,27 +1,27 @@ @@ -1,27 +1,27 @@
1$NetBSD: patch-aa,v 1.2 2011/04/14 12:29:17 obache Exp $ 1$NetBSD: patch-aa,v 1.3 2011/09/09 11:56:19 obache Exp $
2 2
3--- configure.in.orig 2009-12-21 13:09:10.000000000 +0000 3--- configure.in.orig 2011-09-08 18:02:23.000000000 +0000
4+++ configure.in 4+++ configure.in
5@@ -391,11 +391,11 @@ if test "$sievedir" != "no"; then 5@@ -391,11 +391,11 @@ if test "$sievedir" != "no"; then
6 AC_CHECK_LIB(fl,main) 6 AC_CHECK_LIB(fl,main)
7  7
8 AC_CHECK_HEADERS(pcreposix.h rxposix.h) 8 AC_CHECK_HEADERS(pcreposix.h rxposix.h)
9- if test "$ac_cv_header_pcreposix_h" == "yes"; then 9- if test "$ac_cv_header_pcreposix_h" == "yes"; then
10+ if test "$ac_cv_header_pcreposix_h" = "yes"; then 10+ if test "$ac_cv_header_pcreposix_h" = "yes"; then
11 LIBS="$LIBS -lpcre -lpcreposix"; 11 LIBS="$LIBS -lpcre -lpcreposix";
12 AC_DEFINE(ENABLE_REGEX, [], [Do we have a regex library?]) 12 AC_DEFINE(ENABLE_REGEX, [], [Do we have a regex library?])
13 else  13 else
14- if test "$ac_cv_header_rxposix_h" == "yes"; then 14- if test "$ac_cv_header_rxposix_h" == "yes"; then
15+ if test "$ac_cv_header_rxposix_h" = "yes"; then 15+ if test "$ac_cv_header_rxposix_h" = "yes"; then
16 LIBS="$LIBS -lrx" 16 LIBS="$LIBS -lrx"
17 AC_DEFINE(ENABLE_REGEX, [], 17 AC_DEFINE(ENABLE_REGEX, [],
18 [Do we have a regex library?]) 18 [Do we have a regex library?])
19@@ -1145,7 +1145,7 @@ dnl add perl cccdlflags when building li 19@@ -1146,7 +1146,7 @@ dnl libraries will be compiled as PIC if
20 dnl libraries will be compiled as PIC if perl requires PIC objects 20 dnl -- this is needed on NetBSD, FreeBSD, and Linux, but seems to
21 dnl -- this is needed on NetBSD and Linux, but seems to cause problems on atleast Solaris -- 21 dnl cause problems on atleast Solaris --
22 case "${target_os}" in 22 case "${target_os}" in
23- linux*|netbsd*) 23- linux*|netbsd*|freebsd*)
24+ linux*|netbsd*|dragonfly*) 24+ linux*|netbsd*|freebsd*|dragonfly*)
25 AC_MSG_CHECKING(for perl cccdlflags needed on "${target_os}") 25 AC_MSG_CHECKING(for perl cccdlflags needed on "${target_os}")
26 eval `${PERL} -V:cccdlflags` 26 eval `${PERL} -V:cccdlflags`
27 PERL_CCCDLFLAGS="$cccdlflags" 27 PERL_CCCDLFLAGS="$cccdlflags"

cvs diff -r1.2 -r1.3 pkgsrc/mail/cyrus-imapd23/patches/Attic/patch-ab (expand / switch to unified diff)

--- pkgsrc/mail/cyrus-imapd23/patches/Attic/patch-ab 2011/04/14 12:29:17 1.2
+++ pkgsrc/mail/cyrus-imapd23/patches/Attic/patch-ab 2011/09/09 11:56:19 1.3
@@ -1,31 +1,29 @@ @@ -1,31 +1,29 @@
1$NetBSD: patch-ab,v 1.2 2011/04/14 12:29:17 obache Exp $ 1$NetBSD: patch-ab,v 1.3 2011/09/09 11:56:19 obache Exp $
2 2
3--- configure.orig 2009-12-21 13:17:55.000000000 +0000 3--- configure.orig 2011-09-08 18:03:46.000000000 +0000
4+++ configure 4+++ configure
5@@ -12402,7 +12402,7 @@ fi 5@@ -7171,13 +7171,13 @@ fi
6  6
7 done 7 done
8  8
9- if test "$ac_cv_header_pcreposix_h" == "yes"; then 9- if test "$ac_cv_header_pcreposix_h" == "yes"; then
10+ if test "$ac_cv_header_pcreposix_h" = "yes"; then 10+ if test "$ac_cv_header_pcreposix_h" = "yes"; then
11 LIBS="$LIBS -lpcre -lpcreposix"; 11 LIBS="$LIBS -lpcre -lpcreposix";
12  12
13 cat >>confdefs.h <<\_ACEOF 13 $as_echo "#define ENABLE_REGEX /**/" >>confdefs.h
14@@ -12410,7 +12410,7 @@ cat >>confdefs.h <<\_ACEOF 
15 _ACEOF 
16  14
17 else 15 else
18- if test "$ac_cv_header_rxposix_h" == "yes"; then 16- if test "$ac_cv_header_rxposix_h" == "yes"; then
19+ if test "$ac_cv_header_rxposix_h" = "yes"; then 17+ if test "$ac_cv_header_rxposix_h" = "yes"; then
20 LIBS="$LIBS -lrx" 18 LIBS="$LIBS -lrx"
21  19
22 cat >>confdefs.h <<\_ACEOF 20 $as_echo "#define ENABLE_REGEX /**/" >>confdefs.h
23@@ -20173,7 +20173,7 @@ elif test "${with_perl}" != "no"; then 21@@ -10411,7 +10411,7 @@ elif test "${with_perl}" != "no"; then
24 PERL_SUBDIRS="imap" 22 PERL_SUBDIRS="imap"
25 PERL="${with_perl}" 23 PERL="${with_perl}"
26 case "${target_os}" in 24 case "${target_os}" in
27- linux*|netbsd*) 25- linux*|netbsd*|freebsd*)
28+ linux*|netbsd*|dragonfly*) 26+ linux*|netbsd*|freebsd*|dragonfly*)
29 { $as_echo "$as_me:$LINENO: checking for perl cccdlflags needed on \"${target_os}\"" >&5 27 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl cccdlflags needed on \"${target_os}\"" >&5
30 $as_echo_n "checking for perl cccdlflags needed on \"${target_os}\"... " >&6; } 28 $as_echo_n "checking for perl cccdlflags needed on \"${target_os}\"... " >&6; }
31 eval `${PERL} -V:cccdlflags` 29 eval `${PERL} -V:cccdlflags`

File Added: pkgsrc/mail/cyrus-imapd23/patches/Attic/patch-perl_imap_IMAP.xs
$NetBSD: patch-perl_imap_IMAP.xs,v 1.1 2011/09/09 11:56:19 obache Exp $

* fix compilation on perl 5.14, from cyrus-imapd-2.4 branch.

--- perl/imap/IMAP.xs.orig	2011-09-08 18:02:23.000000000 +0000
+++ perl/imap/IMAP.xs
@@ -124,10 +124,10 @@ void imclient_xs_cb(struct imclient *cli
   SAVETMPS;
   PUSHMARK(SP);
   XPUSHs(sv_2mortal(newSVpv("-client", 0)));
-  rv = newSVsv(&sv_undef);
+  rv = newSVsv(&PL_sv_undef);
   sv_setref_pv(rv, NULL, (void *) rock->client);
   XPUSHs(rv);
-  if (rock->prock != &sv_undef) {
+  if (rock->prock != &PL_sv_undef) {
     XPUSHs(sv_2mortal(newSVpv("-rock", 0)));
     XPUSHs(sv_mortalcopy(rock->prock));
   }
@@ -392,7 +392,7 @@ CODE:
 	ST(0) = sv_newmortal();
 
 	if(client->authenticated) {
-	  ST(0) = &sv_no;
+	  ST(0) = &PL_sv_no;
 	  return;
 	}
 
@@ -414,10 +414,10 @@ CODE:
 	rc = imclient_authenticate(client->imclient, mechlist, service, user,
 				   minssf, maxssf);
 	if (rc)
-	  ST(0) = &sv_no;
+	  ST(0) = &PL_sv_no;
 	else {
 	  client->authenticated = 1;
-	  ST(0) = &sv_yes;
+	  ST(0) = &PL_sv_yes;
 	}
 
 int
@@ -449,12 +449,12 @@ CODE:
 #ifdef HAVE_SSL
 	rc = imclient_starttls(client->imclient, tls_cert_file, tls_key_file, CAfile, CApath);
 	if (rc)
-	  ST(0) = &sv_no;
+	  ST(0) = &PL_sv_no;
 	else {
-	  ST(0) = &sv_yes;
+	  ST(0) = &PL_sv_yes;
 	}
 #else
-	ST(0) = &sv_no;
+	ST(0) = &PL_sv_no;
 #endif /* HAVE_SSL */
 
 void
@@ -514,7 +514,7 @@ PPCODE:
 	      (val = hv_fetch(cb, "Rock", 4, 0)))
 	    prock = *val;
 	  else
-	    prock = &sv_undef;
+	    prock = &PL_sv_undef;
 	  /*
 	   * build our internal rock, which is used by our internal
 	   * callback handler to invoke the Perl callback
@@ -525,7 +525,7 @@ PPCODE:
 	    rock = (struct xsccb *) safemalloc(sizeof *rock);
 	    /* bump refcounts on these so they don't go away */
 	    rock->pcb = SvREFCNT_inc(pcb);
-	    if (!prock) prock = &sv_undef;
+	    if (!prock) prock = &PL_sv_undef;
 	    rock->prock = SvREFCNT_inc(prock);
 	    rock->client = client;
 	    rock->autofree = 0;
@@ -652,9 +652,9 @@ PPCODE:
 	    EXTEND(SP, 1);
 	    pcb = av_shift(av);
 	    if (strcmp(SvPV(pcb, arg), "OK") == 0)
-	      PUSHs(&sv_yes);
+	      PUSHs(&PL_sv_yes);
 	    else
-	      PUSHs(&sv_no);
+	      PUSHs(&PL_sv_no);
 	    pcb = perl_get_sv("@", TRUE);
 	    sv_setsv(pcb, av_shift(av));
 	    if (av_len(av) != -1) {
@@ -687,9 +687,9 @@ PPCODE:
 	EXTEND(SP, 2);
 	PUSHs(sv_2mortal(newSViv(fd)));
 	if (writep)
-	  PUSHs(&sv_yes);
+	  PUSHs(&PL_sv_yes);
 	else
-	  PUSHs(&sv_no);
+	  PUSHs(&PL_sv_no);
 
 void
 imclient_fromURL(client,url)