Changes to the Cyrus IMAP Server
Changes to the Cyrus IMAP Server Since Version 1.3
- Implemented the "reconstruct -m" command, for
reconstructing the mailboxes file. IMPORTANT: it is
necessary to run the command "reconstruct -m" as the cyrus
user after upgrading the Cyrus IMAP software from version 1.3 or
earlier. We recommend you make a backup copy of the
mailboxes file in the configuration directory before
performing the conversion.
- Mailbox names are now case
sensitive, not case insensitive. "INBOX" is the exception, and is treated as being case-insensitive.
- Personal mailboxes now appear to their owners as being under the
"INBOX." hierarchy. For example, the mailbox
"user.bovik.work" appears to the user "bovik" as
"INBOX.work". The user may still refer to the mailbox with the name
"user.bovik.work".
- Previously, the code used "anybody" as the name of the
group that all users are in, but the documentation used the name
"anyone". Changed the code to match the documentation.
The name "anybody" will be canonicalized to the name
"anyone".
- The install document now gives different recommended locations
for the server databases. The recommended location of the
configuration directory changed from "/usr/cyrus" to
"/var/imap" and the recommended location of the default
partition directory changed from "/usr/spool/cyrus" to
"/var/spool/imap". It is NOT necessary to change the
locations of these directories when upgrading from version 1.3 or
earlier of the Cyrus IMAP server software. If you do wish to change
the locations of these directories to match the new recommendations,
simply rename the directories and change the appropriate values in
your /etc/imapd.conf file.
- Created a "make install" rule. See the installation document for all the new
corresponding configure options. Note the recommended
location of the "imapd", "pop3d", and
"deliver" programs has changed, this change needs to be
reflected in the "inetd.conf" and "sendmail.cf"
files.
- New "login_unix_pwcheck" module and "pwcheck"
daemon, for improved shadow password support. See the
"pwcheck/README.pwcheck" file in the distribution for details.
- Renamed the "login_unix_shadow" module to
"login_unix_getspnam".
- Added a mail notification mechanism, using Zephyr.
- Added a feature to automatically create user IMAP accounts.
Controlled by the "autocreatequota" config option.
- Added the "logtimestamps" config option, for putting
timestamp information into protocol telemetry logs.
- Beefed up the Kerberos checks in Configure to ensure the DES library
routines exist.
- On some systems, the "echo" command with no arguments
emits a newline. Changed the installation document to instead use the
"true" command to create the "mailboxes" file.
- Store a redundant copy of a mailbox's ACL in the cyrus.header
file, so "reconstruct -m" may later use it as a backup.
- Had to remove the declaration of tcl_RcFileName for
the latest version of Tcl.
- Make much more extensive use of memory mapping. Replace the
binary search module with one that searches a memory mapped area.
- Replaced the yacc-based RFC822 address parser with a hand-coded one.
- Replaced the et (error table) libary with a version that doesn't
require lex or yacc. Remove the lex/yacc checking from Configure.
- Safety feature: most programs now refuse to run as root.
- Bug fix: Issue [TRYCREATE] tag on COPY command when appropriate.
- Bug fix: The quoted-printable decoder wasn't ignoring trailing
whitespace, as required by MIME.
- Bug fix: Don't spew cascade errors if the server gets an EOF
during/after reading an APPEND literal.
- Bug fix: gmtmoff_gmtime.c was returning results with the wrong sign.
- Bug fix: imclient_send was appending spaces to %d and %u and the
response parser was not handling responses that did not contain a
space after the keyword.
- Bug fix: rmnews wasn't removing some (un-indexed) article files
correctly.
- Completely disabled the dropoff code for now. It will be
completely replaced when IMSP integration is implemented
- Added workaround for the Linux mkdir() problem.
- In Configure, use a more direct test for a working shared-memory mmap
- In collectnews, avoid O(n**2) behavior when processing articles
that have already expired.
- Bug fix: append_addseen() would screw up if no messages were
previously seen.
- Added the CMU-specific amssync and cmulocal directories.
- Use memmove instead of bcopy.
- Implemented the first pass of SMTP/MULT support in deliver.
- Added cacheid parameter to auth_setid(), for AFS PT server support.
Changes to the Cyrus IMAP Server Since Version 1.2
- Fixed bug in character set code that broke text searches. Sites
which care about searching headers need to reconstruct their existing
mailboxes.
Changes to the Cyrus IMAP Server Since Version 1.1-Beta
- Add support for UIDVALIDITY special information token.
- Add syncnews and arbitron programs.
- Redo duplicate delivery elimination in deliver.
- Bug fixed: Must re-read files after acquiring a lock. Cannot
trust the mtime of a file to increment when writing the file--file
could be written to multiple times in the same second.
- Bug fixed: EXAMINE command should not affect
\Recent status.
- Update the user's \Recent high-water-mark when we report
new messages.
- Portability changes
- Upgrade to autoconf 2.1
- Allow privacy to be turned off at compile-time with
--disable-privacy configure switch.
- Fix typo in cyradm preventing "all" from being
recognized.
- Include map_private.c memory mapping module for systems like HPUX
which have half-working mmap() implementations.
- Switch to using UTF-8 for internal search format. Sites which
care about internationalized searching of headers need to reconstruct
all their existing mailboxes.
- Fix some errors in the iso-8859-* tables.
- Add and correct a bunch of case-independence mappings in the
character tables.
- First pass at implementing the STATUS extension; disabled for
release.
- First pass at implementing IMAP/IMSP server integration. Not
ready for general use.
- Add new_cred and free_cred mechanisms to
authentication modules.
- Don't complain when doing "reconstruct -r foo" and
foo isn't a mailbox.
- Add IMAP_QUOTAROOT_NONEXISTENT error code.
- Bug fix: Avoid divide by zero when quota is zero
- Bug fix: In an error case of the ACL handling code, we have to
restore tab before breaking out of loop.
- Fix file descriptor leak in quota system.
- Change a bunch of int variables to unsigned.
- Better error reporting on reads that end up short.
Changes to the Cyrus IMAP Server Since Version 1.0-Beta
- Improved installation document.
- New "cyradm" administrative client.
- Changed the syslog facility from "local4" to "local6".
- Removed the renounce setuid check in "deliver". The "deliver" program
must now be non-executable by other.
- Fixed a typo in the parsing of SEARCH DELETED.
(This bug constantly got tripped by newer C-clients.)
- Redesigned the implementation of SEARCH CHARSET.
Sites that wish to search for non-ASCII characters
in the headers of existing mailboxes must run reconstruct
on all their mailboxes after upgrading to this version.
- Added AUTH and KPOP support to the POP3 server.
- Added search support for the ISO-2022-JP character set.
- Replaced the search engine with a partial Boyer-Moore algorithm.
- Special-case optimized searching US-ASCII text.
- Fixed a bug which caused the message parser to spin-loop on a
particular degenerate invalid-MIME case.
- Fixed a performance bug in the message parser.
- Tracked last-minute changes to the IMAP4 protocol.
- Fixed a bug in UNSUBSCRIBE which caused too many subscriptions to
be removed.
- Added a bunch more "configure" options.
- Ported to HPUX.
- Fixed a bug in the LIST/LSUB \Noselect code.
- Fixed bug in the globbing code which caused the "*%" pattern to work
incorrectly.
- Client-side Kerberos support is now conditionalized on
HAVE_ACTE_KRB, which is set by configure.
- Fixed some invalid buffer-alignment assumptions in the Kerberos code.
- Made the lexers compatible with flex. Configure now looks for and
prefers to use flex and bison/byacc.
- Made the IMAP server check for the existence of the mailboxes file
upon startup, in order to give a more informative error message for
this common configuration error.
- Fixed other minor bugs.
Return to the Cyrus IMAP Server Home Page