> I'd like to announce the releases of Cyrus IMAPd 2.2.13p1 and 2.3.15.
> These releases should both be considered production quality. These
> releases are being made at this time to fix the potential buffer
> overflow vulnerability described in CERT VU#336053:
> http://www.kb.cert.org/vuls/id/336053
>
> The 2.2.13p1 release is no different from 2.2.13 other than the buffer
> overflow fix. The 2.3.15 release contains several other non-critical
> bugfixes and feature enhancements. For full details, please see
> doc/changes.html and doc/install-upgrade.html which are included in the
> distribution.
>
> I'd personally like to thank Bron Gondwana of Fastmail.fm for finding
> and fixing the buffer overflow, as well as his numerous other
> contributions to the 2.3.15 release.
Hello Cyrus IMAP team,
Thanks for the new release. While upgrading our RPMs I found two small
issues:
1) Old (ancient) GCC doesn't like some of the new code. A patch to fix the
issue is attached.
2) Old (ancient) zlib doesn't have the deflateBound() function. Looks like
at least zlib >= 1.2.x is needed. Maybe the zlib detection could also
check the version of the deflateBound() function?
For those interested, the package is available in the usual place
http://www.invoca.ch/pub/packages/cyrus-imapd/
Regards,
Simon
diff -Naur cyrus-imapd-2.3.15.orig/imap/mbexamine.c cyrus-imapd-2.3.15/imap/mbexamine.c
--- cyrus-imapd-2.3.15.orig/imap/mbexamine.c Fri Aug 28 15:53:25 2009
+++ cyrus-imapd-2.3.15/imap/mbexamine.c Wed Sep 9 19:19:29 2009
@@ -218,6 +218,7 @@
struct mailbox mailbox;
struct index_record record;
cacherecord crec;
+ int j;
signals_poll();
@@ -321,7 +322,6 @@
for(i=1; i<=mailbox.exists; i++) {
mailbox_read_index_record(&mailbox, i, &record);
- int j;
if(wantvalue) {
if(!wantuid) {
@@ -416,6 +416,8 @@
struct mailbox mailbox;
struct index_record record;
uquota_t total = 0;
+ char fnamebuf[MAILBOX_FNAME_LEN];
+ struct stat sbuf;
signals_poll();
@@ -450,8 +452,6 @@
for(i=1; i<=mailbox.exists; i++) {
mailbox_read_index_record(&mailbox, i, &record);
- char fnamebuf[MAILBOX_FNAME_LEN];
- struct stat sbuf;
strlcpy(fnamebuf, mailbox.path, sizeof(fnamebuf));
strlcat(fnamebuf, "/", sizeof(fnamebuf));
diff -Naur cyrus-imapd-2.3.15.orig/imap/mupdate.c cyrus-imapd-2.3.15/imap/mupdate.c
--- cyrus-imapd-2.3.15.orig/imap/mupdate.c Thu Apr 30 20:20:58 2009
+++ cyrus-imapd-2.3.15/imap/mupdate.c Wed Sep 9 19:28:32 2009
@@ -1163,6 +1163,7 @@
int connflag;
int new_fd;
int ret = 0;
+ struct conn *ni;
/* Lock Worker Count Mutex */
pthread_mutex_lock(&worker_count_mutex); /* LOCK */
@@ -1299,7 +1300,6 @@
/* Free all connections on idle_connlist. Note that
* any connection not currently on the idle_connlist will
* instead be freed when they drop out of their docmd() below */
- struct conn *ni;
pthread_mutex_lock(&idle_connlist_mutex); /* LOCK */
for(C=idle_connlist; C; C = ni) {
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html