aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2019-07-07 03:45:35 +0200
committerGuilhem Moulin <guilhem@fripost.org>2019-07-07 04:02:18 +0200
commit17ecce0dd72fd3b857210fbff3f356afc9ba0f75 (patch)
tree29834e996b975cb9c67b39844bf4f64b3229e7dd
parent550f778dbcb84a9aa67732b1fff0191b55bea24c (diff)
interimap.1: Clarify handling of delimiter in mailbox names.
-rw-r--r--doc/interimap.1.md13
-rwxr-xr-xinterimap2
2 files changed, 12 insertions, 3 deletions
diff --git a/doc/interimap.1.md b/doc/interimap.1.md
index d7c3711..b7707af 100644
--- a/doc/interimap.1.md
+++ b/doc/interimap.1.md
@@ -85,7 +85,10 @@ However if some extra argument are provided on the command line,
`interimap` ignores these options and synchronizes the given
*MAILBOX*es instead. Note that each *MAILBOX* is taken “as is”; in
particular, it must be [UTF-7 encoded][RFC 2152], unquoted, and the list
-wildcards ‘\*’ and ‘%’ are passed verbatim to the IMAP server.
+wildcards ‘\*’ and ‘%’ are passed verbatim to the IMAP server. If the
+local and remote hierarchy delimiter differ, then within the *MAILBOX*
+names the *local* delimiter should be used (it is transparently
+substituted for remote commands and responses).
If the synchronization was interrupted during a previous run while some
messages were being replicated (but before the `UIDNEXT` or
@@ -245,7 +248,13 @@ Valid options are:
Two wildcards are available, and passed verbatim to the IMAP server:
a ‘\*’ character matches zero or more characters, while a ‘%’
character matches zero or more characters up to the hierarchy
- delimiter.
+ delimiter. Hardcoding the hierarchy delimiter in this setting is
+ not advised because the server might silently change it at some
+ point. A null character should be used instead. For instance, if
+ *list-mailbox* is set `"foo\x00bar"` then, assuming the hierarchy
+ delimiter is ‘/’, only the mailbox named `foo/bar` is considered for
+ synchronization.
+
This option is only available in the default section.
(The default pattern, `*`, matches all visible mailboxes on the
server.)
diff --git a/interimap b/interimap
index 7054f88..ab96c9c 100755
--- a/interimap
+++ b/interimap
@@ -280,7 +280,7 @@ sub list_mailboxes($) {
# INBOX exists in a namespace of its own, so it may have a different separator.
# All other mailboxes MUST have the same separator though, per 3501 sec. 7.2.2
- # and https://www.imapwiki.org/ClientImplementation/MailboxList#Hierarchy_separators
+ # and https://imapwiki.org/ClientImplementation/MailboxList#Hierarchy_separators
# (We assume all list-mailbox arguments given live in the same namespace. Otherwise
# the user needs to start multiple interimap instances.)
delete $delims->{INBOX};