[commit] master: make "Patterns *" match INBOX* in Maildir++ Stores

2017-04-22 Thread Oswald Buddenhagen
commit 2d1cfc2c7f7262d578b4e52b904c9e471937e2a4 Author: Oswald Buddenhagen Date: Sun Mar 19 20:21:19 2017 +0100 make "Patterns *" match INBOX* in Maildir++ Stores this also has the side effect that we won't fail to include INBOX itself when Inbox is nested under Path when using

[commit] master: factor out jFprintf()

2017-04-22 Thread Oswald Buddenhagen
commit c3350753b0e3a256ccbd6eeb5924f7089b7a77f1 Author: Oswald Buddenhagen Date: Sun Apr 2 15:24:03 2017 +0200 factor out jFprintf() src/sync.c | 75 +- 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/src/sync.c b/src/syn

[commit] master: add fallbacks for determining UIDNEXT

2017-04-22 Thread Oswald Buddenhagen
commit 72be55b0e3b3ccaca8c2e5ee1c0706bf41388900 Author: Oswald Buddenhagen Date: Sat Jan 28 19:19:41 2017 +0100 add fallbacks for determining UIDNEXT if the server sends no UIDNEXT, do an initial FETCH to query the UID of the last message. same if the server sends no A

[commit] master: use typedefs for structs more

2017-04-22 Thread Oswald Buddenhagen
commit af4b8896f0c0b8cb3bdc48132bdf4671383bd8e1 Author: Oswald Buddenhagen Date: Sun Apr 2 15:42:18 2017 +0200 use typedefs for structs more makes the code more compact (and consistent, as typedefs were already used in some places). src/common.h | 4 +- src/config.h

[commit] master: add comments

2017-04-22 Thread Oswald Buddenhagen
commit 0aa4c628dff895d4829f8d659297885fd2eb90dd Author: Oswald Buddenhagen Date: Thu Mar 30 19:39:14 2017 +0200 add comments src/drv_imap.c | 13 + src/run-tests.pl | 4 2 files changed, 17 insertions(+) diff --git a/src/drv_imap.c b/src/drv_imap.c index fb0a0ae..80c9

[commit] master: sort uid exception list in a smarter place

2017-04-22 Thread Oswald Buddenhagen
commit 990c8a14046153f8ebc2036a200fa6680d18d6ad Author: Oswald Buddenhagen Date: Sun Jan 29 15:00:00 2017 +0100 sort uid exception list in a smarter place do it closer to where it is populated. that way the debug output is sorted, and we don't sort the list if it's known to be

[commit] master: fix sync resumption with aborted entries

2017-04-22 Thread Oswald Buddenhagen
commit 34993fbca6856667d78857ebaa60beacffa73a15 Author: Oswald Buddenhagen Date: Thu Mar 30 20:04:02 2017 +0200 fix sync resumption with aborted entries we need a separate log entry type which does proper mmaxxuid tracking. while moving code around, this also removes a red

[commit] master: de-duplicate journal replay somewhat

2017-04-22 Thread Oswald Buddenhagen
commit 6705604c4a01a86546bf6ceed459cb49d37ea377 Author: Oswald Buddenhagen Date: Fri Mar 31 12:39:12 2017 +0200 de-duplicate journal replay somewhat we've been using indices to separate master/slave state for a long time, so there is no point in using pairs of matching brackets

[commit] master: de-obfuscate cmd_sendable()

2017-04-22 Thread Oswald Buddenhagen
commit 28d52b2b181aba1d201caf12de7a6ce67181d273 Author: Oswald Buddenhagen Date: Sat Mar 4 12:47:33 2017 +0100 de-obfuscate cmd_sendable() split the monster conditional and add comments. src/drv_imap.c | 36 +++- 1 file changed, 27 insertions(+), 9

[commit] master: fix maxuid tracking

2017-04-22 Thread Oswald Buddenhagen
commit 1ea2e69aa7be3f7b8169ded9068d6c8854391158 Author: Oswald Buddenhagen Date: Sun Mar 19 11:35:57 2017 +0100 fix maxuid tracking newmaxuid represents the highest UID for which a sync entry was created, while maxuid represents the end of the range which is guaranteed to have

[commit] master: fix exclusion of bogus "INBOX.*" folders in Maildir++

2017-04-22 Thread Oswald Buddenhagen
commit 9eaa97923aebfa2b0f46b8ba2c66856ef61972bd Author: Oswald Buddenhagen Date: Tue Mar 21 14:39:07 2017 +0100 fix exclusion of bogus "INBOX.*" folders in Maildir++ this also adds code which avoids that the message about excluding the mailbox is printed multiple times - this c

[commit] master: introduce get_uidnext() driver callback

2017-04-22 Thread Oswald Buddenhagen
commit 8d4918affdae1fb3687b21f5a487d4aafd52bf82 Author: Oswald Buddenhagen Date: Fri Mar 24 18:43:39 2017 +0100 introduce get_uidnext() driver callback ... and make 'uidnext' private to the imap driver. src/driver.h | 4 +++- src/drv_imap.c| 32 +

[commit] master: autotest: pre-assign all UIDs of the test messages

2017-04-22 Thread Oswald Buddenhagen
commit 7ce658d14cf60c8851197561e073671899194fb7 Author: Oswald Buddenhagen Date: Wed Mar 29 13:43:55 2017 +0200 autotest: pre-assign all UIDs of the test messages this ensures stable results when the boxes are used with different OPEN_FLAGS (which will happen in a subsequent co

[commit] master: introduce get_box_path() driver callback

2017-04-22 Thread Oswald Buddenhagen
commit 83ebe9022d88d9493d7ee5739f4503af1e28448b Author: Oswald Buddenhagen Date: Fri Mar 24 14:06:19 2017 +0100 introduce get_box_path() driver callback ... and make 'path' private to the maildir driver. src/driver.h | 7 +++--- src/drv_imap.c| 7 ++ src/drv_maildi

[commit] master: let driver_t::find_new_msgs() return the list of messages

2017-04-22 Thread Oswald Buddenhagen
commit 683e581340773ad135d7296ced6ae023ea6d55f8 Author: Oswald Buddenhagen Date: Sun Mar 26 18:44:43 2017 +0200 let driver_t::find_new_msgs() return the list of messages consistently with driver_t::load_box(). src/driver.h | 5 +++-- src/drv_imap.c| 38 +

[commit] master: delay assignment of TUID when propagating messages

2017-04-22 Thread Oswald Buddenhagen
commit a0961d6505a191e5e2d4429d00386e2cf609a6fe Author: Oswald Buddenhagen Date: Sun Apr 2 17:21:39 2017 +0200 delay assignment of TUID when propagating messages go back to assigning TUIDs only right before actually propagating them. this avoids spurious "TUID lost" warnings.

[commit] master: let driver_t::load_box() return the list of messages

2017-04-22 Thread Oswald Buddenhagen
commit 74e936812183f6c1c3c82ad676b6805bbf8aa149 Author: Oswald Buddenhagen Date: Fri Mar 24 18:09:40 2017 +0100 let driver_t::load_box() return the list of messages ... and make 'msgs', 'count', and 'recent' private to the drivers. src/driver.h | 9 +++-- src/drv_imap.c

[commit] master: let driver_t::list_store() return the list of boxes

2017-04-22 Thread Oswald Buddenhagen
commit 6e32b88f3dd37f4160f55de66f817625c8ec9fd8 Author: Oswald Buddenhagen Date: Fri Mar 24 17:44:11 2017 +0100 let driver_t::list_store() return the list of boxes ... and make 'boxes' and 'listed' private to the drivers. src/driver.h | 7 ++--- src/drv_imap.c| 36 +

[commit] master: don't emit redundant flag updates for re-newed messages

2017-04-22 Thread Oswald Buddenhagen
commit 7c466fc3e7d0c11577c0bf471e6e40ff5c16e192 Author: Oswald Buddenhagen Date: Thu Mar 30 19:44:54 2017 +0200 don't emit redundant flag updates for re-newed messages src/sync.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sync.c b/src/sync.c index a6584e0..59f

[commit] master: fix sync resumption with re-newed messages

2017-04-22 Thread Oswald Buddenhagen
commit 5c2ce59217c6f035840378e98b40607a0f0fa032 Author: Oswald Buddenhagen Date: Thu Mar 30 19:48:08 2017 +0200 fix sync resumption with re-newed messages the UID of the entries needs to be bumped from -1 to -2, as otherwise the resumed run would see a TUID in a sync entry whic

[commit] master: make help screen print some more compile time options

2017-04-22 Thread Oswald Buddenhagen
commit 763cb8341f8ae80b05dcebf7c46008f58bbc8fc6 Author: Oswald Buddenhagen Date: Sun Mar 19 18:08:55 2017 +0100 make help screen print some more compile time options src/main.c | 28 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main.c b/s

[commit] master: use a #define for invalid UIDVALIDITY

2017-04-22 Thread Oswald Buddenhagen
commit 48ad58b9a37491af16662aa3fe8e4f6927a9550b Author: Oswald Buddenhagen Date: Sun Jan 29 15:39:36 2017 +0100 use a #define for invalid UIDVALIDITY src/driver.h | 2 ++ src/sync.c | 12 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/driver.h b/src/dri

[commit] master: factor out listing Maildir++ Stores

2017-04-22 Thread Oswald Buddenhagen
commit b9505301cc062986a9022dae0bd6b1e4b6c35f60 Author: Oswald Buddenhagen Date: Tue Mar 21 15:12:36 2017 +0100 factor out listing Maildir++ Stores Maildir++ is sufficiently different from the other SubFolder styles to justify a separate function; the resulting code duplication

[commit] master: move away from magic UIDs in the sync state

2017-04-22 Thread Oswald Buddenhagen
commit bd5fb6fff34bf5f68a4b17cdf08dcd33c130e139 Author: Oswald Buddenhagen Date: Sat Mar 11 13:20:53 2017 +0100 move away from magic UIDs in the sync state the only legitimate "deviant" UID is zero, meaning "no message". this can be futher qualified by additional flags in the s

[commit] master: remove nonsensical statement from journal replay of aborted entries

2017-04-22 Thread Oswald Buddenhagen
commit 887b2205ffc8c1c38346a30ec7e98c424064e273 Author: Oswald Buddenhagen Date: Thu Mar 30 19:57:57 2017 +0200 remove nonsensical statement from journal replay of aborted entries at this stage, entries cannot possibly have messages assigned to them, so trying to unlink them ma

[commit] master: rewrite tracking of highest expired UID

2017-04-22 Thread Oswald Buddenhagen
commit 3f7e52642af3f804e6f0b32cc1dabc92c132 Author: Oswald Buddenhagen Date: Sun Apr 2 14:04:43 2017 +0200 rewrite tracking of highest expired UID so far, we tracked the slave side, and calculated the master side on the fly. that complicated things unnecessarily. src/run-

[commit] master: fix repeated listing of same Store with different flags

2017-04-22 Thread Oswald Buddenhagen
commit 416ced25ddff3bc1e57720164978d805c83a9d3a Author: Oswald Buddenhagen Date: Tue Mar 21 18:46:30 2017 +0100 fix repeated listing of same Store with different flags multiple Channels can call driver_t::list_store() with different LIST_* flags. assuming the flags are actually

[commit] master: split off ephemeral sync record state to a separate member

2017-04-22 Thread Oswald Buddenhagen
commit 4ffe149666e0ccae47fd9fec8f8b676680d0a20d Author: Oswald Buddenhagen Date: Sat Apr 1 17:02:22 2017 +0200 split off ephemeral sync record state to a separate member this allows us to simplify logging of expiration, as we now can just log the entire persistent state instead

[commit] master: autotest: implement much more thorough resumption verification

2017-04-22 Thread Oswald Buddenhagen
commit efd72b85cccd9b00388cd16722d6238d5eb193c3 Author: Oswald Buddenhagen Date: Sun Mar 19 11:53:16 2017 +0100 autotest: implement much more thorough resumption verification the test will now make a test run for every journaled step, both right before and right after the loggi

[commit] master: prepend "get_" to getters in driver_t

2017-04-22 Thread Oswald Buddenhagen
commit d54809e26885838bdf646d33a0f2ff4b22f6bfd2 Author: Oswald Buddenhagen Date: Sun Mar 19 13:46:03 2017 +0100 prepend "get_" to getters in driver_t this makes it callbacks consistently start with a verb. src/driver.h | 4 ++-- src/drv_imap.c| 12 ++-- src/drv_

[commit] master: make set_bad_callback() a proper driver_t entry

2017-04-22 Thread Oswald Buddenhagen
commit d624c9af5d0f9384b20bc0f01df0561787deacbe Author: Oswald Buddenhagen Date: Tue Mar 21 19:27:04 2017 +0100 make set_bad_callback() a proper driver_t entry ... and make the pointers private to the drivers. src/driver.h | 16 src/drv_imap.c| 21 ++

[commit] master: make struct imap_cmd_refcounted_state "abstract"

2017-04-22 Thread Oswald Buddenhagen
commit 39247197f931c8abc5e726c4c780f6a8ff1d8449 Author: Oswald Buddenhagen Date: Fri Mar 24 16:56:43 2017 +0100 make struct imap_cmd_refcounted_state "abstract" take the callback out of it, so it can be individualized. so far, this only increases code size ... src/drv_imap.c

[commit] master: let driver_t::openbox_box() return the UID validity

2017-04-22 Thread Oswald Buddenhagen
commit bbe4567bce8ed964db8a52221ad28ae32b699176 Author: Oswald Buddenhagen Date: Fri Mar 24 19:24:30 2017 +0100 let driver_t::openbox_box() return the UID validity ... and make 'uidvalidity' private to the drivers. src/driver.h | 5 + src/drv_imap.c| 41

[commit] master: streamline syncing of old entries

2017-04-22 Thread Oswald Buddenhagen
commit 677accfd84c9b55416a886f6e5240f33c397eea8 Author: Oswald Buddenhagen Date: Fri Mar 10 17:40:54 2017 +0100 streamline syncing of old entries the order of the conditionals was purely historical (pre 4ec56f8cf, anno 2005) and hard to follow, as were the comments. src/sync.

[commit] master: provide a proper getter callback for driver capabilities

2017-04-22 Thread Oswald Buddenhagen
commit f46cf8c887db43ac8dc31b68a4d7405fdf5d56b3 Author: Oswald Buddenhagen Date: Sun Mar 19 13:50:41 2017 +0100 provide a proper getter callback for driver capabilities that way driver_t contains only callbacks. src/driver.h | 3 ++- src/drv_imap.c| 8 +++- src/drv_m

[commit] master: make driver_t::prepare_load_box() return the final options

2017-04-22 Thread Oswald Buddenhagen
commit c886f71054a1f28a992cc1f81833c09aa44f1a31 Author: Oswald Buddenhagen Date: Fri Mar 24 14:18:41 2017 +0100 make driver_t::prepare_load_box() return the final options ... and make 'opts' private to the drivers. src/driver.h | 5 ++--- src/drv_imap.c| 22

[commit] master: make UIDs unsigned

2017-04-22 Thread Oswald Buddenhagen
commit bb632d1cd029fa3dfbd005480e115b441c3108f7 Author: Oswald Buddenhagen Date: Tue Mar 21 20:05:29 2017 +0100 make UIDs unsigned complies with the IMAP spec, thus removing the (not really) arbitrary limitation to INT_MAX for UIDs. src/common.h | 6 +- src/driver.h

[commit] master: don't mess with the driver's mailbox list from outside

2017-04-22 Thread Oswald Buddenhagen
commit 96b5ae8360054cf7f1c48bc2d3a85124fc5a5908 Author: Oswald Buddenhagen Date: Fri Mar 24 15:29:06 2017 +0100 don't mess with the driver's mailbox list from outside the api specifies that the list remains owned by the driver, so poking around in it is ugly and risky. src/ma

[commit] master: factor out transform_refcounted_msg_response()

2017-04-22 Thread Oswald Buddenhagen
commit 8b7d3792e40fb4cc289f68eb94b3297cb5c99255 Author: Oswald Buddenhagen Date: Fri Mar 24 17:00:00 2017 +0100 factor out transform_refcounted_msg_response() the missing cross of transform_refcounted_box_response() and transform_msg_response(). src/drv_imap.c | 25 ++

[commit] master: introduce driver call debugging

2017-04-22 Thread Oswald Buddenhagen
commit 4cc5ad5a1ae5cbe8405b5391d5a9aefb19c38563 Author: Oswald Buddenhagen Date: Sun Apr 2 14:57:17 2017 +0200 introduce driver call debugging do that by wrapping the actual stores into proxies. the proxy driver's code is auto-generated from function templates, some pa

[commit] branch 'wip/next' deleted

2017-04-22 Thread Oswald Buddenhagen
The branch 'wip/next', previously at b4ca7ca, has been deleted. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___