aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2015-09-06 20:51:37 +0200
committerGuilhem Moulin <guilhem@fripost.org>2015-09-06 20:51:37 +0200
commit3f1aca1a80e41bb6e8d7ff30bc45f920f3a82590 (patch)
tree84c99d244c9913c56dbcfb2219067ba45d413bf1
parentf5b7ec21e9d53ac7d93797a83c3c100dfa4de076 (diff)
Message Sequence Match Data: sequence set come before UIDs.
Cf. RFC 7162: seq-match-data = "(" known-sequence-set SP known-uid-set ")"
-rwxr-xr-ximapsync8
-rw-r--r--lib/Net/IMAP/Sync.pm14
2 files changed, 11 insertions, 11 deletions
diff --git a/imapsync b/imapsync
index ac63577..927d205 100755
--- a/imapsync
+++ b/imapsync
@@ -619,10 +619,10 @@ sub delete_mapping($$) {
}
-# Create a sample (UIDs, sequence numbers) to use as 3rd and 4th
-# argument of the QRESYNC parameters to the SELECT command.
+# Create a sample (sequence numbers, UIDs) to use as Message Sequence
+# Match Data for the QRESYNC parameter to the SELECT command.
# QRESYNC [RFC7162] doesn't force the server to remember the MODSEQs of
-# EXPUNGEd messages. By passing a sample of known UIDs/sequence numbers
+# EXPUNGEd messages. By passing a sample of known sequence numbers/UIDs
# we let the server know that the messages have been EXPUNGEd [RFC7162,
# section 3.2.5.2].
# The UID set is the largest set of higest UIDs with at most 1024 UIDs,
@@ -660,7 +660,7 @@ sub sample($$$) {
$uids = ($min == $max ? $min : "$min:$max")
.(defined $uids ? ','.$uids : '');
}
- return ( $uids, ($count - $n + 1).':'.$count );
+ return ( ($count - $n + 1).':'.$count, $uids );
}
diff --git a/lib/Net/IMAP/Sync.pm b/lib/Net/IMAP/Sync.pm
index ca85a54..785aa54 100644
--- a/lib/Net/IMAP/Sync.pm
+++ b/lib/Net/IMAP/Sync.pm
@@ -482,12 +482,12 @@ sub search($$) {
}
-# $self->select($mailbox, [$UIDs, $seqs])
-# $self->examine($mailbox, [$UIDs, $seqs])
+# $self->select($mailbox, [$seqs, $UIDs])
+# $self->examine($mailbox, [$seqs, $UIDs])
# Issue a SELECT or EXAMINE command for the $mailbox. Upon success,
# change the state to SELECTED, otherwise go back to AUTH.
-# The optional $UIDs and $seqs are passed are 3rd and 4th arguments to
-# the QRESYNC parameter, respectively.
+# The optional $seqs and $UIDs are used as Message Sequence Match
+# Data for the QRESYNC parameter to the SELECT command.
sub select($$;$$) {
my $self = shift;
my $mailbox = shift;
@@ -1278,11 +1278,11 @@ sub _open_mailbox($$) {
}
-# $self->_select_or_examine($command, $mailbox, [$UIDs, $seqs])
+# $self->_select_or_examine($command, $mailbox, [$seqs, $UIDs])
# Issue a SELECT or EXAMINE command for the $mailbox. Upon success,
# change the state to SELECTED, otherwise go back to AUTH.
-# The optional $UIDs and $seqs are passed are 3rd and 4th arguments to
-# the QRESYNC parameter, respectively.
+# The optional $seqs and $UIDs are used as Message Sequence Match
+# Data for the QRESYNC parameter to the $command.
sub _select_or_examine($$$;$$) {
my $self = shift;
my $command = shift;