4727
Comment:
|
5325
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= IMAP Server Compliance = | = IMAP Server Compliancy Status = |
Line 16: | Line 16: |
* Failures: Number of failures using [:ImapTest/Tests:command/reply tests] (failures / number of tests). These numbers may not be exact all the time, because the tests are still changing. Also the numbers are actually about "test groups", not individual tests. This field will be removed once all servers have their base/ext numbers. * Base fails: Number of individual base IMAP4rev1 protocol commands that failed. * Ext fails: Number of individual IMAP extension commands that failed. Extensions not supported aren't included in the numbers. |
* Failures (failures/total): Number of failures using [[ImapTest/ScriptedTests|scripted tests]]. These numbers may not be exact all the time, because the tests are still changing. * Failure groups: Each test belongs to a wider group of tests, typically testing a command or part of a command. If this count is low but individual command failure count is high, it probably means that the server has failed to implement wrong only a couple of commands. * Base fails: Number of individual base IMAP4rev1 protocol commands that failed. * Ext fails: Number of individual IMAP extension commands that failed. Extensions not supported aren't included in the numbers. |
Line 22: | Line 24: |
|| '''Server''' || '''Checkpoint''' || '''\Recent''' || '''Atomic flags''' || '''Expunge fetch''' || '''Expunge store''' || '''Failures''' || '''Base fails''' || '''Ext fails''' || || [http://www.dovecot.org/ Dovecot] 1.1.0+ || Yes || Yes || Yes || Cached || Yes || 0/34 || 0/328 || 0/97 || || [http://panda.com/imap/ Panda IMAP] 2008, mix format || Yes || Yes || Yes || Yes || Session || 0/34 || 0/328 || 0/97 || |
|| '''Server''' || '''Checkpoint''' || '''\Recent''' || '''Atomic flags''' || '''Expunge fetch''' || '''Expunge store''' || '''Failure groups''' || '''Base fails''' || '''Ext fails''' || || [[http://www.dovecot.org/|Dovecot]] 1.1.5+ || Yes || Yes || Yes || Yes / Cached (depends on storage) || Yes || 0/40 || 0/403 || 0/100 || || [[http://panda.com/imap/|Panda IMAP]] 2008, mix format || Yes || Yes || Yes || Yes || Session || 0/34 || 0/328 || 0/97 || || [[http://netwinsite.com/surgemail/|SurgeMail]] 5.0h3 || Yes || Yes || Yes || Yes || Yes || 0/35 || 0/342 || 0/26 || |
Line 28: | Line 31: |
|| '''Server''' || '''Checkpoint''' || '''\Recent''' || '''Atomic flags''' || '''Expunge fetch''' || '''Expunge store''' || '''Failures''' || '''Base fails''' || '''Ext fails''' || || [http://www.dovecot.org/ Dovecot] 1.0.15 || Yes || Unreliable || Bugs || Cached || Yes || 2/34 || 4/328 || 2/53 || || [http://www.washington.edu/imap/ UW-IMAP] 2007b, mix format || Yes || Yes || Yes || Yes || Session || 2/34 || 0/328 || 6/53 || || [http://www.isode.com/products/m-box.html Isode M-Box] 14.3a0 || No || Unreliable || Yes || Cached || Ignored || 6/34 || 0/328 || 8/97 || || [http://www.communigate.com/community/ CommuniGate Pro] 5.2.1 || Yes || Yes || Yes || Cached (some) || No || 8/34 || 8/328 || 0/0 || || [http://cyrusimap.web.cmu.edu/ Cyrus] 2.3.12p2 || No || Unreliable || Bugs || Cached || Delayed || 9/34 || 11/328 || 6/53 || || [http://www.sun.com/software/products/messaging_srvr/index.xml Sun Java Messenging Server] 6.3-0.15 || No || Unreliable || Bugs || Yes || Delayed || 9/34 || 17/328 || 9/21 || || [http://www.courier-mta.org/imap/ Courier] 4.3.1 || Yes || Unreliable || Yes || No || No || 18/34 || 33/328 || 20/53 || || [http://www.zimbra.com/ Zimbra] 5.0.5 || Yes || Yes || Yes || Cached || No || 8/34 || 50/328 || 2/33 || || [http://www.citadel.org/ Citadel] 7.36 || No || Unreliable || Yes || Yes || Session (flag changes are never seen by other sessions) || 19/34 || ? || ? || || [http://www.gmail.com/ GMail] 2008-09-20 || No || Not implemented || Bugs || Yes || No (\Deleted flag expunges) || 15/34 || 36/328 || 0/0 || || [http://www.dbmail.org/ dbmail] 2.3.3 |||||| Crashes too early to test. APPEND missing EXISTS replies. || Yes || Delayed (always) || ? || ? || ? || |
|| '''Server''' || '''Checkpoint''' || '''\Recent''' || '''Atomic flags''' || '''Expunge fetch''' || '''Expunge store''' || '''Failure groups''' || '''Base fails''' || '''Ext fails''' || || [[http://www.washington.edu/imap/|UW-IMAP]] 2007b, mix format || Yes || Yes || Yes || Yes || Session || 2/34 || 0/328 || 6/53 || || [[http://www.isode.com/products/m-box.html|Isode M-Box]] 14.3a0 || No || Unreliable || Yes || Cached || Ignored || 4/40 || 1/408 || 8/112 || || [[http://www.dovecot.org/|Dovecot]] 1.0.15 || Yes || Unreliable || Bugs || Cached || Yes || 2/34 || 4/328 || 2/53 || || [[http://www.communigate.com/community/|CommuniGate Pro]] 5.2.1 || Yes || Yes || Yes || Cached (some) || No || 8/34 || 8/328 || 0/0 || || [[http://cyrusimap.web.cmu.edu/|Cyrus]] 2.3.12p2 || No || Unreliable || Bugs || Cached || Delayed || 9/34 || 11/328 || 6/53 || || [[http://www.sun.com/software/products/messaging_srvr/index.xml|Sun Java Messenging Server]] 6.3-0.15 || No || Unreliable || Bugs || Yes || Delayed || 9/34 || 17/328 || 9/21 || || [[http://www.archiveopteryx.org/|Archiveopteryx]] 3.0.3 || No || Unreliable || No || No || No || 13/38 || 25/346 || 6/26 || || [[http://www.courier-mta.org/imap/|Courier]] 4.3.1 || Yes || Unreliable || Yes || No || No || 18/34 || 33/328 || 20/53 || || [[http://www.gmail.com/|GMail]] 2008-09-20 || No || Not implemented || Bugs || Yes (but FETCH FLAGS dies) || No || 15/34 || 36/328 || 0/0 || || [[http://drupal.zarafa.com/download-community|Zarafa]] 6.20 || No || Unreliable || Yes || No || No || 15/40 || 41/403 || 0/0 || || [[http://www.zimbra.com/|Zimbra]] 5.0.5 || Yes || Yes || Yes || Cached || No || 8/34 || 50/328 || 2/33 || || [[http://www.microsoft.com/exchange/default.mspx|MS Exchange]] || No || Unreliable || ? || No || No || 16/40 || 52/287 || 0/0 || || [[http://www.citadel.org/|Citadel]] 7.36 || No || Unreliable || Yes || Yes || Session (flag changes are never seen by other sessions) || 19/34 || 98/328 || 0/0 || || [[http://www.dbmail.org/|dbmail]] 2.3.4 (2.3.x = unstable/dev version - 2.2.x is even worse though) || No || Unreliable || No || Yes || Delayed (always) |||||| Crashes in the middle. || |
Line 44: | Line 50: |
|| [http://www.archiveopteryx.org/ Archiveopteryx] 3.0.0 || ? || ? || ? || No || No || EXPUNGEs are sent wrong || || [http://www.ibm.com/software/lotus/products/notes/ IBM Domino] 8.0 || No || Unreliable || ? || ? || No || 16/34 - Too many EXPUNGEs are sent, EXISTS is dropped before sending EXPUNGEs, FETCHing with valid messagesets produce errors || || [http://www.kerio.eu/kms_home.html Kerio Mail Server] 6.5.1 || ? || ? || ? || ? || ? || 18/34 - EXPUNGEs are sent wrong || || [http://drupal.zarafa.com/download-community Zarafa] 6.20 beta 3 || - || - || - || - || - || 19/21 - No EXPUNGEs are sent from other sessions, EXISTS is used to drop message count || |
|| [[http://www.ibm.com/software/lotus/products/notes/|IBM Domino]] 8.0 || No || Unreliable || ? || ? || No || 16/34 - Too many EXPUNGEs are sent, EXISTS is dropped before sending EXPUNGEs, FETCHing with valid messagesets produce errors || || [[http://www.kerio.eu/kms_home.html|Kerio Mail Server]] 6.5.1 || ? || ? || ? || ? || ? || 18/34 - EXPUNGEs are sent wrong || || [[http://www.axigen.com/|Axigen]] 7.1.2 || ? || Unreliable || Yes || Broken || Broken || 19/312 - FETCH/STORE sends EXPUNGEs immediately || |
IMAP Server Compliancy Status
- Checkpoint: checkpoint parameter works. When issuing a CHECK command in all sessions, their state looks identical.
- \Recent: Exactly one session sees a new message as \Recent - no more and no less.
- Atomic flags: Flags and keywords can be added/removed in multiple sessions without one session dropping changes made by other (own_flags test)
- Expunge fetch: If message is expunged in one session, can another session that still sees the message fetch its contents?
- Yes: Yes, everything can be fetched
- Cached: Only cached data can be fetched. Message header or body can't be.
- No: Nothing but flags can be fetched.
- Expunge store: If message is expunged in one session, can another session update its flags?
- Yes: Yes, and a 3rd session also sees the change
- Session: Yes, but a 3rd session won't see the change
Delayed: Yes, but a 3rd session won't see any changes until EXPUNGEs are reported
- Ignored: STORE command replies OK, but no change is made
- No: STORE command replies NO
Failures (failures/total): Number of failures using scripted tests. These numbers may not be exact all the time, because the tests are still changing.
- Failure groups: Each test belongs to a wider group of tests, typically testing a command or part of a command. If this count is low but individual command failure count is high, it probably means that the server has failed to implement wrong only a couple of commands.
- Base fails: Number of individual base IMAP4rev1 protocol commands that failed.
- Ext fails: Number of individual IMAP extension commands that failed. Extensions not supported aren't included in the numbers.
Fully compliant servers:
Server |
Checkpoint |
\Recent |
Atomic flags |
Expunge fetch |
Expunge store |
Failure groups |
Base fails |
Ext fails |
Dovecot 1.1.5+ |
Yes |
Yes |
Yes |
Yes / Cached (depends on storage) |
Yes |
0/40 |
0/403 |
0/100 |
Panda IMAP 2008, mix format |
Yes |
Yes |
Yes |
Yes |
Session |
0/34 |
0/328 |
0/97 |
SurgeMail 5.0h3 |
Yes |
Yes |
Yes |
Yes |
Yes |
0/35 |
0/342 |
0/26 |
Non-compliant servers:
Server |
Checkpoint |
\Recent |
Atomic flags |
Expunge fetch |
Expunge store |
Failure groups |
Base fails |
Ext fails |
UW-IMAP 2007b, mix format |
Yes |
Yes |
Yes |
Yes |
Session |
2/34 |
0/328 |
6/53 |
Isode M-Box 14.3a0 |
No |
Unreliable |
Yes |
Cached |
Ignored |
4/40 |
1/408 |
8/112 |
Dovecot 1.0.15 |
Yes |
Unreliable |
Bugs |
Cached |
Yes |
2/34 |
4/328 |
2/53 |
CommuniGate Pro 5.2.1 |
Yes |
Yes |
Yes |
Cached (some) |
No |
8/34 |
8/328 |
0/0 |
Cyrus 2.3.12p2 |
No |
Unreliable |
Bugs |
Cached |
Delayed |
9/34 |
11/328 |
6/53 |
Sun Java Messenging Server 6.3-0.15 |
No |
Unreliable |
Bugs |
Yes |
Delayed |
9/34 |
17/328 |
9/21 |
Archiveopteryx 3.0.3 |
No |
Unreliable |
No |
No |
No |
13/38 |
25/346 |
6/26 |
Courier 4.3.1 |
Yes |
Unreliable |
Yes |
No |
No |
18/34 |
33/328 |
20/53 |
GMail 2008-09-20 |
No |
Not implemented |
Bugs |
Yes (but FETCH FLAGS dies) |
No |
15/34 |
36/328 |
0/0 |
Zarafa 6.20 |
No |
Unreliable |
Yes |
No |
No |
15/40 |
41/403 |
0/0 |
Zimbra 5.0.5 |
Yes |
Yes |
Yes |
Cached |
No |
8/34 |
50/328 |
2/33 |
No |
Unreliable |
? |
No |
No |
16/40 |
52/287 |
0/0 |
|
Citadel 7.36 |
No |
Unreliable |
Yes |
Yes |
Session (flag changes are never seen by other sessions) |
19/34 |
98/328 |
0/0 |
dbmail 2.3.4 (2.3.x = unstable/dev version - 2.2.x is even worse though) |
No |
Unreliable |
No |
Yes |
Delayed (always) |
Crashes in the middle. |
Major problems with multiple connections (makes further testing difficult and MAY CAUSE ACCIDENTAL MAIL LOSS!):
Server |
Checkpoint |
\Recent |
Atomic flags |
Expunge fetch |
Expunge store |
Failures |
IBM Domino 8.0 |
No |
Unreliable |
? |
? |
No |
16/34 - Too many EXPUNGEs are sent, EXISTS is dropped before sending EXPUNGEs, FETCHing with valid messagesets produce errors |
Kerio Mail Server 6.5.1 |
? |
? |
? |
? |
? |
18/34 - EXPUNGEs are sent wrong |
Axigen 7.1.2 |
? |
Unreliable |
Yes |
Broken |
Broken |
19/312 - FETCH/STORE sends EXPUNGEs immediately |