File: 2.1.x.html

package info (click to toggle)
cyrus-imapd 3.10.2-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 59,108 kB
  • sloc: ansic: 284,386; perl: 137,327; javascript: 9,659; sh: 5,730; yacc: 2,565; makefile: 2,188; cpp: 2,147; lex: 662; xml: 621; awk: 303; python: 272; asm: 262
file content (309 lines) | stat: -rw-r--r-- 21,110 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Cyrus IMAP 2.1.x Release Notes &mdash; Cyrus IMAP 3.10.2 documentation</title>
      <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
      <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
      <link rel="stylesheet" href="../../../../_static/graphviz.css" type="text/css" />
      <link rel="stylesheet" href="../../../../_static/cyrus.css" type="text/css" />
  
        <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
        <script src="../../../../_static/jquery.js"></script>
        <script src="../../../../_static/underscore.js"></script>
        <script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
        <script src="../../../../_static/doctools.js"></script>
        <script src="../../../../_static/sphinx_highlight.js"></script>
    <script src="../../../../_static/js/theme.js"></script>
    <link rel="index" title="Index" href="../../../../genindex.html" />
    <link rel="search" title="Search" href="../../../../search.html" />
    <link rel="next" title="Cyrus IMAP 2.2.x Release Notes" href="../2.2/2.2.x.html" />
    <link rel="prev" title="Cyrus IMAP 2.0.x Release Notes" href="../2.0/2.0.x.html" /> 
</head>

<body class="wy-body-for-nav"> 
  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >

          
          
          <a href="../../../../index.html" class="icon icon-home">
            Cyrus IMAP
          </a>
              <div class="version">
                3.10.2
              </div>
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
              <p class="caption" role="heading"><span class="caption-text">Cyrus IMAP</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="../../../../download.html">Download</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../getcyrus.html">Get Cyrus</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Release Notes</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../index.html#stable-version">Stable Version</a></li>
<li class="toctree-l3"><a class="reference internal" href="../index.html#development-version">Development Version</a></li>
<li class="toctree-l3"><a class="reference internal" href="../index.html#supported-product-series">Supported Product Series</a></li>
<li class="toctree-l3"><a class="reference internal" href="../index.html#development-snapshots">Development snapshots</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="../index.html#older-versions">Older Versions</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="../index.html#series-1">Series 1</a></li>
<li class="toctree-l4 current"><a class="reference internal" href="../index.html#series-2-2-0-2-4">Series 2: 2.0 - 2.4</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../packagers.html">Notes for Packagers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../../quickstart.html">Quickstart Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../overview.html">Overview</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../setup.html">Setup</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../operations.html">Operations</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../developers.html">Developers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../support.html">Support/Community</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Cyrus SASL</span></p>
<ul>
<li class="toctree-l1"><a class="reference external" href="http://www.cyrusimap.org/sasl">Cyrus SASL</a></li>
</ul>

        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../../../../index.html">Cyrus IMAP</a>
      </nav>

      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="Page navigation">
  <ul class="wy-breadcrumbs">
      <li><a href="../../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
          <li class="breadcrumb-item"><a href="../../../../download.html">Download</a></li>
          <li class="breadcrumb-item"><a href="../index.html">Release Notes</a></li>
      <li class="breadcrumb-item active">Cyrus IMAP 2.1.x Release Notes</li>
      <li class="wy-breadcrumbs-aside">
              <a href="https://github.com/cyrusimap/cyrus-imapd/blob/master/docsrc/imap/download/release-notes/2.1/2.1.x.rst" class="fa fa-github"> Edit on GitHub</a>
      </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
             
  <section id="cyrus-imap-2-1-x-release-notes">
<h1>Cyrus IMAP 2.1.x Release Notes<a class="headerlink" href="#cyrus-imap-2-1-x-release-notes" title="Permalink to this heading"></a></h1>
<p>Changes to the Cyrus IMAP Server since 2.1.14</p>
<ul class="simple">
<li><p>Correct a potential DOS attack in the fud daemon.</p></li>
<li><p>Arbitron now works again</p></li>
<li><p>Telemetry logging for mupdate</p></li>
<li><p>Duplicate Suppression logging for redirect sieve actions</p></li>
<li><p>A number of bugs in reconstruct have been fixed. also added the -p and -x options</p></li>
<li><p>Better stubbing out of user_deleteacl</p></li>
<li><p>No longer log any shutdown() failures</p></li>
<li><p>Improved IPv6 support (for systems with two getnameinfo implementations)</p></li>
<li><p>Misc Documentation Improvements</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.13</p>
<ul class="simple">
<li><p>Be more forgiving in the parsing of MIME boundary headers, specifically those generated by Eudora where the outer boundaries are substrings of the inner boundaries. This feature can be disabled by enabling the rfc2046_strict option.</p></li>
<li><p>Allow cyradm to handle aggregate mailbox sets for ACL and DELETE operations.</p></li>
<li><p>Add a lmtp_downcase_rcpt option to force the lowercasing of recipient addresses (Henrique de Moraes Holschuh &lt;<a class="reference external" href="mailto:hmh&#37;&#52;&#48;debian&#46;org">hmh<span>&#64;</span>debian<span>&#46;</span>org</a>&gt;).</p></li>
<li><p>Include more MIME headers in sieve rejection notices</p></li>
<li><p>Add an mbexamine command for debugging purposes</p></li>
<li><p>LMTP will now fatal error if we cannot initialize the duplicate delivery database.</p></li>
<li><p>Continued audit by Security Appraisers and Bynari</p></li>
<li><p>Correctly terminate the processes by calling service_abort even on successful exit (helps to fix a db3 lockers problem)</p></li>
<li><p>Fix some murder+altnamespace/unixhiersep issues</p></li>
<li><p>Fix imclient's handling of literals.</p></li>
<li><p>Add support for the windows-1256 character set</p></li>
<li><p>Don't log 'could not shut down filedescriptor' messages when the socket is already not connected</p></li>
<li><p>Now include a script to convert sieve script names to the altnamespace format</p></li>
<li><p>Added a --with-extraident configure option to make it easier to set the extra version information that is compiled into the binary.</p></li>
<li><p>Minor build fixes.</p></li>
<li><p>Minor other bug fixes.</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.12</p>
<ul class="simple">
<li><p>Add maxfds= option in cyrus.conf</p></li>
<li><p>&quot;The shutdown() Patch&quot; by Henrique de Moraes Holschuh &lt;<a class="reference external" href="mailto:hmh&#37;&#52;&#48;debian&#46;org">hmh<span>&#64;</span>debian<span>&#46;</span>org</a>&gt; and Jeremy Howard &lt;<a class="reference external" href="mailto:jhoward&#37;&#52;&#48;fastmail&#46;fm">jhoward<span>&#64;</span>fastmail<span>&#46;</span>fm</a>&gt;</p></li>
<li><p>Now report both built-with and running-with OpenSSL versions</p></li>
<li><p>Misc other small bugfixes</p></li>
<li><p>Security Appraisers and Bynari review of the majority of the modules in imap/</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.11</p>
<ul class="simple">
<li><p>Master now will forcibly exit if a service is not executable</p></li>
<li><p>Master now has a daemon mode and pidfile support (-d and -p options)</p></li>
<li><p>Berkeley DB Configuration methods have changed. Hopefully they're more generic now. You can still use --with-dbdir, or you can use --with-bdb-libdir and --with-bdb-incdir</p></li>
<li><p>timsieved now handles usernames with dots (when unixhierarchysep is active)</p></li>
<li><p>tugowar has been removed from the distribution.</p></li>
<li><p>Squatter now has an option to skip unmodified mailboxes.</p></li>
<li><p>Properly hash username to remove a user's sieve scripts when their INBOX is removed.</p></li>
<li><p>Reset output buffer when prot_flush returns EOF.</p></li>
<li><p>Minor Makefile improvements with use of $(srcdir)</p></li>
<li><p>Remotepurge improvement for empty mailboxes</p></li>
<li><p>Fix for AFS overwriting the canonicalized username in ptloader</p></li>
<li><p>Security audit of imapd.c performed by SecurityAppraisers and Bynari</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.10</p>
<ul class="simple">
<li><p>Fixed some potential buffer overflows in the sieve code, as well as a pre-login buffer overflow in the IMAP parsing code.</p></li>
<li><p>ipurge can now skip flagged messages</p></li>
<li><p>Fix a problem with the flat backend and tracking new files</p></li>
<li><p>Fix a problem with the memory pool routines on 64-bit machines</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.9</p>
<ul class="simple">
<li><p>support Berkley DB 4.1</p></li>
<li><p>more portable use of errno throughout</p></li>
<li><p>timsieved now does telemetry logging</p></li>
<li><p>libcyrus.a no longer supplies fs_get() and fs_give()</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.8</p>
<ul class="simple">
<li><p>Fix a strlcpy() off-by-one error.</p></li>
<li><p>Better handling of errors in connecting to LMTP servers for deliver and lmtpproxyd.</p></li>
<li><p>Fix bug in pop3proxyd's pop3s handling.</p></li>
<li><p>Fix Exim install documentation.</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.7</p>
<ul class="simple">
<li><p>Fix a severe locking problem during failed CREATEs</p></li>
<li><p>Change default locking method to fcntl from flock</p></li>
<li><p>Don't cleanup the original mailbox during a RENAME while holding the mailbox list lock</p></li>
<li><p>Quoting fixes in cyradm</p></li>
<li><p>Small pathname fix in rehash script</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.6</p>
<ul class="simple">
<li><p>Correct some minor version number errors.</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.5</p>
<ul class="simple">
<li><p>Better locking of the mailbox list during mupdate operations for CREATE and RENAME</p></li>
<li><p>Permissions fixes for annotations.</p></li>
<li><p>pop3proxyd now does telemetry logging</p></li>
<li><p>Cleanup a number of leaks in the murder code</p></li>
<li><p>Correct semantics of our provided strlcpy(). Fix places where strlcpy() was being used incorrectly.</p></li>
<li><p>Correct a significant memory leak in the memory pool routines</p></li>
<li><p>OpenSSL is now handled correctly for the perl modules</p></li>
<li><p>Small documentation cleanups</p></li>
<li><p>The normal assortment of small bugfixes</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.4</p>
<ul class="simple">
<li><p>Sieve is no longer dependent on duplicate delivery suppression (it still uses the duplicate delivery database however).</p></li>
<li><p>Sieve now supports draft-segmuller-sieve-relation-02.txt</p></li>
<li><p>imtest now includes all the functionality previously kept in pop3test, lmtptest, smtptest, and mupdatetest. imtest will notice if it is invoked with one of these names and do the right thing. The -P flag can be used to force a particular protocol. As part of this, the default install location for mupdatetest has changed to be the same as the other test utilities. imtest also includes new MANAGESIEVE functionality (sivtest) as well as the ability to reconnect to the same server multiple times (useful for testing SSL/TLS session caching and DIGEST-MD5 fast reauth).</p></li>
<li><p>snmpgen generates stubbed out code so we don't waste resources on something that just doesn't work. At some point in time, we'll make it work again as it would be useful to gather aggregate statistics on what commands are being used so we can better tune the server. This change closes bug #1191. New bug 1267 opened to re-enable the feature.</p></li>
<li><p>Added the chk_cyrus program to help point out missing message files and/or mailboxes</p></li>
<li><p>ANNOTATEMORE improvements. Server annotation support has been added. We are also now using the /vendor/cmu/cyrus-imapd hierarchy. The &quot;info&quot; command in cyradm now returns annotations for the given mailbox (provided that ANNOTATEMORE support is compiled into the server)</p></li>
<li><p>The RENAME command has been almost entirely rewritten. Now we rely on mailbox-level locking instead of locking the entire mailboxes file for the duration of the rename. ctl_cyrusdb -r now also cleans up &quot;reserved&quot; mailboxes that may appear in the event of a crash.</p></li>
<li><p>ctl_mboxlist can now dump only a particular partition</p></li>
<li><p>The configuration subsystem now uses a hash table to speed up lookups of options. Additionally, the hash table implementation has been updated to possibly take advantage of memory pools.</p></li>
<li><p>Many bugfixes related to the Cyrus Murder. Includes improvments to subscription handling as well as correct merging of seen state on mailbox moves.</p></li>
<li><p>Can now configure an external debugger (debug_command option in imapd.conf.</p></li>
<li><p>Misc. autoconf-related fixes (most notably those related to sasl_checkapop and O_DSYNC).</p></li>
<li><p>Misc. locking-related fixes.</p></li>
<li><p>Security fixes related to handling large literals in getxstring(), as well as correct usage of layers in timsieved.</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.3</p>
<ul class="simple">
<li><p>All &quot;MAIL&quot; and &quot;SIEVE&quot; notifications are now handled by notifyd which is a daemon that supports multiple notification methods. The mailnotifier and sievenotifier options have been added to /etc/imapd.conf to configure notifications. (Ken Murchison)</p></li>
<li><p>Many feature enhancements and bugfixes for the Cyrus Murder. The code now supports live (but not transparent) moving of mailboxes from one server to another.</p></li>
<li><p>Some warning fixes.</p></li>
<li><p>fdatasync() is no longer required.</p></li>
<li><p>Fixed a bug in imap/append.c that would show itself if a message was being delivered to five or more different partitions.</p></li>
<li><p>Deliveries now don't create a redudant temporary file using tmpfile(); the staging directory is used instead. (Ken Murchison)</p></li>
<li><p>Fix a possible crashing bug in squatter. (Ken Murchison)</p></li>
<li><p>Deleting a user now also removes their Sieve scripts.</p></li>
<li><p>cyrusdb_skiplist: release locks during iteration. Should prevent denial of service attacks and possibly increase performance.</p></li>
<li><p>cyrusdb_skiplist: introduce a new mode using O_DSYNC writes which is possibly faster on Solaris. Currently off (it seems to hurt performance on Linux).</p></li>
<li><p>master has preliminary code to avoid forking storms.</p></li>
<li><p>sieveshell should now loop through all available SASL mechanisms before conceding defeat.</p></li>
<li><p>sieveshell can now upload a file to a different name.</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.2</p>
<ul class="simple">
<li><p>fud now runs from the Cyrus master process; more generally, the Cyrus master process can deal with UDP services. (Amos Gouaux, <a class="reference external" href="mailto:amos&#37;&#52;&#48;utdallas&#46;edu">amos<span>&#64;</span>utdallas<span>&#46;</span>edu</a>)</p></li>
<li><p>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.</p></li>
<li><p>added cvt_cyrusdb for quick conversions between different cyrusdb backends.</p></li>
<li><p>fixed a bug in the Sieve header cache, where legal header names were being rejected.</p></li>
<li><p>many Murder-related fixes</p></li>
<li><p>suppress a bogus TLS session reuse DBERROR message</p></li>
<li><p>make the list of acceptable TLS ciphers configurable in /etc/imapd.conf</p></li>
<li><p>cyrusdb_skiplist fixes; it's now suitable for using in production environments though there are still performance problems outstanding</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.1</p>
<ul class="simple">
<li><p>now compatible with Berkeley DB4 (Larry M. Rosenbaum, <a class="reference external" href="mailto:lmr&#37;&#52;&#48;ornl&#46;gov">lmr<span>&#64;</span>ornl<span>&#46;</span>gov</a>)</p></li>
<li><p>timsieved now supports proxying via loginuseacl (Amos Gouaux, <a class="reference external" href="mailto:amos&#37;&#52;&#48;utdallas&#46;edu">amos<span>&#64;</span>utdallas<span>&#46;</span>edu</a>)</p></li>
<li><p>Sieve vacation now does a case-insensitive comparison of :addresses</p></li>
<li><p>Warning-related bug fixes from Henrique de Moras Holschuh <a class="reference external" href="mailto:hmh&#37;&#52;&#48;debian&#46;org">hmh<span>&#64;</span>debian<span>&#46;</span>org</a></p></li>
<li><p>automatic archival of db3 files so that filesystem backups are always consistent (Ken Murchison, <a class="reference external" href="mailto:ken&#37;&#52;&#48;oceana&#46;com">ken<span>&#64;</span>oceana<span>&#46;</span>com</a>)</p></li>
<li><p>added a skiplist database backend, still needs more testing</p></li>
<li><p>further work on the Cyrus Murder</p></li>
<li><p>fixed bug in remotepurge dealing with mailboxes with characters that need to be escaped inside quoted-strings</p></li>
<li><p>Cyrus::IMAP::Admin now supports referrals</p></li>
<li><p>cyradm, via Cyrus::IMAP::Shell, now can remove quotaroots</p></li>
<li><p>timsieved, sieveshell, and the MANAGESIEVE protocol extended with referrals</p></li>
</ul>
<p>Changes to the Cyrus IMAP Server since 2.1.0</p>
<ul class="simple">
<li><p>now compatible with Cyrus SASL 2.1.0</p></li>
<li><p>fixed a problem with LMTP AUTH and unix domain sockets</p></li>
<li><p>make deleting users faster</p></li>
<li><p>add a &quot;-n&quot; switch to remotepurge</p></li>
<li><p>cyradm now does implicit SASL authorization</p></li>
<li><p>fix for Sieve :matches comparator</p></li>
</ul>
</section>


           </div>
          </div>
          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
        <a href="../2.0/2.0.x.html" class="btn btn-neutral float-left" title="Cyrus IMAP 2.0.x Release Notes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
        <a href="../2.2/2.2.x.html" class="btn btn-neutral float-right" title="Cyrus IMAP 2.2.x Release Notes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>&#169; Copyright 1993–2025, The Cyrus Team.</p>
  </div>

  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
    provided by <a href="https://readthedocs.org">Read the Docs</a>.
   

</footer>
        </div>
      </div>
    </section>
  </div>
  <script>
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>
 



</body>
</html>