]> git.g-eek.se Git - interimap.git/log
interimap.git
9 years agoBlock SIGINT signals to the children for type=tunnel.
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).

9 years agoRename ‘imapsync’ to ‘interimap’.
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 .

9 years agoAdd a note imapsync vs. offlineimap.
Guilhem Moulin [Mon, 7 Sep 2015 13:49:21 +0000 (15:49 +0200)]
Add a note imapsync vs. offlineimap.

9 years agoAdd instruction for how to build a Debian package from the last release.
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.

9 years agoAdd instructions for how to build the Debian package.
Guilhem Moulin [Sun, 6 Sep 2015 20:31:49 +0000 (22:31 +0200)]
Add instructions for how to build the Debian package.

9 years agoPromote SSH connections to the remote IMAP server.
Guilhem Moulin [Sun, 6 Sep 2015 20:28:49 +0000 (22:28 +0200)]
Promote SSH connections to the remote IMAP server.

9 years agowibble
Guilhem Moulin [Sun, 6 Sep 2015 19:44:43 +0000 (21:44 +0200)]
wibble

9 years agoGetopt::Long is a core module.
Guilhem Moulin [Sun, 6 Sep 2015 19:26:00 +0000 (21:26 +0200)]
Getopt::Long is a core module.

9 years agoFix typo: lUID ↔ rUID.
Guilhem Moulin [Sun, 6 Sep 2015 18:58:52 +0000 (20:58 +0200)]
Fix typo: lUID ↔ rUID.

9 years agoMessage Sequence Match Data: sequence set come before UIDs.
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 ")"

9 years agoAdd README file.
Guilhem Moulin [Sat, 5 Sep 2015 15:30:07 +0000 (17:30 +0200)]
Add README file.

9 years agoAdd INSTALL file.
Guilhem Moulin [Sat, 5 Sep 2015 15:20:21 +0000 (17:20 +0200)]
Add INSTALL file.

9 years agotypo
Guilhem Moulin [Sat, 5 Sep 2015 15:04:14 +0000 (17:04 +0200)]
typo

9 years agoSample UIDs in SELECT $mailbox (QRESYNC ...) commands.
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].

9 years agotypo
Guilhem Moulin [Tue, 1 Sep 2015 12:59:00 +0000 (14:59 +0200)]
typo

9 years agotypo
Guilhem Moulin [Tue, 1 Sep 2015 01:14:58 +0000 (03:14 +0200)]
typo

9 years agoUse groff's mailto markup.
Guilhem Moulin [Tue, 1 Sep 2015 00:16:03 +0000 (02:16 +0200)]
Use groff's mailto markup.

9 years agotypo
Guilhem Moulin [Mon, 31 Aug 2015 23:52:40 +0000 (01:52 +0200)]
typo

9 years agoCompress "No match for vanished local/remote UID ..." warnings.
Guilhem Moulin [Mon, 31 Aug 2015 22:46:12 +0000 (00:46 +0200)]
Compress "No match for vanished local/remote UID ..." warnings.

9 years agoUnconditionally restart the systemd service.
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.

9 years agoAdd support for SASL-IR (RFC 4959) to save a round-trip in AUTHENTICATE commands.
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.

9 years agoLog high precision timestamps in the logfile.
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.

9 years agoLog debug messages to STDERR unless 'logfile' is set.
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.

9 years agoAdd a note regrading the default database with type=tunnel.
Guilhem Moulin [Fri, 31 Jul 2015 15:20:44 +0000 (17:20 +0200)]
Add a note regrading the default database with type=tunnel.

9 years agotypo
Guilhem Moulin [Fri, 31 Jul 2015 15:17:29 +0000 (17:17 +0200)]
typo

9 years agoLog out before exiting.
Guilhem Moulin [Wed, 29 Jul 2015 23:39:30 +0000 (01:39 +0200)]
Log out before exiting.

9 years agoDon't try to rename children of mailboxes with \NoInferiors or \HasNoChildren attribute.
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.

9 years agoAdd a $try parameter to create, delete, rename, etc.
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.

9 years agoIgnore mailboxes with '\NoSelect' attribute.
Guilhem Moulin [Wed, 29 Jul 2015 22:57:14 +0000 (00:57 +0200)]
Ignore mailboxes with '\NoSelect' attribute.

9 years agoDon't initialize cache for ignore mailboxes.
Guilhem Moulin [Wed, 29 Jul 2015 22:39:58 +0000 (00:39 +0200)]
Don't initialize cache for ignore mailboxes.

9 years agotypo
Guilhem Moulin [Wed, 29 Jul 2015 22:39:33 +0000 (00:39 +0200)]
typo

9 years agoReformulation.
Guilhem Moulin [Wed, 29 Jul 2015 22:07:07 +0000 (00:07 +0200)]
Reformulation.

9 years agowibble
Guilhem Moulin [Wed, 29 Jul 2015 22:01:35 +0000 (00:01 +0200)]
wibble

9 years agoDon't push non-existing mailboxes to @MAILBOXES.
Guilhem Moulin [Wed, 29 Jul 2015 22:10:28 +0000 (00:10 +0200)]
Don't push non-existing mailboxes to @MAILBOXES.

9 years agoDon't set to a ignored mailbox.
Guilhem Moulin [Tue, 28 Jul 2015 10:31:49 +0000 (12:31 +0200)]
Don't set  to a ignored mailbox.

9 years agotypo
Guilhem Moulin [Mon, 27 Jul 2015 22:47:32 +0000 (00:47 +0200)]
typo

9 years agoUpdate systemd service file.
Guilhem Moulin [Mon, 27 Jul 2015 22:12:44 +0000 (00:12 +0200)]
Update systemd service file.

9 years agoUpdate default config file.
Guilhem Moulin [Mon, 27 Jul 2015 22:12:14 +0000 (00:12 +0200)]
Update default config file.

9 years agoEnable fine-grained control on the mailboxes to consider.
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.

9 years agoDrop the 'read-only' option.
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.

9 years agobugfix: Don't exist with the children's exist status upon error.
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.

9 years agoNo longer try to guess whether a mailbox was deleted or renamed.
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.

9 years agoReformulate introduction in the manpage.
Guilhem Moulin [Sun, 26 Jul 2015 18:02:01 +0000 (20:02 +0200)]
Reformulate introduction in the manpage.

9 years agoMake --oneshot the default mode and disable watch mode.
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

9 years agotypo
Guilhem Moulin [Sun, 26 Jul 2015 17:42:35 +0000 (19:42 +0200)]
typo

9 years agobugfix: Fetching new messages from local and adding them to remote modifies its UIDNEXT.
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.

9 years agowibble
Guilhem Moulin [Sun, 26 Jul 2015 13:50:44 +0000 (15:50 +0200)]
wibble

9 years agotypo
Guilhem Moulin [Sun, 26 Jul 2015 04:59:52 +0000 (06:59 +0200)]
typo

9 years agoFix typo in systemd service file.
Guilhem Moulin [Sun, 26 Jul 2015 04:59:00 +0000 (06:59 +0200)]
Fix typo in systemd service file.

9 years agoFix bug in synchronizing the subscription list.
Guilhem Moulin [Sun, 26 Jul 2015 04:58:27 +0000 (06:58 +0200)]
Fix bug in synchronizing the subscription list.

9 years agowibble
Guilhem Moulin [Sun, 26 Jul 2015 04:57:22 +0000 (06:57 +0200)]
wibble

9 years agoCheck return value after a SQL UPDATE.
Guilhem Moulin [Sun, 26 Jul 2015 04:56:04 +0000 (06:56 +0200)]
Check return value after a SQL UPDATE.

9 years agoAdd a brief help.
Guilhem Moulin [Sun, 26 Jul 2015 01:00:33 +0000 (03:00 +0200)]
Add a brief help.

9 years agoAdd an option 'logfile' to log debug messages.
Guilhem Moulin [Sun, 26 Jul 2015 00:42:32 +0000 (02:42 +0200)]
Add an option 'logfile' to log debug messages.

9 years agoDon't use readline with non-blocking IO.
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.

9 years agoClean how we're sending commands to the server.
Guilhem Moulin [Sat, 25 Jul 2015 23:14:39 +0000 (01:14 +0200)]
Clean how we're sending commands to the server.

9 years agoLOGINDISABLED only disables plain-text mechanisms.
Guilhem Moulin [Sat, 25 Jul 2015 22:58:12 +0000 (00:58 +0200)]
LOGINDISABLED only disables plain-text mechanisms.

Also, LOGIN is always supported.

9 years agoFix documentation.
Guilhem Moulin [Sat, 25 Jul 2015 22:57:30 +0000 (00:57 +0200)]
Fix documentation.

9 years agoAdd a manpage and improve documentation.
Guilhem Moulin [Sat, 25 Jul 2015 14:23:45 +0000 (16:23 +0200)]
Add a manpage and improve documentation.

9 years agoRename '--check' to '--repair' and improve repairing algorithm.
Guilhem Moulin [Sat, 25 Jul 2015 01:29:48 +0000 (03:29 +0200)]
Rename '--check' to '--repair' and improve repairing algorithm.

9 years agoBugfix: allow the absence of default section in the config file.
Guilhem Moulin [Fri, 24 Jul 2015 23:07:53 +0000 (01:07 +0200)]
Bugfix: allow the absence of default section in the config file.

9 years agowibble
Guilhem Moulin [Fri, 24 Jul 2015 23:07:10 +0000 (01:07 +0200)]
wibble

9 years agoDetect and handle interrupted syncs to avoid message duplicates.
Guilhem Moulin [Fri, 24 Jul 2015 23:03:25 +0000 (01:03 +0200)]
Detect and handle interrupted syncs to avoid message duplicates.

9 years agoPass messages by reference.
Guilhem Moulin [Fri, 24 Jul 2015 16:02:21 +0000 (18:02 +0200)]
Pass messages by reference.

9 years agobugfix: new messages can be received while FETCHing new messages.
Guilhem Moulin [Fri, 24 Jul 2015 15:29:52 +0000 (17:29 +0200)]
bugfix: new messages can be received while FETCHing new messages.

9 years agowibble
Guilhem Moulin [Fri, 24 Jul 2015 15:00:26 +0000 (17:00 +0200)]
wibble

9 years agoExit gracefully when catching a SIGHUP.
Guilhem Moulin [Fri, 24 Jul 2015 14:55:21 +0000 (16:55 +0200)]
Exit gracefully when catching a SIGHUP.

9 years agoDon't prefix logs by a timestamp, that's a syslog thing.
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.

9 years agowibble
Guilhem Moulin [Thu, 23 Jul 2015 23:21:49 +0000 (01:21 +0200)]
wibble

9 years agoAdd a --check command to verify the synchronization state.
Guilhem Moulin [Thu, 23 Jul 2015 23:21:17 +0000 (01:21 +0200)]
Add a --check command to verify the synchronization state.

9 years agoAdd a sample configuration file and a systemd service file.
Guilhem Moulin [Thu, 23 Jul 2015 19:40:44 +0000 (21:40 +0200)]
Add a sample configuration file and a systemd service file.

9 years agoAllow custom database path.
Guilhem Moulin [Thu, 23 Jul 2015 19:15:01 +0000 (21:15 +0200)]
Allow custom database path.

9 years agoSSL: Allow disabling peer verification.
Guilhem Moulin [Thu, 23 Jul 2015 18:14:13 +0000 (20:14 +0200)]
SSL: Allow disabling peer verification.

9 years agoAdd a command-line option --config to specify the configuration file.
Guilhem Moulin [Thu, 23 Jul 2015 18:12:38 +0000 (20:12 +0200)]
Add a command-line option --config to specify the configuration file.

9 years agobugfix
Guilhem Moulin [Thu, 23 Jul 2015 17:15:22 +0000 (19:15 +0200)]
bugfix

9 years agoAdd informational messages.
Guilhem Moulin [Thu, 23 Jul 2015 15:11:21 +0000 (17:11 +0200)]
Add informational messages.

9 years agowibble
Guilhem Moulin [Thu, 23 Jul 2015 15:10:34 +0000 (17:10 +0200)]
wibble

9 years agobugfix
Guilhem Moulin [Thu, 23 Jul 2015 13:47:10 +0000 (15:47 +0200)]
bugfix

9 years agoMark mailboxes as (un)subscribed in the DB.
Guilhem Moulin [Thu, 23 Jul 2015 13:46:45 +0000 (15:46 +0200)]
Mark mailboxes as (un)subscribed in the DB.

9 years agoMerge branch 'debian'
Guilhem Moulin [Thu, 23 Jul 2015 02:45:01 +0000 (04:45 +0200)]
Merge branch 'debian'

9 years agodebianization
Guilhem Moulin [Thu, 23 Jul 2015 02:37:48 +0000 (04:37 +0200)]
debianization

9 years agoFirst attempt.
Guilhem Moulin [Thu, 23 Jul 2015 02:18:47 +0000 (04:18 +0200)]
First attempt.

9 years agoInitial commit.
Guilhem Moulin [Thu, 23 Jul 2015 02:13:21 +0000 (04:13 +0200)]
Initial commit.