Google

Upgrading From Previous Versions

Upgrading from 2.1.3 or earlier

  • If you use notifications (previously notify_zephyr or notify_unix) this functionality has been seperated out to notifyd. See the notifyd manpage and example entries in master/conf.

Upgrading from 2.1.2 or earlier

  • Sieve has been updated to be compliant with RFC 3028 and draft-martin-sieve-notify-01. All notify actions and any fileinto and/or redirect actions using stringlists will have to be updated/changed.

Upgrading from 2.1.1 or 2.1.0

nothing known

Upgrading from 2.0.16 or earlier

  • You must install and configure Cyrus SASL version 2 to use Cyrus IMAP 2.1. You can download SASL at http://asg.web.cmu.edu/cyrus/download/.
  • If you use timsieved to manage Sieve scripts, and have enabled the alternate namespace and/or the Unix hierarchy separator, run the script "tools/translatesieve". This script will translate the folder names in fileinto actions.
  • Cyrus now uses the service name "sieve" instead of "imap" for the SASL profile of timsieved. If you use timsieved to manage Sieve scripts, be sure to update your password checking mechanism appropriately,
  • If you have enabled the improved directory hashing scheme, run the script "tools/rehash full". This script will rehash your existing directories.
  • The hashed deliver databases (used for duplicate delivery suppression and Sieve) have been merged into a single deliver.db database. You can safely remove the entire /var/imap/deliverdb directory structure after shutting down the server.
  • All of the Cyrus databases have been unified under a single DB3 environment. A new ctl_cyrusdb tool is now used for database recovery and checkpointing instead of ctl_mboxlist and ctl_deliver. You should replace the appropriate START and EVENTS entries in cyrus.conf with those in the sample configurations in the master/conf directory.
  • Cyrus now caches SSL/TLS sessions in an external database. If you have support for SSL/TLS, and haven't disabled session caching (see imapd.conf(5)), you should add a line like the following to the EVENTS section of cyrus.conf to prune expired sessions from the database:
       # this is only necessary if caching TLS sessions
       tlsprune      cmd="tls_prune" period=1440
    

Upgrading from 2.0.6, 2.0.7, 2.0.8, or 2.0.9 or earlier

  • If you use timsieved to manage Sieve scripts, run the script "tools/upgradesieve". timsieved now uses symlinks instead of hard links.

Upgrading from a previous 2.0 version to 2.0.6

Warning: You do not need to follow these instructions if you're upgrading from version 1.6.
  • You can now pick whether to use Berkeley db to store seen state, the subscription files, and the mailboxes file or a flat text file, at compile time only. (Look in imap/seen_db.c and imap/mboxlist.h.)
  • The format of the mailboxes file and seen state has changed. It is not possible to preserve seen state, but upgrade the mailboxes file as follows:
    1. Run ctl_mboxlist -d > mboxlist.temp to dump existing mailboxes.
    2. Remove old database files: rm mailboxes.db db/* user/*/*.seen
    3. With the new version of ctl_mboxlist, run ctl_mboxlist -u < mboxlist.temp.

Upgrading from 1.6.22 or 1.6.24

Warning: Cyrus imapd 2.0 will automatically convert on-disk file formats as the server is used. It is not possible to run 1.6 after 2.0 has been used on a mail spool without reconstructing every mailbox.
  • Create some extra directories and remove the duplicate delivery database:
       mkdir /var/imap/db
       mkdir /var/imap/socket
       chown cyrus /var/imap/db /var/imap/socket
       rm -rf /var/imap/deliverdb
    
  • Convert mailboxes file to Berkeley DB:
       su cyrus
       cd /var/imap
       ctl_mboxlist -u < mailboxes
       ctl_cyrusdb -c
    
    Please keep a backup of your mailboxes file. You can dump an old-style mailboxes file by using ctl_mboxlist -d.
  • remove "/etc/inetd.conf" entries. The imap and popd3d lines need to be removed from /etc/inetd.conf and inetd needs to be restarted.
  • master process configuration: You'll need to configure the master process Cyrus process and ensure that it starts on boot. see this section of the configuration instructions.
  • MTA configuration. You will have to reconfigure your MTA to speak to lmtpd. See this section of the configuration document.
  • cyrus.seen conversion. The cyrus.seen file will be automatically upgraded as users read mail. After some time, you might want to delete the cyrus.seen file in each mailbox; it is superceded by the user/joe.seen file.
  • cyrus.index conversion. The cyrus.index file will be automatically upgraded the first time each mailbox is SELECTed.
  • Netnews conversion. The netnews programs are no longer built. If you are using netnews, you will need to apply the diff in the netnews/ directory to INN or see if INN is now distributing those changes. You will also want to run remotepurge on a regular basis to purge old netnews posts.

Upgrading from 1.6.13

  • Upgrading from the Cyrus IMAP server version 1.6.13 or earlier: if you use Sieve, you should run the "tools/upgradesieve" script, as the format of the "/usr/sieve" directory has changed slightly.

    timsieved, included in this release, will handle maintenance of Sieve scripts.

  • Upgrading from the Cyrus IMAP server version 1.6.10 or earlier: if you export news via the IMAP server, you'll have to change your "newsfeeds" file to contain
    collectnews!:*:Tf,WR:collectnews
    The format of the input to collectnews has changed.

    Duplicate delivery suppression is now required for Sieve.

  • Upgrading from the Cyrus IMAP server version 1.6.1 or earlier (including 1.5.x!): the quota and user directories are now hashed by the first character of the username. This is to reduce the number of entries in any given directory. It doesn't do a great job (and in some cases it will do a really poor job) but as a quick hack it shouldn't make things worse. Optionally, the data partitions can also be hashed by enabling the "hashimapspool" option.

    You must hash your directories using the "dohash" script in the tools subdirectory. (If you want to hash your mail spool, be sure to set "hashimapspool" before running "dohash".) This must be run as the Cyrus user. Be sure to stop mail service while converting. Doing this in single user mode is probably the safest.

Upgrading from 1.5

  • Upgrading from the Cyrus IMAP server version 1.5 or earlier: libsasl is now required. Configuring SASL to work may be a chore, especially if you use shadow passwords.
  • An ANSI C compiler is now required. gcc should work fine and can be acquired from http://www.gnu.org/software/gcc/gcc.html.
  • Make sure to read the upgrading instructions under 1.6 above.
  • Upgrading from 1.5.14 or earlier requires deleting the delivered database. Remove the file delivered.db in the configdirectory and make a directory called "deliverdb" in the configdirectory. This may cause some duplicates to get through.
  • Upgrading from 1.5.14 or earlier requires removing the PTS cache database (if the AFS PTS group support is used, which is not the default). The PTS cache is in /var/ptclient/ptscache.db, and you should remove it. This is because the format for the PTS cache for IMSP has changed. If you use AFS ACLs, IMSPd, and IMAPd on the same machine, make sure you have version 1.5a5 of the IMSP server for this version of the IMAP server. (If you don't have IMSP, or AFS, don't worry about it.)

last modified: $Date: 2002/06/05 02:27:35 $