]> git.g-eek.se Git - interimap.git/commitdiff
Make --oneshot the default mode and disable watch mode.
authorGuilhem Moulin <guilhem@fripost.org>
Sun, 26 Jul 2015 17:52:52 +0000 (19:52 +0200)
committerGuilhem Moulin <guilhem@fripost.org>
Sun, 26 Jul 2015 17:52:52 +0000 (19:52 +0200)
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

imapsync
imapsync.1

index b9d2d317b736a4434fbd97eada30a7808e8c558c..339979cd5b6069a98cd0d057f83cab9723a730a8 100755 (executable)
--- a/imapsync
+++ b/imapsync
@@ -47,7 +47,6 @@ sub usage(;$) {
         print STDERR "Synchronize the given MAILBOXes between two QRESYNC-capable IMAP4rev1 servers.\n"
             ."Options:\n"
             ."    --config=FILE    Specify an alternate configuration file\n"
-            ."    -1, --oneshot    Exit as soon as all mailboxes are synchronized\n"
             ."    --repair         List the database anomalies and try to repair them\n"
             ."    -q, --quiet      Try to be quiet\n"
             ."    --debug          Turn on debug mode\n"
@@ -55,7 +54,7 @@ sub usage(;$) {
     }
     exit $rv;
 }
-usage(1) unless GetOptions(\%CONFIG, qw/config=s quiet|q oneshot|1 repair debug help|h/);
+usage(1) unless GetOptions(\%CONFIG, qw/config=s quiet|q repair debug help|h/);
 usage(0) if $CONFIG{help};
 
 
@@ -224,7 +223,9 @@ foreach my $name (qw/local remote/) {
     #my $mailboxes = $client->list((uc $config{'subscribed-only'} eq 'TRUE' ? '(SUBSCRIBED)' : '' )
     #                             .$config{mailboxes}, 'SUBSCRIBED');
     # $client->notify('SELECTED', 'MAILBOXES ('.join(' ', keys %$mailboxes).')');
-    $client->notify(qw/SELECTED SUBSCRIBED/) unless $CONFIG{oneshot};
+    # XXX NOTIFY doesn't work as expected for INBOX
+    #     http://dovecot.org/pipermail/dovecot/2015-July/101514.html
+    #$client->notify(qw/SELECTED SUBSCRIBED/) if $CONFIG{watch};
     # XXX We shouldn't need to ask for STATUS responses here, and use
     #     NOTIFY's STATUS indicator instead.  However Dovecot violates RFC
     #     5464: http://dovecot.org/pipermail/dovecot/2015-July/101474.html
@@ -1151,7 +1152,7 @@ while(1) {
         }
     }
     # clean state!
-    exit 0 if $CONFIG{oneshot};
+    exit 0 unless $CONFIG{watch};
     wait_notifications(900);
 }
 
index f4f69655d2e8f346a2e86b2183345b8a7814a8e7..8c22222bde922370047b1322038dbf64de1d1c55 100644 (file)
@@ -10,8 +10,7 @@ imapsync \- IMAP-to-IMAP synchronization program for QRESYNC-capable servers
 .SH DESCRIPTION
 .PP
 .B imapsync\fR performs stateful synchronization between two IMAP4rev1
-servers, then (unless the flag \fB\-\-oneshot\fR is set) keeps both
-connection open and wait for new changes to arrive.
+servers.
 Such synchronization is made possible by the QRESYNC extension from
 [RFC7162]; for convenience reasons support for LIST\-EXTENDED [RFC5258],
 LIST\-STATUS [RFC5819] and UIDPLUS [RFC4315] is also required.
@@ -76,15 +75,6 @@ By default \fBimapsync\fR synchronizes each mailbox listed by the
 providing extra arguments limits the synchronization to the given
 \fIMAILBOX\fRes only.
 
-.PP
-In its default mode (unless the flag \fB\-\-oneshot\fR or
-\fB\-\-repair\fR is set), \fBimapsync\fR does not exit once all
-mailboxes have been synchronized.  Instead, it keeps both connection
-open and uses the NOTIFY command from [RFC5465] to be notified of new
-changes (on any mailbox) as soon as they arrive.  If no update is sent
-in 15 minutes, a NOOP command is issued in order not to trigger the
-servers' inactivity timeout and be logged out.
-
 .PP
 If the synchronization was interrupted during a previous run while some
 messages were being replicated (but before the UIDNEXT or HIGHESTMODSEQ
@@ -103,13 +93,6 @@ Specify an alternate configuration file.  Relative paths start from
 \fI$XDG_CONFIG_HOME\fR, or \fI~/.config\fR if the XDG_CONFIG_HOME
 environment variable is unset.
 
-.TP
-.B \-1\fR, \fB\-\-oneshot\fR
-Exit as soon as all mailboxes are synchronized, instead of passively
-waiting for updates from the open connections.
-Using \fB\-\-oneshot\fR removes the requirement that IMAP servers must
-advertise support the NOTIFY extension [RFC5465].
-
 .TP
 .B \-\-repair
 List the database anomalies and try to repair them.