Cyrus IMAPd 2.3.16 Released

Simon Matter simon.matter at
Tue Dec 22 16:33:45 EST 2009

> Hi,
> I have update my Cyrus installation from 2.3.15 to 2.3.16.
> I know have this following error :
>   IOERROR: opening /var/imap/user_deny.db: No such file or directory
> How can I correct this ?

You could change you syslog to not log debug messages.

> Modify imap configuration file ?


> Create the user_deny.db, if yes how ?

You could simply create an empty file ${configdir}/user_deny.db
But, then new messages will show up in syslog for every login about
reading the user_deny db.

Because I can't easily change syslog in my RPMS I decided to do the
1) change the code so it will create the db if it doesn't exist.
2) comment out the syslog message which simply tells that the db is being

I did the same with the statuscache db some time ago and decided to do it
again here :)

I understand my "solution" has the drawback that it 1) creates the db even
if it's not used and 2) it may add some extra cycles because it tries to
read the empty db. Doesn't look perfect but works.


> Le 21/12/2009 22:39, Ken Murchison a écrit :
>> Simon Matter wrote:
>>>> I am pleased to announce the release of Cyrus IMAPd 2.3.16.  This
>>>> release should be considered production quality.  Major changes in the
>>>> release are the following:
>>>> - Added 'user_deny.db' to be able to selectively deny users access to
>>>>     Cyrus services.
>>> While upgrading my rpms I wanted to see where the db is so I can handle
>>> it
>>> in the package. But I can't find it and even stracing didn't show that
>>> the
>>> file was searched for. Do we have to enable it at compile time or are
>>> there other options beside userdeny_db to configure it?
>>> Thanks for any hint.
>> Its in configdir, along with the rest of the dbs.  Its not created by
>> default, since its not required for normal operation.
>> Actually, its not the most efficient implementation right now, since it
>> does an open/read/close per login.  I need to rework it so that it does
>> the open at service init time, leaves the db open for reading for the
>> each process reuse, and closes it at service shutdown time.  This will
>> take a little work, because we plan on using a remote MySQL database at
>> CMU, so the actual read function will also have to reconnect if
>> necessary.
> --
> ----------------------------------------------------------------------
> * E-Mail   : mercier.frederic at
> * Site Web :
> ----------------------------------------------------------------------
> ----
> Cyrus Home Page:
> Cyrus Wiki/FAQ:
> List Archives/Info:

More information about the Info-cyrus mailing list