blob: c27f4ec1b6da825aa408ff07bdc1ffd283c66360 (
plain)
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
|
Dovecot Design
==============
* <Overview of Dovecot processes> [Design.Processes.txt]
* <Design of index files> [Design.Indexes.txt]
* <API for accessing the index files> [Design.Indexes.MailIndexApi.txt]
* <Design of authentication process> [Design.AuthProcess.txt]
* <Authentication protocol> [Design.AuthProtocol.txt]
* <Design of IMAP/POP3 processes> [Design.MailProcess.txt]
* <Doveadm server protocol> [Design.DoveadmProtocol.txt] and <Doveadm HTTP
server protocol> [Design.DoveadmProtocol.HTTP.txt]
* <Doveadm synchronization> [Design.Dsync.txt]
* <Dovecot Lua support> [Design.Lua.txt]
Protocol extensions
-------------------
* <Forwarding parameters in IMAP/POP3/LMTP/SMTP proxying>
[Design.ParameterForwarding.txt]
Code APIs
---------
* <Code design> [Design.Code.txt] - explanations how and why the coding style
is the way it is
Look at the *.h files for the actual API documentation. The documentation below
doesn't attempt to list full API documentation.
liblib:
* <Memory allocations> [Design.Memory.txt]
* <Static/dynamic buffers> [Design.Buffers.txt]
* <Dynamic arrays> [Design.Arrays.txt]
* <String handling> [Design.Strings.txt]
* <Input streams> [Design.InputStreams.txt]
* <Output streams> [Design.OutputStreams.txt]
* <Events> [Design.Events.txt]
* <Plugins> [Design.Plugins.txt]
lib-dcrypt:
* <lib-dcrypt data formats> [Design.Dcrypt.txt]
lib-storage:
* <Mail user> [Design.Storage.MailUser.txt] contains everything related to a
single user.
* <Mail namespace> [Design.Storage.MailNamespace.txt]: A single user can
contain multiple <namespaces> [Namespaces.txt].
* <Mailbox list> [Design.Storage.MailboxList.txt] is used to list/manage a
list of mailboxes for a single namespace (1:1 relationship).
* <Mail storage> [Design.Storage.MailStorage.txt] is used to access mails in a
specific location with a specific mailbox format. Multiple namespaces can
point to the same storage. A single namespace may in future (but not
currently) point to multiple storages (e.g. a mixed mbox and Maildir
directory).
* <Mailbox> [Design.Storage.Mailbox.txt] is used to access a specific mailbox
in a storage.
* <Mail> [Design.Storage.Mail.txt] is used to access a specific mail in a
mailbox.
* <Error handling> [Design.Storage.ErrorHandling.txt].
* <Plugins> [Design.Storage.Plugins.txt] - how to hook into lib-storage
functions.
(This file was created from the wiki on 2019-06-19 12:42)
|