| 12
 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
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 
 | 
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>Cyrus IMAP Server: Namelocks — Cyrus IMAP 3.6.1 documentation</title>
  
  
  
  
  
  
    
  
  
  
    <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" />
  
  
        <link rel="index" title="Index"
              href="../../../genindex.html"/>
        <link rel="search" title="Search" href="../../../search.html"/>
    <link rel="top" title="Cyrus IMAP 3.6.1 documentation" href="../../../index.html"/>
        <link rel="up" title="Developer Guidance" href="../guidance.html"/>
        <link rel="next" title="Cyrus IMAP Server: prot layer" href="prot.html"/>
        <link rel="prev" title="Cyrus IMAP Server: Mailbox File Formats" href="mailbox-format.html"/> 
  
  
  
</head>
<body class="wy-body-for-nav" role="document">
  
<div class="pageheader">
  <ul>
    <li><a href="../../../index.html">Home</a></li>
    <li><a href="../../../download.html">Download</a></li>
    <li><a href="../../../contribute.html">Contribute</a></li>
    <li><a href="../../../support.html">Support</a></li>
    <li><a href="http://www.cyrusimap.org/sasl">Cyrus SASL</a></li>
  </ul>
  <div>
    <a href="../../../index.html">
      <h1>Cyrus IMAP</h1>
      <!-- <img src="../../../_static/logo.gif" alt="CYRUS" /> -->
    </a>
  </div>
</div>
<div style="clear: both;"></div>
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-nav-search">
        
        
 
          <a href="../../../index.html">
 
          
          <h1>Cyrus IMAP</h1>
          
        </a>
        
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
    <input type="text" name="q" placeholder="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="main navigation">
        
          
          
              <p class="caption"><span class="caption-text">Cyrus IMAP</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../download.html">Download</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../download/getcyrus.html">Get Cyrus</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../download/getcyrus.html#distribution-package">Distribution Package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../download/installation/distributions/centos.html">CentOS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/installation/distributions/debian.html">Debian</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/installation/distributions/fedora.html">Fedora</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/installation/distributions/opensuse.html">openSUSE</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/installation/distributions/rhel.html">Red Hat Enterprise Linux</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/installation/distributions/ubuntu.html">Ubuntu</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../download/getcyrus.html#build-and-install-yourself">Build and Install Yourself</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../download/getcyrus.html#use-a-release-packaged-tarball">Use a release packaged tarball</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/getcyrus.html#use-the-source-from-git">Use the source from Git</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../download/getcyrus.html#external-tools">External Tools</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/getcyrus.html#licensing">Licensing</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../download/release-notes/index.html">Release Notes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../download/release-notes/index.html#stable-version">Stable Version</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/release-notes/index.html#development-version">Development Version</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/release-notes/index.html#supported-product-series">Supported Product Series</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/index.html#series-3-6">Series 3.6</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/index.html#series-3-4">Series 3.4</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/index.html#series-3-2">Series 3.2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/index.html#series-3-0">Series 3.0</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/index.html#series-2-5">Series 2.5</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../download/release-notes/index.html#development-snapshots">Development snapshots</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/3.7/index.html">Cyrus IMAP 3.7 Tags</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/3.5/index.html">Cyrus IMAP 3.5 Tags</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/3.3/index.html">Cyrus IMAP 3.3 Tags</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/3.1/index.html">Cyrus IMAP 3.1 Tags</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../download/release-notes/index.html#older-versions">Older Versions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/index.html#series-1">Series 1</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/release-notes/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="../../download/packagers.html">Notes for Packagers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../download/packagers.html#binary-naming">Binary naming</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/packagers.html#sample-configuration-files">Sample configuration files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/packagers.html#predefined-configurations">Predefined configurations</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../download/packagers.html#the-configuration-file-for-master-cyrus-conf">The configuration file for master: cyrus.conf</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/packagers.html#the-configuration-file-for-the-various-programs-imapd-conf">The configuration file for the various programs: imapd.conf</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../download/packagers.html#services-in-etc-services">Services in <code class="docutils literal notranslate"><span class="pre">/etc/services</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../quickstart.html">Quickstart Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../quickstart/introduction.html">Introduction to Cyrus IMAP</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../quickstart/introduction.html#what-is-imap">What is IMAP?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../quickstart.html#quick-install">Quick install</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../quickstart.html#install-cyrus-package-s">1. Install Cyrus package(s)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../quickstart.html#setup-the-cyrus-mail-user-and-group">2. Setup the cyrus:mail user and group</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../quickstart.html#setting-up-authentication-with-sasl">3. Setting up authentication with SASL</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../quickstart.html#setup-mail-delivery-from-your-mta">4. Setup mail delivery from your MTA</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../quickstart.html#protocol-ports">5. Protocol ports</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../quickstart.html#configuring-cyrus">6. Configuring Cyrus</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../quickstart.html#launch-cyrus">7. Launch Cyrus</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../overview.html">Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../concepts/features.html">Features</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/features.html#security-and-authentication">Security and Authentication</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/authentication-kerberos.html">Kerberos Authentication</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/authentication-ldap.html">LDAP Authentication</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/authentication-sql.html">SQL Authentication</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/access-control.html">Access Control</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/sealed-system.html">Sealed System Design</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/features.html#mailbox-management">Mailbox Management</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/automatic-creation-of-mailboxes.html">Automatic Creation of Mailboxes</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/namespaces.html">Mailbox Namespaces</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/virtual-domains.html">Virtual Domains</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/mailbox-annotations.html">Mailbox Annotations (METADATA)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/mailbox-distribution.html">Mailbox Distribution</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/features.html#message-management">Message Management</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/delayed-delete.html">Delayed Delete</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/delayed-expunge.html">Delayed Expunge</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/message-annotations.html">Message Annotations (METADATA)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/duplicate-message-delivery-suppression.html">Duplicate Message Delivery Suppression</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/shared-seen-state.html">Shared Seen State</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/server-side-filtering.html">Server Side Filtering (Sieve)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/event-notifications.html">Event Notifications</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/features.html#calendar-and-contact-dav-collection-management">Calendar and Contact (DAV) Collection Management</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/caldav-collections.html">CalDAV Collections</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/dav-components.html">DAV Components</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/dav-collection-mgmt.html">DAV Collection Management</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/carddav.html">CardDAV Support</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/features.html#storage">Storage</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/mail-spool-partitions.html">Mail Spool Partitions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/mailbox-metadata-partitions.html">Mailbox Metadata Partitions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/archiving.html">Archiving</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/quota.html">Quota</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/single-instance-store.html">Single-Instance Store</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/features.html#load-management">Load Management</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/features/server-aggregation.html">Cyrus IMAP Murder (Server Aggregation)</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../concepts/overview_and_concepts.html">Concepts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#access-control-lists">Access Control Lists</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#working-with-acls">Working with ACLs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#sample-acl">Sample ACL</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#access-rights">Access Rights</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#access-control-defaults">Access Control Defaults</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#access-control-identifier-aci">Access Control Identifier (ACI)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#negative-rights">Negative Rights</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#calculating-a-users-rights">Calculating a Users’ Rights</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#login-authentication">Login Authentication</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#anonymous-login">Anonymous Login</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#plaintext-authentication">Plaintext Authentication</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#kerberos-logins">Kerberos Logins</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#shared-secrets-logins">Shared Secrets Logins</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#quotas">Quotas</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#working-with-quotas">Working with Quotas</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#monitor-and-repair">Monitor and Repair</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#supported-quota-types">Supported Quota Types</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#quota-roots">Quota Roots</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#controlling-quota-behavior">Controlling Quota Behavior</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#mail-delivery-behavior">Mail Delivery Behavior</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#quota-warnings-upon-select-when-user-has-d-rights">Quota Warnings Upon Select When User Has <code class="docutils literal notranslate"><span class="pre">d</span></code> Rights</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#quotas-and-partitions">Quotas and Partitions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#new-mail-notification">New Mail Notification</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#partitions">Partitions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#specifying-partitions-with-create">Specifying Partitions with “create”</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#changing-partitions-with-rename">Changing Partitions with “rename”</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#news">News</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#pop3-server">POP3 Server</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#the-syslog-facility">The syslog facility</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#mail-directory-recovery">Mail Directory Recovery</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#reconstructing-mailbox-directories">Reconstructing Mailbox Directories</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#reconstructing-the-mailboxes-file">Reconstructing the Mailboxes File</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#reconstructing-quota-roots">Reconstructing Quota Roots</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#removing-quota-roots">Removing Quota Roots</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#subscriptions">Subscriptions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#configuration-directory">Configuration Directory</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#log-directory">Log Directory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#proc-directory">Proc Directory</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#message-delivery">Message Delivery</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#local-mail-transfer-protocol-lmtp">Local Mail Transfer Protocol (lmtp)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#single-instance-store">Single Instance Store</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/overview_and_concepts.html#duplicate-delivery-suppression">Duplicate Delivery Suppression</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#sieve-a-mail-filtering-language">Sieve, a Mail Filtering Language</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/overview_and_concepts.html#cyrus-murder-the-imap-aggregator">Cyrus Murder, the IMAP Aggregator</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../setup.html">Setup</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../compiling.html">Compiling</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../compiling.html#setting-up-dependencies">Setting up dependencies</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../compiling.html#required-build-dependencies">Required Build Dependencies</a></li>
<li class="toctree-l4"><a class="reference internal" href="../compiling.html#build-dependencies-for-additional-functionality">Build dependencies for additional functionality</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../compiling.html#compile-cyrus">Compile Cyrus</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../compiling.html#default-build-mail-only">Default build: mail only</a></li>
<li class="toctree-l4"><a class="reference internal" href="../compiling.html#optional-dependencies">Optional dependencies</a></li>
<li class="toctree-l4"><a class="reference internal" href="../compiling.html#compile">Compile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../compiling.html#check">Check</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../installing.html">Installing Cyrus</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../installing.html#install-cyrus">Install Cyrus</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../installing.html#optional-components">Optional Components</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../download/installation/manage-dav.html">HTTP modules</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/installation/virus.html">Virus Scanner</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../installing.html#setting-up-syslog">Setting up syslog</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../installing.html#create-cyrus-environment">Create Cyrus environment</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../installing.html#set-up-the-cyrus-mail-user-and-group">Set up the cyrus:mail user and group</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../installing.html#authentication-with-sasl">Authentication with SASL</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../installing.html#mail-delivery-from-your-mta">Mail delivery from your MTA</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../installing.html#protocol-ports">Protocol ports</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../installing.html#cyrus-config-files">Cyrus config files</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../installing.html#optional-setting-up-tls-certificates">Optional: Setting up TLS certificates</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../installing.html#prepare-ephemeral-run-time-storage-directories">Prepare ephemeral (run-time) storage directories</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../installing.html#launch-cyrus">Launch Cyrus</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../installing.html#send-a-test-email">Send a test email</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../installing.html#checking-carddav-and-caldav">Checking CardDAV and CalDAV</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../installing.html#troubleshooting">Troubleshooting</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../download/upgrade.html">Upgrading to 3.6</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#preparation">1. Preparation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../download/upgrade.html#versions-to-upgrade-from">Versions to upgrade from</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/upgrade.html#installation-from-tarball">Installation from tarball</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/upgrade.html#storage-changes">Storage changes</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/upgrade.html#how-are-you-planning-on-upgrading">How are you planning on upgrading?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../download/upgrade.html#do-what-as-who">Do What As Who?</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#install-new-3-6-cyrus">2. Install new 3.6 Cyrus</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#shut-down-existing-cyrus">3. Shut down existing Cyrus</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#backup-and-copy-existing-data">4. Backup and Copy existing data</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#copy-config-files-and-update">5. Copy config files and update</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#upgrade-specific-items">6. Upgrade specific items</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#start-new-3-6-cyrus-and-verify">7. Start new 3.6 Cyrus and verify</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#reconstruct-databases-and-cache">8. Reconstruct databases and cache</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#do-you-want-any-new-features">9. Do you want any new features?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#upgrade-complete">10. Upgrade complete</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../download/upgrade.html#special-note-for-murder-configurations">Special note for Murder configurations</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../concepts/deployment.html">Configuration Guide</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/deployment_scenarios.html">Deployment Scenarios</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/deployment_scenarios.html#single-server-deployments">Single Server Deployments</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/deployment_scenarios.html#multi-server-deployments">Multi Server Deployments</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/deployment_scenarios.html#cyrus-murder-server-aggregation">Cyrus Murder: Server aggregation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/deployment_scenarios.html#the-discrete-murder">The Discrete Murder</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/deployment_scenarios.html#the-unified-murder">The Unified Murder</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/deployment_scenarios.html#the-shared-murder">The Shared Murder</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/deployment_scenarios.html#cyrus-replication">Cyrus Replication</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/deployment_scenarios.html#hosted-environments">Hosted Environments</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/databases.html">Databases</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/databases.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/databases.html#file-list">File list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/databases.html#storage-types">Storage types</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/mailbox_creation_distribution.html">Mailbox Creation Distribution</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/mailbox_creation_distribution.html#selection-mode">Selection Mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/mailbox_creation_distribution.html#special-cases">Special cases</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/mailbox_creation_distribution.html#partitions-exclusion">Partitions Exclusion</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/mailbox_creation_distribution.html#partitions-usage-data-reset">Partitions Usage Data Reset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/mailbox_creation_distribution.html#mailbox-creation-distribution-through-murder-frontend">Mailbox Creation Distribution Through <code class="docutils literal notranslate"><span class="pre">murder</span> <span class="pre">frontend</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/mailbox_creation_distribution.html#backends-exclusion">Backends Exclusion</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/mailbox_creation_distribution.html#backends-usage-data-reset">Backends Usage Data Reset</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/known_protocol_limitations.html">Known Protocol Limitations</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/known_protocol_limitations.html#pop3-and-mailbox-locking">POP3 and Mailbox Locking</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/known_protocol_limitations.html#cyrus-imap-pop3-implementation">Cyrus IMAP POP3 Implementation</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/authentication_and_authorization.html">Authentication and Authorization</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/authentication_and_authorization.html#client-authentication">Client Authentication</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/authentication_and_authorization.html#users-and-mailboxes">Users and Mailboxes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/performance_recommendations.html">Performance Recommendations</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/performance_recommendations.html#databases-on-temporary-filesystems">Databases on Temporary Filesystems</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/performance_recommendations.html#certificates">Certificates</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/storage.html">Storage Considerations</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/storage.html#general-notes-on-storage">General Notes on Storage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/storage.html#redundancy">Redundancy</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/storage.html#availability">Availability</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/storage.html#performance">Performance</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/storage.html#scalability">Scalability</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/storage.html#capacity">Capacity</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/storage.html#cost">Cost</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../concepts/deployment/supported-platforms.html">Supported Platforms and System Requirements</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/supported-platforms.html#building-cyrus-imap">Building Cyrus IMAP</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/supported-platforms.html#required-software-components">Required Software Components</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/supported-platforms.html#recommended-software-components">Recommended Software Components</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../concepts/deployment/supported-platforms.html#recommended-software-components-enabled-by-default">Recommended Software Components Enabled by Default</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../operations.html">Operations</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../reference/manpages/index.html">Man pages</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/manpages/index.html#configuration-files">(5) Configuration Files</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/configs/cyrus.conf.html"><strong>cyrus.conf</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/configs/imapd.conf.html"><strong>imapd.conf</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/configs/krb.equiv.html"><strong>krb.equiv</strong></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/manpages/index.html#system-commands">(8) System Commands</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/arbitron.html"><strong>arbitron</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/backupd.html"><strong>backupd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/chk_cyrus.html"><strong>chk_cyrus</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/ctl_backups.html"><strong>ctl_backups</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/ctl_conversationsdb.html"><strong>ctl_conversationsdb</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/ctl_cyrusdb.html"><strong>ctl_cyrusdb</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/ctl_deliver.html"><strong>ctl_deliver</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/ctl_mboxlist.html"><strong>ctl_mboxlist</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/ctl_zoneinfo.html"><strong>ctl_zoneinfo</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cvt_cyrusdb.html"><strong>cvt_cyrusdb</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cvt_xlist_specialuse.html"><strong>cvt_xlist_specialuse</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_backup.html"><strong>cyr_backup</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_buildinfo.html"><strong>cyr_buildinfo</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_dbtool.html"><strong>cyr_dbtool</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_deny.html"><strong>cyr_deny</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_df.html"><strong>cyr_df</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_expire.html"><strong>cyr_expire</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_info.html"><strong>cyr_info</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_ls.html"><strong>cyr_ls</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_synclog.html"><strong>cyr_synclog</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_userseen.html"><strong>cyr_userseen</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyr_virusscan.html"><strong>cyr_virusscan</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyradm.html"><strong>cyradm</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/cyrdump.html"><strong>cyrdump</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/deliver.html"><strong>deliver</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/fetchnews.html"><strong>fetchnews</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/fud.html"><strong>fud</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/httpd.html"><strong>httpd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/idled.html"><strong>idled</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/imapd.html"><strong>imapd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/ipurge.html"><strong>ipurge</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/lmtpd.html"><strong>lmtpd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/lmtpproxyd.html"><strong>lmtpproxyd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/masssievec.html"><strong>masssievec</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/master.html"><strong>master</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/mbexamine.html"><strong>mbexamine</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/mbpath.html"><strong>mbpath</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/mbtool.html"><strong>mbtool</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/mkimap.html"><strong>mkimap</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/mknewsgroups.html"><strong>mknewsgroups</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/mupdate.html"><strong>mupdate</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/nntpd.html"><strong>nntpd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/notifyd.html"><strong>notifyd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/pop3d.html"><strong>pop3d</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/pop3proxyd.html"><strong>pop3proxyd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/promstatsd.html"><strong>promstatsd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/proxyd.html"><strong>proxyd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/ptdump.html"><strong>ptdump</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/ptexpire.html"><strong>ptexpire</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/ptloader.html"><strong>ptloader</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/quota.html"><strong>quota</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/reconstruct.html"><strong>reconstruct</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/rehash.html"><strong>rehash</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/relocate_by_id.html"><strong>relocate_by_id</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/restore.html"><strong>restore</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/sievec.html"><strong>sievec</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/sieved.html"><strong>sieved</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/smmapd.html"><strong>smmapd</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/squatter.html"><strong>squatter</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/sync_client.html"><strong>sync_client</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/sync_reset.html"><strong>sync_reset</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/sync_server.html"><strong>sync_server</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/timsieved.html"><strong>timsieved</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/tls_prune.html"><strong>tls_prune</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/translatesieve.html"><strong>translatesieve</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/systemcommands/unexpunge.html"><strong>unexpunge</strong></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/manpages/index.html#user-commands">(1) User Commands</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/arbitronsort.pl.html"><strong>arbitronsort.pl</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/dav_reconstruct.html"><strong>dav_reconstruct</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/httptest.html"><strong>httptest</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/imtest.html"><strong>imtest</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/installsieve.html"><strong>installsieve</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/lmtptest.html"><strong>lmtptest</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/mupdatetest.html"><strong>mupdatetest</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/nntptest.html"><strong>nntptest</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/pop3test.html"><strong>pop3test</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/sieveshell.html"><strong>sieveshell</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/sivtest.html"><strong>sivtest</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/smtptest.html"><strong>smtptest</strong></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/manpages/usercommands/synctest.html"><strong>synctest</strong></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/admin.html">Administrator Guide</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/admin.html#architecture">Architecture</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/architecture.html">System Architecture</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/admin.html#management">Management</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/locations.html">File & Directory Locations</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/ports-sockets.html">Ports and Sockets</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/access-control.html">Access Control</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/quotas.html">Quotas</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/sieve.html">Cyrus Sieve</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/backups.html">Cyrus Backups</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/nntp.html">Cyrus NNTP</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/protlayer.html">Cyrus Prot Layer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/sop.html">Standard Operating Procedures</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/eventsource.html">Cyrus Event Source</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/monitoring.html">Monitoring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/config-mailboxdistribution.html">Mailbox Distribution</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/murder/murder.html">Cyrus Murder</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/nginx-proxy.html">HOWTO: Using an NGINX IMAP Proxy</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/admin/tweaking.html">Tweaking Cyrus IMAP</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/faq.html">Frequently Asked Questions</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/faq.html#features">Features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/feature-database-backend.html">Which database backend should I use for which databases?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/feature-duplicate-delivery.html">Duplicate Delivery Suppression</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/faq.html#installation-problems">Installation Problems</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/install-compilationerrors.html">Compilation errors about kssl.h and krb5.h on Red Hat Linux/Fedora</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/install-install-help.html">Help! There must be an easier way to get all this going…</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/install-linkerwarnings.html">OpenSSL Version Mismatches</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/faq.html#common-feature-requests">Common Feature Requests</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/r-murder-ha.html">Does the Cyrus Murder support High Availability configurations?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/r-pop3-logging.html">Can I configure pop3d to log amount and size of messages fetched by user?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/r-publicssharedfolders.html">How can I make CyrusSieve work with public shared folders?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/r-subfolders.html">Can I have subfolders not appear under INBOX?</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/faq.html#common-operational-questions">Common Operational Questions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-acls.html">How do I view ACLs on a mailbox?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-annotations.html">What annotations are available?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-configdir-tempfs.html">Is it safe to put <configdirectory>/proc and <configdirectory>/lock on a tmpfs filesystem?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-coredump.html">How to enable core dumps</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-delete-mailbox.html">Why can I not delete a mailbox as an admin user?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-deleted-expired-expunged-purged.html">When is What … Deleted, Expired, Expunged or Purged?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-deliverdb-size.html">Why is deliver.db so large?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-freezes.html">I have multiple imapd-SERVICES configured and experience occasional freezes when I try to log in!</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-gdb.html">How to run gdb on Cyrus components</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-mailbox-doesnotexist.html">Cyrus delivers claims that the mailbox does not exist</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-mixedcase.html">Why is mail being rejected with No Mailbox found due to MiXed CaSe incoming e-mail?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-otherdatabases.html">Can I use MySQL (or another SQL database) as the primary mail store?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-pop3slow.html">Why do POP3 connections take so long, but once the connection is established all is well?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-reconstruct.html">Why does reconstruct -m not work?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-sharedfilesystem-gpfs.html">Shared File Systems GPFS for high availability</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-telemetry.html">How to enable telemetry</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-toomanyprocesses.html">The process count keeps growing!</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-unable-join-environment.html">“unable to join environment” error</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/o-vacation-mailfrom.html">Why does Cyrus set the MAIL FROM address of the sender of vacation responses to ‘<>’?</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/faq.html#common-interoperability-problems">Common Interoperability Problems</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/interop-8bit.html">Why does Cyrus reject 8-bit characters in the headers of my messages?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/interop-barenewlines.html">Why does Cyrus reject messages with “bare newlines”?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/interop-sieve-exim.html">How do I get Cyrus Sieve to play nice with Exim?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/faqs/interop-slow-delivery.html">Why does mail delivery go slow or hang sometimes?</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</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="../documentation.html">Contribute docs</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../documentation.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../documentation.html#documentation-tools">Documentation Tools</a></li>
<li class="toctree-l3"><a class="reference internal" href="../documentation.html#building-the-files">Building the files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../documentation.html#submitting-updates">Submitting updates</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../documentation.html#using-github-pull-requests">Using GitHub pull requests</a></li>
<li class="toctree-l4"><a class="reference internal" href="../documentation.html#patches-through-the-mailing-list">Patches through the mailing list</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../documentation.html#special-tags">Special Tags</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../documentation.html#rfc">rfc</a></li>
<li class="toctree-l4"><a class="reference internal" href="../documentation.html#cyrusman">cyrusman</a></li>
<li class="toctree-l4"><a class="reference internal" href="../documentation.html#imap-current-stable-version">imap_current_stable_version</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../documentation.html#conventions-man-pages">Conventions: Man Pages</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../documentation.html#synopsis">Synopsis</a></li>
<li class="toctree-l4"><a class="reference internal" href="../documentation.html#examples">Examples</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../developer.html">Contribute code and tests</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../developer.html#getting-started">Getting Started</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../process.html">Development Process</a></li>
<li class="toctree-l4"><a class="reference internal" href="../overview.html">Overview of Cyrus development environment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../github-guide.html">GitHub guide</a></li>
<li class="toctree-l4"><a class="reference internal" href="../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-testing.html">Developer Test Environment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../jmap.html">JMAP support</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../developer.html#system-files-and-databases">System files and Databases</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../namespaces.html">Namespaces: a developer view</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../developer.html#resources">Resources</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../libraries.html">Developer Libraries</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../developer.html#releasing">Releasing</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../releasing.html">Releasing Cyrus IMAP</a></li>
<li class="toctree-l4"><a class="reference internal" href="../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="../cyrusworks.html">Cyrus.Works</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../cyrusworks.html#about-cyrus-works">About Cyrus Works</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cyrusworks.html#how-it-works">How it works</a></li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="../../../developers.html#cyrus-internals">Cyrus Internals</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../API.html">Cyrus APIs</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../API/cyrusdb.html">CyrusDB API</a></li>
<li class="toctree-l4"><a class="reference internal" href="../API/cyrusdb2.html">cyrusdb API</a></li>
<li class="toctree-l4"><a class="reference internal" href="../API/index-api.html">Index API</a></li>
<li class="toctree-l4"><a class="reference internal" href="../API/mailbox-api.html">Mailbox API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../thoughts.html">Thoughts & Notes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../thoughts/backup.html">Notes for backup implementation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../thoughts/bytecode.html">Cyrus IMAP Server: Sieve Bytecode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../thoughts/caldav_scheduling_flowchart.html">Cyrus CalDAV Scheduling Flowchart</a></li>
<li class="toctree-l4"><a class="reference internal" href="../thoughts/improved_mboxlist_sort.html">Enabling improved_mboxlist_sort</a></li>
<li class="toctree-l4"><a class="reference internal" href="../thoughts/notes.html">Cyrus IMAP Server: Notes</a></li>
<li class="toctree-l4"><a class="reference internal" href="../thoughts/prot-events.html">Cyrus IMAP Server: Prot Events</a></li>
</ul>
</li>
<li class="toctree-l3 current"><a class="reference internal" href="../guidance.html">Guidance for Developers</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="hacking.html">Cyrus IMAP Server: Hacking</a></li>
<li class="toctree-l4"><a class="reference internal" href="internationalization.html">Cyrus IMAP Server: Internationalization</a></li>
<li class="toctree-l4"><a class="reference internal" href="locking.html">Cyrus IMAP Server: Locking</a></li>
<li class="toctree-l4"><a class="reference internal" href="mailbox-format.html">Cyrus IMAP Server: Mailbox File Formats</a></li>
<li class="toctree-l4 current"><a class="current reference internal" href="#">Cyrus IMAP Server: Namelocks</a></li>
<li class="toctree-l4"><a class="reference internal" href="prot.html">Cyrus IMAP Server: prot layer</a></li>
<li class="toctree-l4"><a class="reference internal" href="replication_examples.html">Cyrus IMAP Server: Replication Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="replication_protocol.html">Cyrus IMAP Server: Replication Protocol v2.4+</a></li>
<li class="toctree-l4"><a class="reference internal" href="special_chars.html">Cyrus IMAP Server: Special Characters</a></li>
<li class="toctree-l4"><a class="reference internal" href="var_directory_structure.html">Cyrus IMAP Server: var directory structure</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../developers.html#unit-tests">Unit Tests</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../unit-tests.html">Unit Tests</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../unit-tests.html#table-of-contents">Table of Contents</a></li>
<li class="toctree-l4"><a class="reference internal" href="../unit-tests.html#introduction">1. Introduction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../unit-tests.html#what-is-a-unit-test">2. What Is A Unit Test?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../unit-tests.html#running-the-tests">3. Running The Tests</a></li>
<li class="toctree-l4"><a class="reference internal" href="../unit-tests.html#debugging-a-test">3.6 Debugging A Test</a></li>
<li class="toctree-l4"><a class="reference internal" href="../unit-tests.html#adding-your-own-tests">4. Adding Your Own Tests</a></li>
<li class="toctree-l4"><a class="reference internal" href="../unit-tests.html#where-to-put-your-tests">4.1 Where To Put Your Tests</a></li>
<li class="toctree-l4"><a class="reference internal" href="../unit-tests.html#adding-a-new-suite">4.1 Adding A New Suite</a></li>
<li class="toctree-l4"><a class="reference internal" href="../unit-tests.html#adding-a-test-to-a-suite">4.2 Adding A Test To A Suite</a></li>
<li class="toctree-l4"><a class="reference internal" href="../unit-tests.html#suite-setup-and-teardown">4.3 Suite Setup And Teardown</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../support.html">Support/Community</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../support/feedback-bugs.html">Found a bug?</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../support/feedback-mailing-lists.html">Mailing lists</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../support/feedback-meetings.html">Weekly meetings</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../overview/about_cyrus.html">About</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../../overview/what_is_cyrus.html">What is Cyrus</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/what_is_cyrus.html#what-is-cyrus">What is Cyrus</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/what_is_cyrus.html#what-is-imap">What is IMAP?</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/what_is_cyrus.html#imap-version-4-imap4">IMAP Version 4 (IMAP4)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/what_is_cyrus.html#mime">Mime</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/what_is_cyrus.html#smtp">SMTP</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../overview/who_is_cyrus.html">Who Is Cyrus</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/who_is_cyrus.html#core-contributors">Core Contributors</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/who_is_cyrus.html#individual-contributors-and-past-contributors">Individual contributors and past contributors</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../overview/cyrus_roadmap.html">Cyrus Roadmap</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/cyrus_roadmap.html#high-level-roadmap">High Level Roadmap</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../../overview/cyrus_history.html">Cyrus History</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../../overview/cyrus_bylaws.html">Cyrus Bylaws</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/cyrus_bylaws.html#i-the-cyrus-governance-board">I. The Cyrus Governance Board</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/cyrus_bylaws.html#ii-the-cyrus-core-developers-group">II. The Cyrus Core Developers Group</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/cyrus_bylaws.html#iii-the-release-engineer">III. The Release Engineer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/cyrus_bylaws.html#iv-the-cyrus-roadmap">IV. The Cyrus Roadmap</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/cyrus_bylaws.html#v-development-process">V. Development Process</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../../overview/cyrus_bylaws.html#vi-changes-to-the-bylaws">VI. Changes to the Bylaws</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p class="caption"><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 class="buildstatus">
    <a href="https://github.com/cyrusimap/cyrus-imapd/actions" target="_blank">cyrus-imapd-3.6: <img src="https://github.com/cyrusimap/cyrus-imapd/actions/workflows/main.yml/badge.svg?branch=cyrus-imapd-3.6"></a>
</div>
       
    </nav>
    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
      
      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
        <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="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
      <li><a href="../../../index.html">Docs v3.6.1</a> »</li>
      
          <li><a href="../../../developers.html">Developers</a> »</li>
      
          <li><a href="../guidance.html">Developer Guidance</a> »</li>
      
    <li>Cyrus IMAP Server: Namelocks</li>
      <li class="wy-breadcrumbs-aside">
        
          
            <a href="https://github.com/cyrusimap/cyrus-imapd/blob/cyrus-imapd-3.6/docsrc/imap/developer/guidance/namelocks.rst" class="fa fa-github"> Edit on GitHub</a>
          
        
      </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document">
            
  <span class="target" id="imap-developer-guidance-namelocks"></span><div class="section" id="cyrus-imap-server-namelocks">
<h1>Cyrus IMAP Server: Namelocks<a class="headerlink" href="#cyrus-imap-server-namelocks" title="Permalink to this headline">¶</a></h1>
<div class="section" id="intro">
<h2>Intro<a class="headerlink" href="#intro" title="Permalink to this headline">¶</a></h2>
<p>Name locks are an addition to the cyrus internals to address a range of
race conditions and complexities. These ills are most easily avoided by
ensuring that only one process can do certain operations at once. Name
locks also mean crashes can’t leave the mailbox “broken” forever.</p>
<p>Unfortunately, locks can’t be retained over a rewrite-rename cycle, and
every meta file in a regular mailbox gets rewritten upon occasion. Even
cyrus.header gets a rewrite when a new userflag is added.</p>
<p>The “RESERVED FLAG” method of handling mailbox creation is a nasty
brutish method that breaks on process crashes, causing a full
mailboxes.db sweep to be necessary on restart, and making that name
unusable until the entire server is restarted. It’s also unusable for
serialisation of operations without making the mailbox “disappear” to
other clients.</p>
<p>Mailbox names are supposed to be exclusive per server, not just per
partition, so any lock has to apply to the entire server.</p>
<p><strong>MURDER Considerations:</strong> Due to the way the mupdate protocol works,
RESERVED records are still created over mupdate. This sucks, and a
better way would be to support an “EXCLUSIVE CREATE” command, where the
create only succeeds if the record doesn’t already exist. Then a task
could create the mailbox on the local server and retain an exclusive
namelock while trying to assert the name on the mupdate server. If this
failed (someone else got in first) then the mailbox could be cleaned up
locally before releasing the exclusive namelock, meaning other users on
the local server would never see it existing.</p>
</div>
<div class="section" id="implementation">
<h2>Implementation<a class="headerlink" href="#implementation" title="Permalink to this headline">¶</a></h2>
<p>It’s a simple matter of having a file under $configdirectory/lock - in a
directory tree using the same hashing structure as the mailbox tree.
This directory can be symlinked or mounted to a tmpfs since the locks
need not persist across restarts. Due to race conditions while cleaning
up, the easiest approach is to only ever delete lock files during
restart, so the unlock code doesn’t try to remove them. Lock files are
zero byte in size, and are locked using the flock or fcntl primitives
used by the rest of cyrus.</p>
</div>
<div class="section" id="api">
<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">¶</a></h2>
<p>Lock types:</p>
<ul class="simple">
<li><p>LOCK_SHARED - shared lock on the name. Required whenever you have an
open mailbox with that name</p></li>
<li><p>LOCK_EXCLUSIVE - exclusive lock on the name. Required to create or
finish deleting a mailbox, and required when repacking the
cyrus.index and cyrus.cache files.</p></li>
<li><p>LOCK_NONBLOCKING - attempt to take an exclusive lock on the name,
but if it’s not available, return immediately with r ==
IMAP_MAILBOX_LOCKED rather than blocking until the lock is
available.</p></li>
</ul>
<p>The <code class="docutils literal notranslate"><span class="pre">mboxname</span></code> is always an <strong>internal name</strong>, so convert it first.</p>
<div class="section" id="example">
<h3>Example:<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>struct mboxlock *lock = NULL;
int locktype = LOCK_SHARED; /* or LOCK_EXCLUSIVE or LOCK_NONBLOCKING */
r = mboxname_lock("user.brong", &lock, locktype);
if (!r) {
    do_stuff();
    mboxname_release(&lock);
}
</pre></div>
</div>
<p>If mboxname_lock fails, lock will remain NULL. It should always be
initialised to NULL before being passed to mailbox_lock. It will be set
back to NULL by mboxname_release.</p>
</div>
<div class="section" id="re-locking-considerations">
<h3>Re-locking considerations<a class="headerlink" href="#re-locking-considerations" title="Permalink to this headline">¶</a></h3>
<p>It is not possible to hold multiple locks to the same name within the
same process. If you call mboxname_lock with the same name within a
process, and the <strong>same locktype</strong> then a reference counter is
incremented and the same lock is returned. If you use a <strong>different
locktype</strong> (i.e. one shared, the other exclusive. Non-blocking is
considered exclusive for this test) then IMAP_MAILBOX_LOCKED will be
returned to avoid breaking the locking semantics. This is a restriction
of the underlying fcntl/flock subsystem.</p>
<p>On the way out, the reference counter is decremented with each release
and the lock isn’t freed until the counter gets back to zero.</p>
</div>
</div>
</div>
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="prot.html" class="btn btn-neutral float-right" title="Cyrus IMAP Server: prot layer" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="mailbox-format.html" class="btn btn-neutral" title="Cyrus IMAP Server: Mailbox File Formats" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  
  <hr/>
  <div role="contentinfo">
    <p>
        © Copyright 1993–2023, The Cyrus Team. Last updated on Jun 18 2018
    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> 3.4.3 using a modified <a href="https://readthedocs.org">Read the Docs</a> <a href="https://github.com/snide/sphinx_rtd_theme">theme</a>.
</footer>
        </div>
      </div>
    </section>
  </div>
  
  
    <script type="text/javascript">
        var DOCUMENTATION_OPTIONS = {
            URL_ROOT:'../../../',
            VERSION:'3.6.1',
            COLLAPSE_INDEX:false,
            FILE_SUFFIX:'.html',
            HAS_SOURCE:  true
        };
    </script>
      <script type="text/javascript" src="../../../_static/jquery.js"></script>
      <script type="text/javascript" src="../../../_static/underscore.js"></script>
      <script type="text/javascript" src="../../../_static/doctools.js"></script>
      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
  
  
  
    <script type="text/javascript" src="../../../_static/js/theme.js"></script>
  
  
  
  <script type="text/javascript">
<!--      jQuery(function () {
          SphinxRtdTheme.StickyNav.enable();
      }); -->
  </script>
  
 
</body>
</html>
 |