From owner-svn-ports-all@FreeBSD.ORG Mon Dec 10 11:50:34 2012 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C43369F3; Mon, 10 Dec 2012 11:50:34 +0000 (UTC) (envelope-from ume@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8EB638FC16; Mon, 10 Dec 2012 11:50:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qBABoYqF003492; Mon, 10 Dec 2012 11:50:34 GMT (envelope-from ume@svn.freebsd.org) Received: (from ume@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qBABoY0g003490; Mon, 10 Dec 2012 11:50:34 GMT (envelope-from ume@svn.freebsd.org) Message-Id: <201212101150.qBABoY0g003490@svn.freebsd.org> From: Hajimu UMEMOTO Date: Mon, 10 Dec 2012 11:50:34 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r308601 - in head/mail/cyrus-imapd24: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Dec 2012 11:50:34 -0000 Author: ume Date: Mon Dec 10 11:50:33 2012 New Revision: 308601 URL: http://svnweb.freebsd.org/changeset/ports/308601 Log: don't segfault on mailbox close with no user. Obtained from: http://git.cyrusimap.org/cyrus-imapd/commit/?h=cyrus-imapd-2.4&id=1661683d453ea444aae5832b4a2cb7fd54489672 Added: head/mail/cyrus-imapd24/files/patch-imap__statuscache_db.c (contents, props changed) Modified: head/mail/cyrus-imapd24/Makefile Modified: head/mail/cyrus-imapd24/Makefile ============================================================================== --- head/mail/cyrus-imapd24/Makefile Mon Dec 10 11:25:27 2012 (r308600) +++ head/mail/cyrus-imapd24/Makefile Mon Dec 10 11:50:33 2012 (r308601) @@ -2,7 +2,7 @@ PORTNAME= cyrus-imapd PORTVERSION= 2.4.17 -#PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= mail ipv6 MASTER_SITES= ftp://ftp.cyrusimap.org/cyrus-imapd/ \ http://cyrusimap.org/releases/ Added: head/mail/cyrus-imapd24/files/patch-imap__statuscache_db.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/cyrus-imapd24/files/patch-imap__statuscache_db.c Mon Dec 10 11:50:33 2012 (r308601) @@ -0,0 +1,31 @@ +Index: imap/statuscache_db.c +diff -u -p imap/statuscache_db.c.orig imap/statuscache_db.c +--- imap/statuscache_db.c.orig 2012-12-02 04:57:54.000000000 +0900 ++++ imap/statuscache_db.c 2012-12-10 13:17:11.621360294 +0900 +@@ -150,9 +150,11 @@ static char *statuscache_buildkey(const + + /* Build statuscache key */ + len = strlcpy(key, mailboxname, sizeof(key)); ++ /* double % is a safe separator, it can't exist in a mailboxname */ + key[len++] = '%'; + key[len++] = '%'; +- len += strlcpy(key + len, userid, sizeof(key) - len); ++ if (userid) ++ len += strlcpy(key + len, userid, sizeof(key) - len); + + *keylen = len; + +@@ -410,11 +412,9 @@ int statuscache_invalidate(const char *m + drock.db = statuscachedb; + drock.tid = NULL; + +- key = statuscache_buildkey(mboxname, "", &keylen); ++ key = statuscache_buildkey(mboxname, /*userid*/NULL, &keylen); + +- /* strip off the second NULL that buildkey added, so we match +- * the entires for all users */ +- r = DB->foreach(drock.db, key, keylen - 1, NULL, delete_cb, ++ r = DB->foreach(drock.db, key, keylen, NULL, delete_cb, + &drock, &drock.tid); + if (r != CYRUSDB_OK) { + syslog(LOG_ERR, "DBERROR: error invalidating: %s (%s)",