aboutsummaryrefslogtreecommitdiffstats
path: root/Changelog
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2019-05-15 05:06:07 +0200
committerGuilhem Moulin <guilhem@fripost.org>2019-05-27 00:07:30 +0200
commit25362c873c7641341f17e9c2e8d17d82cb3d94c5 (patch)
tree077832734c613e28c3037138f482ff1ed2db3d77 /Changelog
parentce35ea5f320184a9626f945fdf5a1648062d3e18 (diff)
interimap: avoid caching hierarchy delimiters forever in the database.
Following recommendation from https://www.imapwiki.org/ClientImplementation/MailboxList#Hierarchy_separators Instead, use null characters internally, and substitute them with the local and remote hierarchy delimiters (which thus no longer need to match) for IMAP commands. This require a database schema upgrade to alter the mailbox name column type from TEXT to BLOB. We're using SQLite's user_version PRAGMA to keep track of schema version; beware that `.dump` doesn't export its value! In logging messages, local and remote mailbox names are shown as is (with their respective delimiters) while database mailbox names are shown by replacing null characters with the *local* hierarchy delimiter. Moreover for mailbox names specified on the command line or the configuration file (with the "list-mailbox" option) the *local* hierarchy delimiter should be used.
Diffstat (limited to 'Changelog')
-rw-r--r--Changelog13
1 files changed, 13 insertions, 0 deletions
diff --git a/Changelog b/Changelog
index 791df24..0a31639 100644
--- a/Changelog
+++ b/Changelog
@@ -10,6 +10,14 @@ interimap (0.5) upstream;
namespace.
+ interimap: write which --target to use in --delete command
suggestions.
+ + interimap: avoid caching hierarchy delimiters forever in the
+ database. Instead, use null characters internally, and substitute
+ them with the local and remote hierarchy delimiters (which thus no
+ longer need to match) for IMAP commands. This require a database
+ schema upgrade to alter the mailbox name column type from TEXT to
+ BLOB.
+ + interimap: use the 'user_version' SQLite PRAGMA for database schema
+ version.
- libinterimap: bugfix: hierarchy delimiters in LIST responses were
returned as an escaped quoted special, like "\\", not as a single
character (backslash in this case).
@@ -25,6 +33,11 @@ interimap (0.5) upstream;
- interimap: unlike what the documentation said, 'ignore-mailbox' was
not ignored when names were specified as command line arguments.
- interimap: accept comma-separated values for --target.
+ - interimap: --rename of a \NonExistent mailbox didn't trigger a RENAME
+ command on the local/remote IMAP servers, nor an update of the
+ 'mailboxes' table.
+ - interimap: don't try to delete \NoSelect mailboxes (it's an error per
+ RFC 3501 sec. 6.3.4).
-- Guilhem Moulin <guilhem@fripost.org> Fri, 10 May 2019 00:58:14 +0200