Oswald Buddenhagen
15216947fb
don't protect recent messages from MaxMessages
...
while maildir has a clearly defined meaning of "recent" and for example
mutt handles it graciously, IMAP's definition is fubared to the point
that some servers (for example gmail) simply refuse to support it.
for symmetry reasons it is best to pretend that it doesn't exist at all.
it doesn't seem too useful anyway (the user can simply mark the messages
as read to allow pruning).
and last but not least, the man page of mbsync says nothing about
"recent", only "unread". unlike the isync man page, though.
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
6b7b2b1106
always get slave flags when we are expiring
...
even if we are not propagating new messages, the appearance of new
messages on the slave can lead to expiring older messages. for that, we
need to know their importance, and thus flags.
the alternative would be not doing an expiration run when not fetching
new messages, but that would mean more conditionals all over the place.
as the decision is somewhat arbitrary, just do the simpler thing.
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
f1eea7d9a5
do not trash expired messages
...
we are not actually deleting them, so there is no point in saving them
in the trash.
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
48754ecc74
make sync state header format less obscure
...
the header is not space-critical, so use proper name-value pairs.
this has the additional advantage that subsequent format changes can be
done much easier.
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
83bb1cf716
make state loading in showstate() similar to ckstate()
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
f044adbfa4
take configs out of target state defs
...
cleaner and less duplication
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
5297425918
more precise failure reporting
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
3d81ccbf21
make it possible to run only selected tests
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
3dcb393de2
set srec->msg[] when finding messages by tuid
...
otherwise we would propagate phantom deletions.
this affected only sync runs after an interruption while storing
messages, so it went (mostly?) unnoticed.
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
3814f19661
remove pointless assignment
...
we already know that tmsg->srec is null at this point.
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
e63e16ab45
assert no stray TUIDs
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
8e49300cf7
initialize struct tm
...
strptime() does not initialize at least tm_isdst, which leads to an
uninited value reference in mktime().
2013-12-01 13:36:27 +01:00
Oswald Buddenhagen
62a60997c3
make use of strptime() portable
...
it does not (officially) support the %z conversion, so re-implement that
part by hand.
2013-12-01 13:36:26 +01:00
Oswald Buddenhagen
55e65147df
fix compilation with older gcc versions
...
the warning suppression pragma within function scope is apparently a new
thing.
as i don't want to disable the check for the entire function (even if
this currently would make no difference), just use a wrapper function
to suppress the format string check.
2013-12-01 13:36:26 +01:00
Oswald Buddenhagen
a49893f32e
fix strftime() %z conversion specifier check
...
only glibc does something sane with gmtime()+strftime(). on bsd (incl.
mac os), strftime() can be used only with localtime().
2013-12-01 13:36:26 +01:00
Oswald Buddenhagen
2b27216b86
ignore automake's "compile" script
2013-12-01 13:36:26 +01:00
Oswald Buddenhagen
945e05cfdd
use autoreconf instead of calling separate tools
...
this has been the correct way since a long time.
Pointed-out-by: Felipe Contreras <felipe.contreras@gmail.com>
2013-12-01 13:36:26 +01:00
Oswald Buddenhagen
32def5dc0a
add/fix comments and improve debug messages
2013-12-01 13:36:26 +01:00
Oswald Buddenhagen
a9a331c98a
simplify condition
...
... and document the cases.
2013-12-01 13:35:02 +01:00
Oswald Buddenhagen
03f8bfdfb2
micro-optimization/-clarification
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
00076a6971
move initializations for clarity
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
61ef099cd5
MaxMessages: make condition exactly symmetrical to condition below
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
080740f867
rewrite condition for readability and consistency
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
b10fd0c21c
remove assumption about value of M constant
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
a893cba483
fix enum abuse
...
amends 9c86ec344
.
S_FIND was for the sync record status field. it has no business in the
sync vars status fields. its value coincided with ST_SELECTED, which
luckily only means that we always tried to match up TUIDs even if there
was nothing to do.
the need for TUID matching arises in two mostly independent
circumstances, so add two separate flags ST_FIND_{OLD,NEW}.
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
9a0e65f899
create unseen messages in /new/
...
seen messages still go to /cur/.
this is consistent with the actual maildir driver.
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
0a684bd933
be a bit more verbose
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
394aca03a2
properly handle unexpected exit while replaying journal
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
07377cb753
ensure that the journal replay pass really does nothing
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
100f9487f4
sort messages by serial number instead of UID in box dumper
...
the input data is sorted that way, so it's easier to compare.
2013-12-01 13:35:01 +01:00
Oswald Buddenhagen
2568459a7b
fix error message in sync state dumper
2013-12-01 13:35:00 +01:00
Oswald Buddenhagen
b570c17766
deal with messages disappearing between being listed and fetched
2013-09-26 09:17:08 +02:00
Oswald Buddenhagen
17c4748dfa
support backslash-escaping in the config file
...
note that no attempt is made at making this work in the compat wrapper.
2013-09-26 09:17:08 +02:00
Oswald Buddenhagen
2213d6976c
support backslashes and quotes in quoted IMAP strings
...
the RFCs require it - well hidden in the BNF at the bottom.
patch somewhat inspired by "guns" <self@sungpae.com>.
2013-09-26 09:17:08 +02:00
Oswald Buddenhagen
c0bf867669
make next_arg() more readable & efficient
2013-09-26 09:17:08 +02:00
Oswald Buddenhagen
3ceb553102
IPv6 support
...
inspired by a patch by "Todd T. Fries" <todd@fries.net>.
2013-09-01 17:39:07 +02:00
Oswald Buddenhagen
4a39cae8c4
support multi-homed servers
2013-09-01 17:39:07 +02:00
Oswald Buddenhagen
0b59ee0df3
support multi-character path separators
...
this applies to both the IMAP PathDelimiter (which is needed by Lotus
Domino), as well as the Flatten-ed separators.
2013-08-11 10:20:02 +02:00
Oswald Buddenhagen
1b67c49965
CHECK before FETCH after STORE
...
m$ exchange does not seem to update the index in time otherwise.
2013-08-11 10:20:02 +02:00
Oswald Buddenhagen
eb1f10762f
added sync support for the arrival date of messages
...
initial patch by Marc Hoersken <info@marc-hoersken.de>
2013-08-03 18:54:34 +02:00
Oswald Buddenhagen
6577bf3e61
warn if we cannot find some messages by TUID
2013-07-27 20:18:20 +02:00
Oswald Buddenhagen
1847a4e12d
make better use of ATTR_UNUSED
2013-07-27 18:44:26 +02:00
Oswald Buddenhagen
6dfccb76a5
be somewhat stricter about the LIST response syntax
...
the first token *must* be a list.
2013-07-27 18:40:19 +02:00
Oswald Buddenhagen
a0dc37339e
allow the mailbox names in LIST responses to be literals
...
Lotus Domino seems to send them like that.
2013-07-27 18:40:16 +02:00
Oswald Buddenhagen
fc77feacc5
make parse_list() callback based
...
this allows us to parse IMAP literals ({}) in every list.
2013-07-27 18:39:39 +02:00
Oswald Buddenhagen
bf049d6466
add PassCmd option to query IMAP password dynamically
...
inspired by patches by
Aurélien Francillon <aurelien.francillon@eurecom.fr>,
Martin Stenberg <martin@gnutiken.se> and
sbfnk@users.sf.net .
2013-07-27 11:31:31 +02:00
Oswald Buddenhagen
5ad83b4e6a
don't unnecessarily use continue
2013-07-27 09:34:17 +02:00
Oswald Buddenhagen
e4243debb6
use INT_MAX instead of zero for "no size limit"
...
this simplifies the actual conditions
2013-07-27 09:34:17 +02:00
Oswald Buddenhagen
ca3a319e60
update copyrights
2013-04-20 16:57:16 +02:00
Oswald Buddenhagen
01358ec8b4
man page fixups
2013-04-13 20:07:16 +02:00