]>
git.g-eek.se Git - interimap.git/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Guilhem Moulin [Sun, 13 Sep 2015 11:37:50 +0000 (13:37 +0200)]
Fix detection of boolean options.
Guilhem Moulin [Thu, 10 Sep 2015 22:30:23 +0000 (00:30 +0200)]
Use 0/1 internally for 'NO'/'YES'.
Guilhem Moulin [Thu, 10 Sep 2015 22:20:10 +0000 (00:20 +0200)]
Factor the SSL code (imaps and STARTTLS).
Also, add SSL options SINGLE_ECDH_USE, SINGLE_DH_USE, NO_SSLv2, NO_SSLv3
and NO_COMPRESSION to the compiled-in CTX options.
And use SSL_MODE_AUTO_RETRY to avoid SSL_read failures during a
handshake.
Guilhem Moulin [Thu, 10 Sep 2015 18:39:50 +0000 (20:39 +0200)]
Print IMAP traffic stats when receiving a SIGHUP.
Guilhem Moulin [Thu, 10 Sep 2015 18:19:36 +0000 (20:19 +0200)]
Don't warn that no compression is enabled if the server doesn't support it.
Guilhem Moulin [Thu, 10 Sep 2015 01:38:40 +0000 (03:38 +0200)]
wibble
Guilhem Moulin [Wed, 9 Sep 2015 21:32:41 +0000 (23:32 +0200)]
Exit with return value 0 when receiving a TERM signal.
Guilhem Moulin [Wed, 9 Sep 2015 20:44:00 +0000 (22:44 +0200)]
Bump version.
Guilhem Moulin [Wed, 9 Sep 2015 20:30:00 +0000 (22:30 +0200)]
Add a list of supported extensions.
Guilhem Moulin [Wed, 9 Sep 2015 19:37:35 +0000 (21:37 +0200)]
Refactoring.
Guilhem Moulin [Wed, 9 Sep 2015 14:05:36 +0000 (16:05 +0200)]
Add support for the Binary Content extension [RFC3516].
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.)
Guilhem Moulin [Tue, 8 Sep 2015 23:18:14 +0000 (01:18 +0200)]
Add a configuration option 'null-stderr=YES'.
To send STDERR to /dev/null for type=tunnel.
Guilhem Moulin [Tue, 8 Sep 2015 22:44:05 +0000 (00:44 +0200)]
Add support for the IMAP COMPRESS extension [RFC4978].
Also, add traffic statistics after closing the connection to the IMAP
server.
Guilhem Moulin [Mon, 7 Sep 2015 23:02:23 +0000 (01:02 +0200)]
wibble
Guilhem Moulin [Mon, 7 Sep 2015 22:59:39 +0000 (00:59 +0200)]
Add an option --watch to keep the connections open and wait for changes.
Guilhem Moulin [Mon, 7 Sep 2015 22:20:57 +0000 (00:20 +0200)]
wibble
Guilhem Moulin [Mon, 7 Sep 2015 22:17:24 +0000 (00:17 +0200)]
Block SIGINT signals to the children for type=tunnel.
So we can clean after us (and for instance remove the lockfile).
Guilhem Moulin [Mon, 7 Sep 2015 15:36:00 +0000 (17:36 +0200)]
Rename ‘imapsync’ to ‘interimap’.
To avoid confusion with http://imapsync.lamiral.info .
Guilhem Moulin [Mon, 7 Sep 2015 13:49:21 +0000 (15:49 +0200)]
Add a note imapsync vs. offlineimap.
Guilhem Moulin [Mon, 7 Sep 2015 13:16:33 +0000 (15:16 +0200)]
Add instruction for how to build a Debian package from the last release.
Guilhem Moulin [Sun, 6 Sep 2015 20:31:49 +0000 (22:31 +0200)]
Add instructions for how to build the Debian package.
Guilhem Moulin [Sun, 6 Sep 2015 20:28:49 +0000 (22:28 +0200)]
Promote SSH connections to the remote IMAP server.
Guilhem Moulin [Sun, 6 Sep 2015 19:44:43 +0000 (21:44 +0200)]
wibble
Guilhem Moulin [Sun, 6 Sep 2015 19:26:00 +0000 (21:26 +0200)]
Getopt::Long is a core module.
Guilhem Moulin [Sun, 6 Sep 2015 18:58:52 +0000 (20:58 +0200)]
Fix typo: lUID ↔ rUID.
Guilhem Moulin [Sun, 6 Sep 2015 18:51:37 +0000 (20:51 +0200)]
Message Sequence Match Data: sequence set come before UIDs.
Cf. RFC 7162:
seq-match-data = "(" known-sequence-set SP known-uid-set ")"
Guilhem Moulin [Sat, 5 Sep 2015 15:30:07 +0000 (17:30 +0200)]
Add README file.
Guilhem Moulin [Sat, 5 Sep 2015 15:20:21 +0000 (17:20 +0200)]
Add INSTALL file.
Guilhem Moulin [Sat, 5 Sep 2015 15:04:14 +0000 (17:04 +0200)]
typo
Guilhem Moulin [Sat, 5 Sep 2015 14:44:51 +0000 (16:44 +0200)]
Sample UIDs in SELECT $mailbox (QRESYNC ...) commands.
This should avoids most false-positive among messages reported as
VANISHED by the server but unknown from the database. The reason for
this server behavior is that QRESYNC [RFC7162] doesn't force the server
to remember the MODSEQs of EXPUNGEd messages. By passing a sample of
known UIDs/sequence numbers we let the server know that the messages
have been EXPUNGEd [RFC7162, section 3.2.5.2].
Guilhem Moulin [Tue, 1 Sep 2015 12:59:00 +0000 (14:59 +0200)]
typo
Guilhem Moulin [Tue, 1 Sep 2015 01:14:58 +0000 (03:14 +0200)]
typo
Guilhem Moulin [Tue, 1 Sep 2015 00:16:03 +0000 (02:16 +0200)]
Use groff's mailto markup.
Guilhem Moulin [Mon, 31 Aug 2015 23:52:40 +0000 (01:52 +0200)]
typo
Guilhem Moulin [Mon, 31 Aug 2015 22:46:12 +0000 (00:46 +0200)]
Compress "No match for vanished local/remote UID ..." warnings.
Guilhem Moulin [Thu, 20 Aug 2015 17:11:36 +0000 (19:11 +0200)]
Unconditionally restart the systemd service.
It's unfortunate in that the service keep restarting every n secs in
case the remote server is down.
Ideally systemd would offer a way to restart services with a
non-constant (e.g., exponential) progression in case of failure.
Guilhem Moulin [Sun, 9 Aug 2015 18:38:30 +0000 (20:38 +0200)]
Add support for SASL-IR (RFC 4959) to save a round-trip in AUTHENTICATE commands.
Guilhem Moulin [Fri, 31 Jul 2015 20:41:24 +0000 (22:41 +0200)]
Log high precision timestamps in the logfile.
Also, don't try to import POSIX or Time::HiRes unless the logfile is
configured.
Guilhem Moulin [Fri, 31 Jul 2015 20:40:28 +0000 (22:40 +0200)]
Log debug messages to STDERR unless 'logfile' is set.
However don't include timestamps to STDERR, that's the job of the
syslog.
Guilhem Moulin [Fri, 31 Jul 2015 15:20:44 +0000 (17:20 +0200)]
Add a note regrading the default database with type=tunnel.
Guilhem Moulin [Fri, 31 Jul 2015 15:17:29 +0000 (17:17 +0200)]
typo
Guilhem Moulin [Wed, 29 Jul 2015 23:39:30 +0000 (01:39 +0200)]
Log out before exiting.
Guilhem Moulin [Wed, 29 Jul 2015 23:26:16 +0000 (01:26 +0200)]
Don't try to rename children of mailboxes with \NoInferiors or \HasNoChildren attribute.
Guilhem Moulin [Wed, 29 Jul 2015 23:16:51 +0000 (01:16 +0200)]
Add a $try parameter to create, delete, rename, etc.
And no longer crash when trying to create a mailbox that already exists.
This could happen for instance if list-select-opts contains 'SUBSCRIBE'
and the mailbox is not subscribed on one side.
Guilhem Moulin [Wed, 29 Jul 2015 22:57:14 +0000 (00:57 +0200)]
Ignore mailboxes with '\NoSelect' attribute.
Guilhem Moulin [Wed, 29 Jul 2015 22:39:58 +0000 (00:39 +0200)]
Don't initialize cache for ignore mailboxes.
Guilhem Moulin [Wed, 29 Jul 2015 22:39:33 +0000 (00:39 +0200)]
typo
Guilhem Moulin [Wed, 29 Jul 2015 22:07:07 +0000 (00:07 +0200)]
Reformulation.
Guilhem Moulin [Wed, 29 Jul 2015 22:01:35 +0000 (00:01 +0200)]
wibble
Guilhem Moulin [Wed, 29 Jul 2015 22:10:28 +0000 (00:10 +0200)]
Don't push non-existing mailboxes to @MAILBOXES.
Guilhem Moulin [Tue, 28 Jul 2015 10:31:49 +0000 (12:31 +0200)]
Don't set to a ignored mailbox.
Guilhem Moulin [Mon, 27 Jul 2015 22:47:32 +0000 (00:47 +0200)]
typo
Guilhem Moulin [Mon, 27 Jul 2015 22:12:44 +0000 (00:12 +0200)]
Update systemd service file.
Guilhem Moulin [Mon, 27 Jul 2015 22:12:14 +0000 (00:12 +0200)]
Update default config file.
Guilhem Moulin [Mon, 27 Jul 2015 21:45:09 +0000 (23:45 +0200)]
Enable fine-grained control on the mailboxes to consider.
Add 3 options:
- list-mailbox
- list-select-opts
- ignore-mailbox
The first two control the initial LIST command, while the last one is a
regular expression to filter out mailboxes to exclude from the LIST
response.
Guilhem Moulin [Mon, 27 Jul 2015 20:52:21 +0000 (22:52 +0200)]
Drop the 'read-only' option.
It didn't really work since STORE commands are answered with a tagged OK
response for instance.
Guilhem Moulin [Mon, 27 Jul 2015 20:49:07 +0000 (22:49 +0200)]
bugfix: Don't exist with the children's exist status upon error.
Guilhem Moulin [Mon, 27 Jul 2015 20:02:17 +0000 (22:02 +0200)]
No longer try to guess whether a mailbox was deleted or renamed.
This was too error-prone. Instead, abort if a naming conflict occurs,
and provide explicit commands --delete and --rename to delete or rename
a mailbox.
Guilhem Moulin [Sun, 26 Jul 2015 18:02:01 +0000 (20:02 +0200)]
Reformulate introduction in the manpage.
Guilhem Moulin [Sun, 26 Jul 2015 17:52:52 +0000 (19:52 +0200)]
Make --oneshot the default mode and disable watch mode.
Due to multiple bugs in dovecot 2.13 and 2.18's implementation of the
NOTIFY extension [RFC5465]:
http://dovecot.org/pipermail/dovecot/2015-July/101473.html
http://dovecot.org/pipermail/dovecot/2015-July/101474.html
http://dovecot.org/pipermail/dovecot/2015-July/101514.html
Guilhem Moulin [Sun, 26 Jul 2015 17:42:35 +0000 (19:42 +0200)]
typo
Guilhem Moulin [Sun, 26 Jul 2015 13:53:13 +0000 (15:53 +0200)]
bugfix: Fetching new messages from local and adding them to remote modifies its UIDNEXT.
So we need to check again the first $source (remote) whenever the last
one (local) added new messages to it.
Guilhem Moulin [Sun, 26 Jul 2015 13:50:44 +0000 (15:50 +0200)]
wibble
Guilhem Moulin [Sun, 26 Jul 2015 04:59:52 +0000 (06:59 +0200)]
typo
Guilhem Moulin [Sun, 26 Jul 2015 04:59:00 +0000 (06:59 +0200)]
Fix typo in systemd service file.
Guilhem Moulin [Sun, 26 Jul 2015 04:58:27 +0000 (06:58 +0200)]
Fix bug in synchronizing the subscription list.
Guilhem Moulin [Sun, 26 Jul 2015 04:57:22 +0000 (06:57 +0200)]
wibble
Guilhem Moulin [Sun, 26 Jul 2015 04:56:04 +0000 (06:56 +0200)]
Check return value after a SQL UPDATE.
Guilhem Moulin [Sun, 26 Jul 2015 01:00:33 +0000 (03:00 +0200)]
Add a brief help.
Guilhem Moulin [Sun, 26 Jul 2015 00:42:32 +0000 (02:42 +0200)]
Add an option 'logfile' to log debug messages.
Guilhem Moulin [Sat, 25 Jul 2015 23:36:48 +0000 (01:36 +0200)]
Don't use readline with non-blocking IO.
Instead use the select(2) syscall to see if there data available while
we're waiting for notifications.
Except for SSL/TLS connections, where we have to check if there is
unprocessed cached data in the current SSL frame.
Guilhem Moulin [Sat, 25 Jul 2015 23:14:39 +0000 (01:14 +0200)]
Clean how we're sending commands to the server.
Guilhem Moulin [Sat, 25 Jul 2015 22:58:12 +0000 (00:58 +0200)]
LOGINDISABLED only disables plain-text mechanisms.
Also, LOGIN is always supported.
Guilhem Moulin [Sat, 25 Jul 2015 22:57:30 +0000 (00:57 +0200)]
Fix documentation.
Guilhem Moulin [Sat, 25 Jul 2015 14:23:45 +0000 (16:23 +0200)]
Add a manpage and improve documentation.
Guilhem Moulin [Sat, 25 Jul 2015 01:29:48 +0000 (03:29 +0200)]
Rename '--check' to '--repair' and improve repairing algorithm.
Guilhem Moulin [Fri, 24 Jul 2015 23:07:53 +0000 (01:07 +0200)]
Bugfix: allow the absence of default section in the config file.
Guilhem Moulin [Fri, 24 Jul 2015 23:07:10 +0000 (01:07 +0200)]
wibble
Guilhem Moulin [Fri, 24 Jul 2015 23:03:25 +0000 (01:03 +0200)]
Detect and handle interrupted syncs to avoid message duplicates.
Guilhem Moulin [Fri, 24 Jul 2015 16:02:21 +0000 (18:02 +0200)]
Pass messages by reference.
Guilhem Moulin [Fri, 24 Jul 2015 15:29:52 +0000 (17:29 +0200)]
bugfix: new messages can be received while FETCHing new messages.
Guilhem Moulin [Fri, 24 Jul 2015 15:00:26 +0000 (17:00 +0200)]
wibble
Guilhem Moulin [Fri, 24 Jul 2015 14:55:21 +0000 (16:55 +0200)]
Exit gracefully when catching a SIGHUP.
Guilhem Moulin [Thu, 23 Jul 2015 23:27:43 +0000 (01:27 +0200)]
Don't prefix logs by a timestamp, that's a syslog thing.
Guilhem Moulin [Thu, 23 Jul 2015 23:21:49 +0000 (01:21 +0200)]
wibble
Guilhem Moulin [Thu, 23 Jul 2015 23:21:17 +0000 (01:21 +0200)]
Add a --check command to verify the synchronization state.
Guilhem Moulin [Thu, 23 Jul 2015 19:40:44 +0000 (21:40 +0200)]
Add a sample configuration file and a systemd service file.
Guilhem Moulin [Thu, 23 Jul 2015 19:15:01 +0000 (21:15 +0200)]
Allow custom database path.
Guilhem Moulin [Thu, 23 Jul 2015 18:14:13 +0000 (20:14 +0200)]
SSL: Allow disabling peer verification.
Guilhem Moulin [Thu, 23 Jul 2015 18:12:38 +0000 (20:12 +0200)]
Add a command-line option --config to specify the configuration file.
Guilhem Moulin [Thu, 23 Jul 2015 17:15:22 +0000 (19:15 +0200)]
bugfix
Guilhem Moulin [Thu, 23 Jul 2015 15:11:21 +0000 (17:11 +0200)]
Add informational messages.
Guilhem Moulin [Thu, 23 Jul 2015 15:10:34 +0000 (17:10 +0200)]
wibble
Guilhem Moulin [Thu, 23 Jul 2015 13:47:10 +0000 (15:47 +0200)]
bugfix
Guilhem Moulin [Thu, 23 Jul 2015 13:46:45 +0000 (15:46 +0200)]
Mark mailboxes as (un)subscribed in the DB.
Guilhem Moulin [Thu, 23 Jul 2015 02:45:01 +0000 (04:45 +0200)]
Merge branch 'debian'
Guilhem Moulin [Thu, 23 Jul 2015 02:37:48 +0000 (04:37 +0200)]
debianization
Guilhem Moulin [Thu, 23 Jul 2015 02:18:47 +0000 (04:18 +0200)]
First attempt.
Guilhem Moulin [Thu, 23 Jul 2015 02:13:21 +0000 (04:13 +0200)]
Initial commit.