aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFiles
...
* typofixGuilhem Moulin2020-08-031
|
* libinterimap: fail when a capability to ENABLE is missing from the server's ↵Guilhem Moulin2020-08-032
| | | | CAPABILITY listing.
* Bump version number.Guilhem Moulin2020-08-032
|
* Makefile: remove 'smart' extension from pandoc call to generate manuals.Guilhem Moulin2020-08-032
|
* HTML: Add background color to code snippets.Guilhem Moulin2020-07-021
|
* Prepare new release.upstream/0.5.1Guilhem Moulin2020-07-021
|
* Makefile: Major refactoring, add install and uninstall targets.Guilhem Moulin2020-07-026
| | | | | | Honor BUILD_DOCDIR and DESTDIR variables. Also, remove the `use lib` statement from our executables.
* Bump version number.Guilhem Moulin2020-07-022
|
* pullimap: Also compare RFC 5322 date and envelope information in mailbox ↵Guilhem Moulin2020-07-022
| | | | comparison tests.
* doc/development.md: Fix broken link.Guilhem Moulin2020-07-011
|
* doc/getting-started.md: Link to the IMAP wiki for QRESYNC support in IMAPd.Guilhem Moulin2020-05-121
|
* index: Add a short summary to the index.Guilhem Moulin2020-05-121
| | | | Per Stefan Kangas' suggestion.
* Fix version number.Guilhem Moulin2020-01-291
|
* doc/template.html: Switch from Glyphicons to Font Awesome.upstream/0.5Guilhem Moulin2020-01-031
|
* tests/run: Don't redirect stderr by process substitution.Guilhem Moulin2019-12-151
| | | | This seems to cause timing issues.
* tests/*/t: Increase timeout from 2 to 5s after background syncs.Guilhem Moulin2019-12-154
|
* typofixGuilhem Moulin2019-12-141
| | | | Closes: #946727.
* Prepare new release candidate.upstream/0.5-rcGuilhem Moulin2019-12-141
|
* doc/getting-started.md: Clarify use of `exec` built-in.Guilhem Moulin2019-12-131
|
* Add documentation for multi-remote setups.Guilhem Moulin2019-12-133
|
* New test for hierarchy delimiter change.Guilhem Moulin2019-12-134
| | | | | | | Cf. https://www.imapwiki.org/ClientImplementation/MailboxList#Hierarchy_separators “Some clients cache the hierarchy separator forever. This has problems if the server configuration is changed (e.g. server software changed). Try to avoid this problem.”
* doc/index.md: Include link to benchmark.Guilhem Moulin2019-11-221
|
* interimap(1): Add link to the "getting started" guide.Guilhem Moulin2019-11-191
|
* typofixGuilhem Moulin2019-11-191
|
* Add benchmark metrics, with timings and network + memory usage.Guilhem Moulin2019-11-196
| | | | Along with a comparison with OfflineIMAP.
* interimap(1): No longer recommend the NOTIFY extension.Guilhem Moulin2019-11-191
| | | | | As of 0.4 --notify is no longer used in the systemd service file, cf. d19ba0a20d0d7a7ec288c93df329210b31bf3c51.
* pullimap: Fix mangling of data lines starting with a dot.Guilhem Moulin2019-11-184
| | | | | | | Some LMTP servers, Dovecot's in particular, trims leading dots that are not doubled (e.g. “.foo” would become “foo”). In RFC 5322 sec. 4.5.2 explicitly says that when an RFC 5322 line starts with a '.', the character needs to be doubled.
* pullimap: Treat messages with a NIL RFC822 attribute as empty.Guilhem Moulin2019-11-182
|
* interimap: Gracefully ignore messages with NIL RFC822 attribute.Guilhem Moulin2019-11-172
| | | | | | Like we do for zero-length messages. Closes: #944812.
* Improve “UIDVALIDITY changed!” error message.Guilhem Moulin2019-11-152
| | | | | Mention the name of the problematic mailbox. (We may detect the violation while not in SELECTED state.)
* doc/*: Explicit anchors.Guilhem Moulin2019-11-152
| | | | This uses the ‘header_attributes’ markdown extension.
* doc/build.md: Update list of dependencies for the test suite.Guilhem Moulin2019-11-141
|
* doc/*: Update links to the Dovecot wiki.Guilhem Moulin2019-11-141
| | | | | Some of these pages, for instance https://wiki.dovecot.org/UserDatabase , are now redirecting to https://doc.dovecot.org/configuration_manual/… .
* Add "getting started" documentation.Gustav Eek2019-11-134
|
* Makefile: factor out jq script for roff generation.Guilhem Moulin2019-11-132
|
* Fix minor space damage.Guilhem Moulin2019-11-131
|
* Test suite: add new test for pullimap(1).Guilhem Moulin2019-11-139
| | | | | This adds a dependency on Dovecot's LMTPd, which will bind to to TCP port 10024 on the loopback interface.
* Avoid sending large UID EXPUNGE|FETCH|STORE and APPEND commands.Guilhem Moulin2019-11-138
| | | | | | | | | | | | | | | | | | | | | | UID EXPUNGE|FETCH|STORE commands are now split into multiple (sequential) commands when their set representation exceeds 4096 bytes in size. Without splitting logic set representations could grow arbitrarily large, and exceed the server's maximum command size. This adds roundtrips which could be eliminated by pipelining, but it's unlikely to make any difference in typical synchronization work. While set representations seem to remain small in practice, they might grow significantly if many non-contiguous UIDs were flagged and/or expunged, and later synchronized at once. Furthermore, for MULTIAPPEND-capable servers, the number of messages is limited to 128 per APPEND command (also subject to a combined literal size of 1MiB like before). These numbers are currently not configurable. They're intentionally lower than Dovecot's default maximum command size (64k) in order to avoid a deadlock situation after sending 8k-long commands under COMPRESS=DEFLATE: https://dovecot.org/pipermail/dovecot/2019-November/117522.html .
* Net::IMAP::InterIMAP: Don't export $IMAP_text and $IMAP_cond.Guilhem Moulin2019-11-131
|
* Net::IMAP::InterIMAP::push_flag_updates() bugfixes.Guilhem Moulin2019-11-134
| | | | | | | | | | | | | | The UNCHANGEDSINCE test from the CONDSTORE extension was incorrectly placed after the flag list in UID STORE commands. In practice this meant the server didn't add the MODIFIED code when needed. The server won't send an untagged FETCH command (and won't increase the message's MODSEQ) if no change was made to the flag list. A panic() was incorrectly triggered in that case. When the flag list was set (by another client) to a superset of the UID STORE command currently processed, the extra flags were not synchronized. Cf. RFC 7162 sec. 3.1.3 ex. 10.
* interimap: raise SELECT sample set size from 64 to 256 bytes.Guilhem Moulin2019-11-132
| | | | | | | | | | | | | | A n-bytes set covers at least ⌊(n+1)/11⌋ UIDs (UIDs are at most 10 bytes of size), hence 23 UIDs for 256 bytes long sets. However we exceed it by another range, so in the worst case (if the the higher UIDs are sparse) we'll sample ⌊(n+1)/11+1⌋ UIDs: 1000000000,1000000002,1000000004,…,1000000046 This was 6 UIDs for n=64 which is a tad low; this is now raised to 24 UIDs. The actual set size returned by sample() is of max size n+22 bytes (extra "$UID1:$UID2," where $UID1 and $UID2 are both ≥10⁹).
* Bump minimum Perl for Net::IMAP::InterIMAP to v5.20.Guilhem Moulin2019-11-132
| | | | | We're using s///r which was introduced in 5.14, and hash slices which were introduced in 5.20.
* Test suite: add new test for COMPRESS=DEFLATE.Guilhem Moulin2019-11-134
| | | | | An imapd is required as `doveadm exec imap` won't offer COMPRESS=DEFLATE in its capability list.
* Test suite: add new tests for SSL/TLS.Guilhem Moulin2019-11-1330
| | | | | SSL connections are accepted on TCP port 10993. Also, fix STARTTLS directive, broken since fba1c36…
* Test suite: don't treat broken symlinks as missing.Guilhem Moulin2019-11-131
| | | | | `test -f` deferences paths so fails on broken symlinks, yielding an incorrect test environment and perhaps even a false negative.
* Test suite: add new tests for authentication.Guilhem Moulin2019-11-1321
| | | | | | | | | This can't be done with `doveadm exec imap`, so the IMAPd needs to bind to TCP port 10143 on the loopback interface. Also, no longer pass ‘imap_capability’ Dovecot setting explicitely to `doveadm exec imap`; changed tests/sync-live-crippled to use type=imap instead of type=tunnel.
* Refactor and improve test suite.Guilhem Moulin2019-11-13118
|
* interimap.sample: remove leading `exec`.Guilhem Moulin2019-11-091
| | | | | | The value is passed to `/bin/sh -c` if it contains shell metacharacters; otherwise it is split into words and the resulting list is passed to execvp(3).
* Remove deprecated/buggy 'o' regexp modifier.Guilhem Moulin2019-11-083
|
* libinterimap: honor compress={Yes/No}.Guilhem Moulin2019-11-082
|