File: developer.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 (255 lines) | stat: -rw-r--r-- 16,816 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
<!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>IMAP Developer Guide &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="Development Process" href="developer/process.html" />
    <link rel="prev" title="Documentation" href="developer/documentation.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"><a class="reference internal" href="../download.html">Download</a></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 current"><a class="reference internal" href="../developers.html">Developers</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../contribute.html">We need your help</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/documentation.html">Contribute docs</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Contribute code and tests</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#getting-started">Getting Started</a><ul>
<li class="toctree-l4"><a class="reference internal" href="developer/process.html">Development Process</a></li>
<li class="toctree-l4"><a class="reference internal" href="developer/overview.html">Overview of Cyrus development environment</a></li>
<li class="toctree-l4"><a class="reference internal" href="developer/github-guide.html">GitHub guide</a></li>
<li class="toctree-l4"><a class="reference internal" href="developer/compiling.html">Compiling</a></li>
<li class="toctree-l4"><a class="reference internal" href="installing.html">Installing Cyrus</a></li>
<li class="toctree-l4"><a class="reference internal" href="developer/developer-testing.html">Developer Test Environment</a></li>
<li class="toctree-l4"><a class="reference internal" href="developer/coverage.html">Test Coverage</a></li>
<li class="toctree-l4"><a class="reference internal" href="developer/jmap.html">JMAP support</a></li>
<li class="toctree-l4"><a class="reference internal" href="developer/install-xapian.html">Xapian for searching</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#system-files-and-databases">System files and Databases</a><ul>
<li class="toctree-l4"><a class="reference internal" href="developer/namespaces.html">Namespaces: a developer view</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#resources">Resources</a><ul>
<li class="toctree-l4"><a class="reference internal" href="developer/libraries.html">Developer Libraries</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#releasing">Releasing</a><ul>
<li class="toctree-l4"><a class="reference internal" href="developer/releasing.html">Releasing Cyrus IMAP - normal releases</a></li>
<li class="toctree-l4"><a class="reference internal" href="developer/major-releasing.html">Releasing Cyrus IMAP - major releases</a></li>
<li class="toctree-l4"><a class="reference internal" href="developer/snapshot-releasing.html">Releasing Cyrus IMAP - developer snapshots</a></li>
<li class="toctree-l4"><a class="reference internal" href="developer/ancient-releasing.html">Releasing new builds of ancient Cyrus IMAP versions</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="developer/cyrusworks.html">Cyrus.Works</a></li>
<li class="toctree-l2"><a class="reference internal" href="../developers.html#cyrus-internals">Cyrus Internals</a></li>
<li class="toctree-l2"><a class="reference internal" href="../developers.html#unit-tests">Unit Tests</a></li>
</ul>
</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="../developers.html">Developers</a></li>
      <li class="breadcrumb-item active">IMAP Developer Guide</li>
      <li class="wy-breadcrumbs-aside">
              <a href="https://github.com/cyrusimap/cyrus-imapd/blob/master/docsrc/imap/developer.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="imap-developer-guide">
<span id="imap-developer"></span><h1>IMAP Developer Guide<a class="headerlink" href="#imap-developer-guide" title="Permalink to this heading"></a></h1>
<section id="getting-started">
<h2>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this heading"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="developer/process.html">Development Process</a></li>
<li class="toctree-l1"><a class="reference internal" href="developer/overview.html">Overview of Cyrus development environment</a></li>
<li class="toctree-l1"><a class="reference internal" href="developer/github-guide.html">GitHub guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="developer/compiling.html">Compiling</a></li>
<li class="toctree-l1"><a class="reference internal" href="installing.html">Installing Cyrus</a></li>
<li class="toctree-l1"><a class="reference internal" href="developer/developer-testing.html">Developer Test Environment</a></li>
<li class="toctree-l1"><a class="reference internal" href="developer/coverage.html">Test Coverage</a></li>
<li class="toctree-l1"><a class="reference internal" href="developer/jmap.html">JMAP support</a></li>
</ul>
</div>
<div class="toctree-wrapper compound">
</div>
</section>
<section id="system-files-and-databases">
<h2>System files and Databases<a class="headerlink" href="#system-files-and-databases" title="Permalink to this heading"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="developer/namespaces.html">Namespaces: a developer view</a></li>
</ul>
</div>
</section>
<section id="resources">
<h2>Resources<a class="headerlink" href="#resources" title="Permalink to this heading"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="developer/libraries.html">Developer Libraries</a></li>
</ul>
</div>
</section>
<section id="releasing">
<h2>Releasing<a class="headerlink" href="#releasing" title="Permalink to this heading"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="developer/releasing.html">Releasing Cyrus IMAP - normal releases</a><ul>
<li class="toctree-l2"><a class="reference internal" href="developer/releasing.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/releasing.html#order-of-operations">Order of operations</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/releasing.html#release-notes">Release notes</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/releasing.html#pre-release-testing">Pre-release testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/releasing.html#linking-up-release-notes">Linking up release notes</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/releasing.html#version-tagging">Version tagging</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/releasing.html#inter-version-website-consistency">Inter-version website consistency</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/releasing.html#uploading">Uploading</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/releasing.html#tell-the-world">Tell the world</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="developer/major-releasing.html">Releasing Cyrus IMAP - major releases</a><ul>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#feature-freeze">Feature freeze</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#make-sure-master-is-good">Make sure master is good</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#forking-the-new-series-branch">Forking the new series branch</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#updating-the-master-branch">Updating the master branch</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#github-updates">Github updates</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#revert-anything-that-s-not-yet-ready">Revert anything that's not yet ready</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#tell-the-website-builder-about-the-new-branch">Tell the website builder about the new branch</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#first-beta">First beta</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#subsequent-betas">Subsequent betas</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#release-candidates">Release candidates</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#release">Release</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/major-releasing.html#post-release">Post-release</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="developer/snapshot-releasing.html">Releasing Cyrus IMAP - developer snapshots</a><ul>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#make-sure-master-is-good">Make sure master is good</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#mixed-version-cassandane-testing">Mixed-version Cassandane testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#lib-imapoptions">lib/imapoptions</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#release-notes">Release notes</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#docsrc-conf-py">docsrc/conf.py</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#check-documentation">check documentation</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#pr-and-or-commit">PR and/or commit</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#tag">Tag</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#tell-the-world">Tell the world</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/snapshot-releasing.html#update-this-document">Update this document</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="developer/ancient-releasing.html">Releasing new builds of ancient Cyrus IMAP versions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="developer/ancient-releasing.html#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/ancient-releasing.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/ancient-releasing.html#release-notes-and-version-update">Release notes and version update</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/ancient-releasing.html#pre-release-testing">Pre-release testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/ancient-releasing.html#cross-pollination-of-release-notes">Cross-pollination of release notes</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/ancient-releasing.html#building-the-release">Building the release</a></li>
<li class="toctree-l2"><a class="reference internal" href="developer/ancient-releasing.html#finishing-up">Finishing up</a></li>
</ul>
</li>
</ul>
</div>
</section>
</section>


           </div>
          </div>
          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
        <a href="developer/documentation.html" class="btn btn-neutral float-left" title="Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
        <a href="developer/process.html" class="btn btn-neutral float-right" title="Development Process" 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>