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
Oswald Buddenhagen
406e967430
don't let wildcards match INBOX, unless it lives under Path
...
it's counter-intuitive to have '*' match the (always present) INBOX
when the rest of the mailboxes lives in a different namespace.
2013-04-13 19:58:50 +02:00
Oswald Buddenhagen
e7c96f8891
always list INBOX when asked for it
...
it's there even if it's not there. says IMAP. no need to contradict.
2013-04-13 19:57:41 +02:00
Oswald Buddenhagen
daaf950878
split maildir_list_part()
...
the boolean argument switched two entirely separate functions.
2013-04-13 10:54:50 +02:00
Oswald Buddenhagen
167de3e438
remove some temporaries in maildir_list_part()
2013-04-13 10:54:50 +02:00
Oswald Buddenhagen
842aa402c3
fix CRAM-MD5 authentication
...
the decoded challenge may be padded, so we really need to use strlen()
rather than just the decoded length.
2013-04-13 10:54:50 +02:00
Oswald Buddenhagen
e07de2a336
more consistency in char signedness
2013-04-13 10:54:50 +02:00