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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
							
						 
						
							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