| Commit message (Collapse) | Author | Age | Files |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Also, accept comma-separated values for --target.
|
|
|
|
|
|
| |
This never happens for a single LIST command, but may happen if
mailboxes from different namespaces are being listed. The workaround
here is to run a new interimap instance for each namespace.
|
|
|
|
|
| |
This is useful for defining names containing control characters (incl.
\0 for unspecified hierarchy delimiter).
|
|
|
|
| |
Also, write which --target to use in --delete command suggestions.
|
|
|
|
|
| |
The were returned as escaped quoted specials, like "\\", not as a single
character (backslash in this case).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
(instead of rolling our own)
|
|
|
|
|
| |
Unsollicited LIST responses are currently ignored, hence interimap won't
detect mailbox creation/deletion/subcription/unsubscription.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
“If the server does not know how to decode the section's CTE, it MUST
fail the request and issue a "NO" response that contains the
"UNKNOWN-CTE" extended response code.” — [RFC3516 section 4.3]
Unfortunately the client doesn't know which message couldn't be decoded,
so it can't fallback and use BODY instead.
This made ‘use-binary=NO’ pretty much mandatory. Hence we remove
support for BINARY [RFC3516]. Instead, we increase the thresold for
when to add Zlib full flush points from 4096 to the buffer size (32768).
|
|
|
|
|
| |
Sending any signal while some mails are being copied interrupts the
syscall (eg, write) and attempting to resume crashes interimap.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately as of Debian Wheezy it doesn't work for Dovecot with
COMPRESS=DEFLATE [RFC4978] and non-synchronizing literals.
perl -e 'use Compress::Raw::Zlib;
print "a COMPRESS DEFLATE\r\n";
sleep 1;
my $d = new Compress::Raw::Zlib::Deflate( -WindowBits => -15 );
$d->deflate("b APPEND TRASH ~{1+}\r\nx\r\n", my $buf);
print $buf;
$d->flush($buf, Z_SYNC_FLUSH);
print $buf;
sleep 1;
' | /usr/lib/dovecot/imap
imap(guilhem): Panic: stream doesn't support seeking backwards
Interestingly, it works just fine for non-binary literals:
perl -e 'use Compress::Raw::Zlib;
print "a COMPRESS DEFLATE\r\n";
sleep 1;
my $d = new Compress::Raw::Zlib::Deflate( -WindowBits => -15 );
$d->deflate("b APPEND TRASH {1+}\r\nx\r\n", my $buf);
print $buf;
$d->flush($buf, Z_SYNC_FLUSH);
print $buf;
sleep 1;
' | /usr/lib/dovecot/imap
However I can't reproduce the problem Dovecot 2.2.18 and Debian Sid (but
it doesn't help to install Dovecot from testing to my Wheezy box.)
|
|
|
|
|
| |
Also, add traffic statistics after closing the connection to the IMAP
server.
|
| |
|
| |
|
| |
|
|
|
|
| |
So we can clean after us (and for instance remove the lockfile).
|
|
To avoid confusion with http://imapsync.lamiral.info .
|