commit ae3a61b668b7a7b88a39471b84edcddab978cc58
Author: Oswald Buddenhagen
Date: Fri May 20 12:33:51 2022 +0200
clarify / micro-optimize cancel_sync()
src/sync.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/sync.c b/src/sync.c
index 9de140e9..532ff0eb 10
commit 11352708b8fd007d32fb6c55f266a39d46f7bf66
Author: Oswald Buddenhagen
Date: Sat Jun 18 18:35:07 2022 +0200
fix roff abuse in mdconvert man page
this one was missed in a33e4475.
src/mdconvert.1 | 23 +++
1 file changed, 11 insertions(+), 12 deletions(-)
d
commit 75113ef79672273d85f41cfa05bfb0b154f3fd5b
Author: Oswald Buddenhagen
Date: Fri May 20 12:33:12 2022 +0200
get rid of some redundant casts
amends c3d91ae1, 1b67c499, 9c86ec34, and 83ebe902+1039ee25.
src/drv_imap.c| 10 +-
src/drv_maildir.c | 2 +-
2 files change
commit 72ba7ef1252d2b3fd90e8683ffd1fcf4299e4b95
Author: Oswald Buddenhagen
Date: Wed May 25 16:14:57 2022 +0200
bump copyrights
it's legally irrelevant, but whatever.
debian/copyright | 2 +-
src/common.h | 2 +-
src/config.c | 2 +-
src/config.h | 2 +
commit b9f0162642e270d5ebac1021cdac1b1a9fc3dc24
Author: Oswald Buddenhagen
Date: Thu Jun 2 18:42:07 2022 +0200
make free_*_messages() loops less obfuscated
notably, free_maildir_messages() had a dead assignment.
src/driver.c | 7 +++
src/drv_maildir.c | 5 +++--
2 files
commit 35375df63f013abff786ff612d13c1c7961fdff7
Author: Oswald Buddenhagen
Date: Fri May 20 12:42:22 2022 +0200
don't put IMAP stores in SST_BAD state into the unowned list
nothing would ever recycle them, so they'd just waste space. so cancel
them right away.
amends 9
commit 9356300952f128ee216536a15236daec082e6cfb
Author: Oswald Buddenhagen
Date: Thu Jun 16 12:44:35 2022 +0200
convert licensing to SPDX
while at it, add/fix some licenses/copyrights/comments:
- it makes no sense to have a GPL exception in scripts
- ted did not contribute
commit 04e225c7ce54215f3322c2decdec17c62c6d300c
Author: Oswald Buddenhagen
Date: Tue May 10 12:11:04 2022 +0200
make some maildir (error) messages more helpful
include the affected path.
src/drv_maildir.c | 25 +
1 file changed, 13 insertions(+), 12 deleti
commit 8e83649c33a902fcb96d150febe6dc2d325c9989
Author: Oswald Buddenhagen
Date: Mon Apr 4 21:39:54 2022 +0200
slightly improve maildir rescan debugging
src/drv_maildir.c | 15 ---
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/drv_maildir.c b/src/drv_maildi
commit 254d2be9f47fd63285ac9c39d32be8bec7c7a6f7
Author: Oswald Buddenhagen
Date: Wed Feb 2 13:06:43 2022 +0100
remove pointless "lost track of ... messages" warnings
it doesn't really add any value when resuming after an interruption, as
incomplete propagations are perfectly ex
commit 929aa3281baed3fe26ea8e4a25fa6581ad2b4587
Author: Oswald Buddenhagen
Date: Fri Jan 14 16:57:03 2022 +0100
autotest: don't die on failure to read state file
this can happen as part of a "regular" test failure.
src/run-tests.pl | 5 -
1 file changed, 4 insertions(+), 1 de
commit 5d7f2c74614db0652421f3c6f4663263dac6b255
Author: Oswald Buddenhagen
Date: Mon Jan 24 01:04:38 2022 +0100
autotest: remove excessive close()s from showstate()'s error path
src/run-tests.pl | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/run-tests.pl b/src/run-tests.pl
index
commit 22a1df73e46f32f1807f39c3d23ecc83741b4d0b
Author: Oswald Buddenhagen
Date: Wed Jan 26 18:46:58 2022 +0100
autotest: add support for starting at a specific test
... which is often useful for continuation after test data fixes.
src/run-tests.pl | 21 -
1 f
commit 7f38c5dc53450d3f3b55341cf7dd2b185ff4ad50
Author: Oswald Buddenhagen
Date: Mon Apr 4 21:51:16 2022 +0200
autotest: add support for strace-ing
works just like valgrind-ing.
src/run-tests.pl | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/run-tests.pl b/src/run-tes
commit 03a38e48d3e8b555e55d5b2643dfdaf165ef5045
Author: Oswald Buddenhagen
Date: Wed Jan 26 18:45:29 2022 +0100
autotest: use sub-string matching for test selection
typing the full names is rather tedious when they get long.
also, using sub-strings, we can match multiple tests
commit 27f0c470109047e956ae50e783334081955e6e4b
Author: Oswald Buddenhagen
Date: Tue Jan 25 21:45:06 2022 +0100
autotest: be more verbose about internal errors & warnings
src/run-tests.pl | 5 +
1 file changed, 5 insertions(+)
diff --git a/src/run-tests.pl b/src/run-tests.pl
index 2b
commit 2b797fac6187736fc71b21a17cad6fa6793463e6
Author: Oswald Buddenhagen
Date: Sat Jan 8 12:53:02 2022 +0100
delay TUID assignment less
we can't delay TUID assignment until after starting propagation if we
want to provide both safety and performance.
amends a0961d65.
commit 640b2a6649431fcf6f4239e6bae96711088ecf7a
Author: Oswald Buddenhagen
Date: Sun Feb 20 20:34:36 2022 +0100
autotest: factor out mkstate()
for clarity and structural consistency.
src/run-tests.pl | 20 ++--
1 file changed, 14 insertions(+), 6 deletions(-)
dif
commit e0c1a83fc10c29e3cf7ebb03d3af536388630f49
Author: Oswald Buddenhagen
Date: Mon Feb 7 15:44:38 2022 +0100
autotest: make more use of readfile()
src/run-tests.pl | 30 --
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/src/run-tests.pl b/src
commit 697f35fd9792cb9a6c6a46d45ecbe6063721fd37
Author: Oswald Buddenhagen
Date: Mon Jan 24 01:12:49 2022 +0100
autotest: factor out readstate() from showstate() and ckstate()
src/run-tests.pl | 137 +--
1 file changed, 72 insertions(+), 65 dele
commit 9f9a2af959d81a0b2d22920c6390841590a028c8
Author: Oswald Buddenhagen
Date: Sun Jan 23 23:19:41 2022 +0100
autotest: let mkchan() take an atomic channel state
this is consistent with ckchan() and printchan().
src/run-tests.pl | 14 --
1 file changed, 8 insertions
commit 325551ce79a837cc1ca6766671e682d52b969f1d
Author: Oswald Buddenhagen
Date: Mon Jan 24 21:49:18 2022 +0100
autotest: use ints where we mean ints
... instead of using strings. perl allows being sloppy, but it doesn't
really help understanding the code.
src/run-tests.pl |
commit 7ce8c09145ce976232095eb19f30380e62487845
Author: Oswald Buddenhagen
Date: Wed Jan 26 21:56:50 2022 +0100
autotest: support tests that don't modify the state file
a test run may (legitimately or not) modify only the mailboxes, or even
nothing at all. do something sensible
commit 96ee50d6baaa7501f3b188013b26c225b725c7e8
Author: Oswald Buddenhagen
Date: Sun Feb 6 15:43:53 2022 +0100
autotest: transform ck*() => cmp*()
this avoids the ugly and error-prone repeated reading of the state
after a failure.
cmpbox() had to be made non-destructiv
commit 3040625a62396f0e68f7d8270cc0f85eaeaa39aa
Author: Oswald Buddenhagen
Date: Thu Jan 27 14:22:29 2022 +0100
autotest: make state comparison more elaborate
don't abort the comparison if continuing makes sense, and try to be more
specific about the problems.
we give
commit db66c4d74662bc5562436dd6e08777ecf3c94276
Author: Oswald Buddenhagen
Date: Sun Feb 20 13:01:09 2022 +0100
autotest: remove show()
this somewhat crude way of generating test data will be obsolete soon.
src/run-tests.pl | 69
1
commit fc0ad9eb659d6ece2f88902c32f0b43c300957ec
Author: Oswald Buddenhagen
Date: Mon Jan 24 00:33:53 2022 +0100
autotest: use more appropriate data formats
parse the test data into hierarchical structures instead of using it in
its raw form. this is semantically cleaner and all
commit 98f4fd45864c4ffac5b1c310f7efa53187d54a84
Author: Oswald Buddenhagen
Date: Sun Apr 24 14:30:10 2022 +0200
shuffle around global variables
the new organization clarifies the ownership, making things more
self-contained. this will potentially help with unit testing.
src/c
commit 6061de0ba67bafdea5431ce9967d0920cc4280f4
Author: Oswald Buddenhagen
Date: Sun Feb 20 13:00:55 2022 +0100
autotest: use more legible format for test data
instead of specifying the mailboxes and sync state verbatim, use a
format which deals only with "subjects" (but no UID
commit 156e9c5058638e696506094fab0c85374c05ca5f
Author: Oswald Buddenhagen
Date: Wed Dec 8 13:55:33 2021 +0100
comment updates
src/config.c | 8 +---
src/driver.h | 6 +++---
src/drv_imap.c | 7 ---
src/sync.c | 18 --
src/sync.h | 2 +-
5 files cha
commit 7d02d6c1fe57e6abaa1bf03b27c2ed1487aef71f
Author: Oswald Buddenhagen
Date: Tue Feb 8 14:57:24 2022 +0100
move checked FILE functions to util.c
while they are used only in sync.c, they are conceptually low-level.
src/common.h | 8
src/sync.c | 35
commit 1a0255c5665c3e755fdc237f6c9e09745500396a
Author: Oswald Buddenhagen
Date: Wed Apr 27 16:42:12 2022 +0200
centralize some #includes
these are used (almost) everywhere, so put them in common.h.
src/common.h | 6 ++
src/config.c | 7 ---
src/driver.c |
commit 603e740b63d4d9828ddbf350788071c5d6cef05d
Author: Oswald Buddenhagen
Date: Tue Feb 8 15:02:15 2022 +0100
move expand_strdup() to config.c
it's not really a generic function.
src/common.h | 2 --
src/config.c | 34 ++
src/config.h | 2 ++
sr
commit 08a375ea0736efa1c58af0c0b7a112f21b6a399a
Author: Oswald Buddenhagen
Date: Tue Apr 12 13:00:54 2022 +0200
rename nfcalloc() => nfzalloc()
the signature is like that of zalloc() (as found in the linux kernel;
not to be confused with zone allocators, etc.), not like that of
commit 6f023376a1dae14a643cfaf833ec003756070243
Author: Oswald Buddenhagen
Date: Tue Dec 21 18:44:39 2021 +0100
turn debug() functions into macros
this makes calling them with more expensive arguments efficient without
wrapping them into additional conditionals.
src/common.h
commit d789f0c1ce65d8f3e5acf75667ad4838ead45cfb
Author: Oswald Buddenhagen
Date: Thu Dec 23 23:12:11 2021 +0100
make some string buffers non-static
this was clearly bogus; these are short-lived local variables.
amends 4cc5ad5a.
src/drv_proxy.c | 10 +-
1 file cha
commit 0f2220634dcbb2248134d4dc3b4b61d3eed0c016
Author: Oswald Buddenhagen
Date: Sat Jan 8 14:12:18 2022 +0100
coding style: add "superfluous" braces
- wrap flow-controlled statements that contain blocks into blocks
themselves
- wrap bodies of do-while()s into blocks
commit f2450cc4b8a62948c159490934bd55ae2bb4390e
Author: Oswald Buddenhagen
Date: Sun Dec 26 12:42:16 2021 +0100
centralize message flag pretty-printing somewhat
the flag values themselves are central, so we can centralize their most
common representation (Maildir's) just as wel
commit 4b498482883176e724d2fc59eb7d06214aa09360
Author: Oswald Buddenhagen
Date: Wed May 4 13:52:44 2022 +0200
rearrange Makefile somewhat for consistency
src/Makefile.am | 19 ++-
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/src/Makefile.am b/src/Makefil
commit 4eff48c54ed717a69d8cc3bb9c358ee440f46394
Author: Oswald Buddenhagen
Date: Tue Apr 12 13:06:55 2022 +0200
replace 1-t => t^1
this is consistent with what we already did for in-place operations.
arguably, it's also a bit more intuitive.
src/sync.c | 98 ++
commit 8bb679ea06e38d34f8db08db7ed2e840a64cc16d
Author: Oswald Buddenhagen
Date: Thu May 5 19:00:24 2022 +0200
create sync state parent directories recursively
this may matter with SyncState being for example ~/.local/state/isync/.
src/common.h | 2 ++
src/drv_maildir.c | 1
commit cf13630a00e4761e26f054b37875085958800eeb
Author: Oswald Buddenhagen
Date: Mon May 30 23:04:21 2022 +0200
make default config & state locations follow the XDG basedir spec
there are fallbacks to the old locations for compatibility.
the new locations use "isync" inste
commit d3f118be79686adfcd085211ad3a4b3fa892bf4e
Author: Oswald Buddenhagen
Date: Mon May 30 23:04:52 2022 +0200
re-interpret relative local paths in config file
this makes config+data file "sets" relocatable, which is useful for
testing.
this is technically a gratuitou
commit 1ba0cd7b96de08b843c77e4b6385bf6d34bd2afa
Author: Oswald Buddenhagen
Date: Tue May 31 09:58:41 2022 +0200
factor out sync_state.c & sync_p.h from sync.c
while moving the code, localize some variables, and use C99 comments.
src/Makefile.am | 4 +-
src/sync.c | 644 +
commit 05122b678d21b799f09958816e3123d270be3dbc
Author: Oswald Buddenhagen
Date: Fri Nov 26 17:31:25 2021 +0100
print version and command line args in debug mode
that makes it unnecessary to ask help-seeking users for it separately.
src/main.c | 5 +
1 file changed, 5 inserti
commit c1eb3566b1ab1bc6a910f46bce8bfce7d67f3c30
Author: Oswald Buddenhagen
Date: Mon Jun 6 12:29:48 2022 +0200
split Verbosity off from DFlags
this clearly documents the permitted states.
src/common.h | 11 ---
src/driver.h | 2 +-
src/main.c | 53 +
commit 6a78e2c5f61fdc1ec18a87f05f800d22ca59dfa6
Author: Oswald Buddenhagen
Date: Tue May 31 14:05:28 2022 +0200
automate enumeration of power-of-two #defines
this is a lot more legible, and makes it possible to insert values in
the middle without churn.
i didn't find a
commit 608c724addbb45dee0c9c112c7a57868f935c4d9
Author: Oswald Buddenhagen
Date: Thu Jun 16 10:38:58 2022 +0200
assert sizes of smaller-than-int bit fields in structures
src/common.h | 4
src/driver.h | 5 +
src/sync_p.h | 3 +++
3 files changed, 12 insertions(+)
diff --git a/sr
commit 91d19cceac80d14b5700bfe6d0e12c3f9bea7cb2
Author: Oswald Buddenhagen
Date: Tue Feb 8 15:19:19 2022 +0100
make journal entry argument processing saner
the mega-if was unreadable and caused lots of churn.
src/sync_state.c | 48 +++-
commit b3155a8bcb14943c42432382f406e620d505c684
Author: Oswald Buddenhagen
Date: Thu Jun 16 10:40:34 2022 +0200
merge wstate back into status
this optimizes space usage, prospectively (we'd have to extend wstate
soon otherwise).
this partially reverts 4ffe1496.
src/s
commit f7650993b7bdd239414590ae5a1abafc36a3b73f
Author: Oswald Buddenhagen
Date: Sun Feb 20 15:27:59 2022 +0100
re-nest conditions for trashing messages
this makes the logic easier to follow and document in place.
also add some debug statements.
src/sync.c | 111
commit 4b0c5a0cd5e6e301ee5d633f90834826e413a2c5
Author: Oswald Buddenhagen
Date: Tue Apr 12 12:18:09 2022 +0200
do not exclude oversized messages from remote trashing
... as otherwise these messages would be just lost.
the assumption is that opposite-side trashing is used
commit d92c62022ab0ef7dfcdf144ef5525d38858c9806
Author: Oswald Buddenhagen
Date: Wed Dec 8 13:58:01 2021 +0100
treat not-really-propagated messages as trashable
messages for which only a placeholder was propagated should be treated
as not propagated, as otherwise the actual con
commit 01329bdf82e932acfb5b228851177123509850b7
Author: Oswald Buddenhagen
Date: Mon Apr 4 21:41:18 2022 +0200
exclude placeholders from trashing
it makes no sense to trash the placeholders, and in fact the common
case is that they are deleted due to being replaced by the full
commit 8363dbf2d1ab9df15040eb0a4ece74e5eab1f65c
Author: Oswald Buddenhagen
Date: Mon Apr 4 18:55:14 2022 +0200
add autotest for message trashing
src/run-tests.pl | 159 ++-
1 file changed, 142 insertions(+), 17 deletions(-)
diff --git a/src/run
commit 09f08e4974aab8b8913de0125e81978ad9bf84c4
Author: Oswald Buddenhagen
Date: Wed May 18 19:08:55 2022 +0200
stop parsing config lines after invalid keyword
otherwise we may pointlessly complain about excess tokens.
src/config.c | 3 +++
src/driver.c | 1 +
src/drv_imap.c
commit d7e3ae4b74ef30e5a3ea255099a89b07697fb7cc
Author: Oswald Buddenhagen
Date: Tue Jan 11 16:16:25 2022 +0100
report location of overlapping operations
src/config.c | 24 +++-
src/config.h | 2 +-
src/main.c | 2 +-
3 files changed, 21 insertions(+), 7 deletions(
commit be6e07c5c93fd8da1986e496ee6a19b342e8f460
Author: Oswald Buddenhagen
Date: Tue Dec 28 12:55:19 2021 +0100
tone down complaints in merge_ops()
speak more accurately of redundancy, not conflict. these are fatal
errors at all only because the user likely meant something else
commit e70a20477cde4b6ef4fd6608b5197a66d8891a69
Author: Oswald Buddenhagen
Date: Tue Dec 28 12:55:19 2021 +0100
complain about --noop/--no-* conflicts
REFMAIL: 20211130124527.t3u7s4fyy57gm...@fastmail.com
src/config.c | 26 --
src/main.c | 13 +++
commit 5d5e07eb63b37dba7c37715c44dcbb4518af5b9b
Author: Oswald Buddenhagen
Date: Wed May 18 22:40:25 2022 +0200
add --list-stores mode
this is useful for verifying the store configuration, and finding the
right mailbox names.
REFMAIL: YaZC3XUTWjyfjgn+@ugly
NEWS
commit 44ad8f036165a5086298de26f5a75fd6588a0da7
Author: Oswald Buddenhagen
Date: Thu Jan 13 14:05:45 2022 +0100
handle mixing simple and compound sync options more explicitly
src/config.c | 22 +-
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/confi
commit bf59636f0f0bf8767f098a2bc689f10476414400
Author: Oswald Buddenhagen
Date: Sun Jun 5 19:27:14 2022 +0200
don't stop validating Channel config after first error
src/config.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/config.c b/src/config
commit d5a5da94755877fe055b0b5d540195860ef5814d
Author: Oswald Buddenhagen
Date: Wed May 4 13:52:44 2022 +0200
factor out main_sync.c & main_p.h from main.c
this moves the channel iteration & synchronization code from main(),
with all its dependencies.
then it is "re-t
commit 0f7c231cc2f5753ed57005f50d7805b82df257f8
Author: Oswald Buddenhagen
Date: Sun Jun 5 19:28:35 2022 +0200
fix bogus complaints about missing Store/Account references
... when the reference is simply invalid (we already get a complaint
about that).
src/config.c | 1 +
s
commit c986f80bb0fa0b2f7d56382a3967425bae41028f
Author: Oswald Buddenhagen
Date: Sun Jun 5 19:18:28 2022 +0200
append even broken Channel configs to list
otherwise perfectly fine Group defs will complain about invalid refs.
we already do that with Store configs.
src/conf
commit 2cbf8a68cf13b3ef33b413030dc593c90a90641d
Author: Oswald Buddenhagen
Date: Tue Dec 28 18:53:55 2021 +0100
abort if any invalid Channels/Groups have been specified
this is more in line with expectations, and avoids a silly "No channel
specified." error message.
src/main_
commit 0f6362f2e2ecefa822c05854b2e48fa5638f96dc
Author: Oswald Buddenhagen
Date: Fri Feb 4 19:28:34 2022 +0100
fix tracking of sync record count through placeholder upgrades
for now, this is just pedantry, as it merely affects the size of the
already oversized { uid => srec } f
commit a1a3313ed436e3892d8a5549dfc1a07ca9fc93c0
Author: Oswald Buddenhagen
Date: Wed May 18 23:03:50 2022 +0200
print human-readable summary at exit
this is meant primarily for use with a redirected output, where no
progress counters are shown. but it would be weird not to have
commit 69118d25ecb089d083b97cf978047590a5b86e5b
Author: Oswald Buddenhagen
Date: Thu Jan 6 12:44:33 2022 +0100
optimize { uid => srec } flathash
the sync records contain the uid, so storing it explicitly doubles the
hash's size for no good reason.
src/sync.c | 19 +---
commit 61b08880c8de61a42897f4680b36cded02dc9e8b
Author: Oswald Buddenhagen
Date: Fri Dec 10 20:56:36 2021 +0100
improve tracking of maxxfuid
do it when the corresponding expiration events are logged/replayed.
that makes it unnecessary to log it separately just to make the
a
commit 0f1b2b646beb2639f73766f0e505000154892bbd
Author: Oswald Buddenhagen
Date: Thu Nov 25 15:57:39 2021 +0100
remove questionable optimization from case-insensitive string comparison
we optimized the case where the string would be equal even without
upper-casing, but for the
commit 8f4af5f78f118f2e508ca1af7e30d20a3dae8cae
Author: Oswald Buddenhagen
Date: Wed Dec 29 22:38:50 2021 +0100
make use of finduid[] after journal replay
we used to pass all initially loaded messages to match_tuids(), which
could be quite some when syncing old messages. as los
commit 7f1c6679106914873fd19d2b51274f500986c703
Author: Oswald Buddenhagen
Date: Fri Nov 26 20:39:45 2021 +0100
cache drivers' ability to handle crlf in mails
it's a cheap call, but it clutters up log files.
src/sync.c | 5 +++--
src/sync_p.h | 2 +-
2 files changed, 4 insertio
commit f4ed8b27f655dce472e818f1dc592842b65deea5
Author: Oswald Buddenhagen
Date: Sun Dec 26 19:11:17 2021 +0100
fold superfluous INIT_IMAP_CMD_X() macro
it's been identical to INIT_IMAP_CMD() since c3d91ae1.
src/drv_imap.c | 7 +--
1 file changed, 1 insertion(+), 6 deletions(
commit 5c44732fd950e89e3e3a8f7101b6698bdb566323
Author: Oswald Buddenhagen
Date: Fri Jan 7 20:21:50 2022 +0100
support C99 comments in proxy driver code generator
src/drv_proxy_gen.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/drv_proxy_gen.pl b/src/drv_proxy_
commit f5d234ffa15da1c371784fde827c4d5a3f4864d1
Author: Oswald Buddenhagen
Date: Wed May 4 21:29:02 2022 +0200
simplify an initialization in proxy driver code generator
the 'checked' hash entry doesn't exist yet at that point, so it's always
undefined.
amends 4423a932.
commit a5dc1baedf7d486b15554575f695b8a513a60364
Author: Oswald Buddenhagen
Date: Sat Jan 8 00:15:03 2022 +0100
denoise usages of INIT_IMAP_CMD()
move the variable declarations into the macro, taking advantage of the
fact that mixing them with code is ok since C99.
src/drv_ima
commit a49017f481a7da71af1bcfdad8f9a517f88ac1e0
Author: Oswald Buddenhagen
Date: Wed Jun 15 17:17:23 2022 +0200
streamline pretty-printing of message flags
wrap make_flags() into fmt_flags() which returns a (struct-wrapped)
string, so the calls can be inlined into the printf st
commit 17db5de0cadf15dd52ebead3e45a0507e8c774c9
Author: Oswald Buddenhagen
Date: Thu Dec 23 17:43:59 2021 +0100
add debug pretty-printing for sync record status flags as well
src/bit_enum_gen.pl | 19 +--
src/common.h| 24
src/sync_state.c
commit c902f69c6fe0814f9f536a3e84d3f186ddef91d1
Author: Oswald Buddenhagen
Date: Sun Dec 12 14:51:30 2021 +0100
format message flags in the sync debug output
now that we can do it cheaply, make copious use of it.
src/driver.c | 14 ++
src/driver.h | 1 +
src/
commit 950ebe833decae8617cdc53513873081e4691abb
Author: Oswald Buddenhagen
Date: Thu Feb 10 21:07:40 2022 +0100
add debug messages about effective requested operations
src/common.h| 7 +++
src/config.c| 9 +
src/main_sync.c | 2 ++
src/sync.h | 2 ++
4 files chang
commit 3091e2fe5a8d6bf079508acfacc26edf14c65d1c
Author: Oswald Buddenhagen
Date: Sun Jun 5 10:49:21 2022 +0200
add debug pretty-printing for OPEN_* flags as well
src/drv_proxy.c | 9 -
src/drv_proxy_gen.pl | 3 ++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git
commit 6e7b3d24c18f21fd1e85d553aa5b530cbf41b75c
Author: Oswald Buddenhagen
Date: Thu Feb 10 17:58:29 2022 +0100
improve some debug messages
- print on which side we're upgrading a placeholder. as a side effect,
this moves some magic out of upgrade_srec().
- don't use past
commit 16238909d3e70524bd694fb243c0d8a2deac9749
Author: Oswald Buddenhagen
Date: Thu Dec 23 13:48:38 2021 +0100
print some more debug info during state reading and journal replay
src/sync_state.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/src/sync_state.c b/src/sync_state.c
commit 30a601562484616fc7f13dd73ea977b8f5903aff
Author: Oswald Buddenhagen
Date: Wed Jun 1 13:54:48 2022 +0200
test also one-sided async operation
this tests only the common case of the far side being async - adding
100% instead of 50% to the runtime of the test to cover a corn
commit fa8186c8d41aadb1b33a940e623d549b88745b9b
Author: Oswald Buddenhagen
Date: Mon Jan 3 16:53:43 2022 +0100
heed M_DEAD more thoroughly
this doesn't really fix anything under current conditions, as so far
only Maildir driver functions that modify known messages can cause
commit 3a8f8a83916484656aa75962bfdcf679010c0116
Author: Oswald Buddenhagen
Date: Mon Feb 7 12:53:58 2022 +0100
fake async drivers more convincingly
instead of delaying the callback, delay the actual driver call. this is
in line with how the IMAP driver would behave, as since co
commit 58a69a5b63a75989c0fde21283bebce7ec157eae
Author: Oswald Buddenhagen
Date: Tue Mar 1 14:58:51 2022 +0100
split off -Ts from -Tj
there is actually no use case overlap between between the two (though
limiting the step count does imply keeping the journal, as we exit
bef
commit 4e25fd59c154a172d04c9d0df55af2bed46b5de6
Author: Oswald Buddenhagen
Date: Fri Jan 7 22:58:38 2022 +0100
fix possible attempts to set flags of M_DEAD messages
so far, we checked for M_DEAD only in loops over messages. but we should
have checked srec->msg uses as well. thi
commit 87d1a4edde9ffaea5732955c1899bd523c6297b5
Author: Oswald Buddenhagen
Date: Thu Dec 23 23:51:42 2021 +0100
fix invalid data accesses in proxy driver callbacks
all printing of auxiliary callback arguments must be conditional on the
command having actually succeeded. this af
commit 13764a94b96c153411ebf74bb79c10bfa48191af
Author: Oswald Buddenhagen
Date: Sun Feb 6 14:56:16 2022 +0100
don't expunge until all flag propagation is complete
so far, we ensured that propagation _into_ a store completes before
expunging it, but not that propagation _from_
commit d74af51fa18a2448736186f70853372f234aa418
Author: Oswald Buddenhagen
Date: Tue Mar 1 15:16:07 2022 +0100
rework interrupt-resume autotesting
instead of doing two runs for each journal entry, do one run for each
"write" operation, be it a journal entry or a writing driver
commit 03d0ab0fbf5b3a5363fd77d63641e51533a7d767
Author: Oswald Buddenhagen
Date: Wed Jun 1 20:30:13 2022 +0200
fix dropping of pending message propagations when resuming
started message propagations will now complete upon resumption even if
the run was requested to be a no-op -
commit 698f9ff173d472a777ab63ca2f095b9ba7a8e9b5
Author: Oswald Buddenhagen
Date: Sat Dec 11 15:43:21 2021 +0100
don't log right before saving state unless requested
only the journal replay autotest really needs it. in other cases it's
just wasting time and ssd life.
src/commo
commit a652043934292a989d2d7ad1e10008c880a5b586
Author: Oswald Buddenhagen
Date: Wed Feb 9 14:01:28 2022 +0100
fix updating cached message flags in imap_set_msg_flags()
while this (currently) doesn't really matter (as all flag changes are
calculated before any are actually subm
commit e6c6840651b794e00bd1dc800a47079d82b121ff
Author: Oswald Buddenhagen
Date: Tue Apr 12 10:32:19 2022 +0200
make sure we fetch source flags when resuming --renew
... and the target is expunged.
src/sync.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/sync.c b/src/
commit 1d433b47731180b76e217087539df7aaeedb8219
Author: Oswald Buddenhagen
Date: Sat Mar 19 17:35:52 2022 +0100
revamp post-journal-replay OPEN_* flags computation
instead of doing it instantly for every message, make a tally and
process it along with the OP_* flags. this allow
commit 2f4b71c56e3e6caa76a649018681704628405108
Author: Oswald Buddenhagen
Date: Fri Feb 18 17:45:01 2022 +0100
knock out ReNew if there are no dummies
the operation requires loading the target side, which makes it somewhat
expensive in otherwise unidirectional syncs.
commit 3d90507a759e81bc5c3e116a3751f34657aa023b
Author: Oswald Buddenhagen
Date: Mon Feb 7 20:01:03 2022 +0100
fix resuming propagation of flags on new messages
log the flags as soon as we know them, and commit them when the uid is
assigned (including during tuid matching).
commit be9625725c9db965954cf1c76bd12052e7c9c829
Author: Oswald Buddenhagen
Date: Fri Dec 10 21:45:51 2021 +0100
rework maxuid tracking yet again
re-introduce newmaxuid, but now it's not used at all until the state
is committed. this simplifies the new-message loop, esp. in view
401 - 500 of 712 matches
Mail list logo