<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div><h2><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">2020-09-14</span><br></h2></div><ul class="listtype-bullet listindent1 list-bullet1"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z">ellie</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z">xsyslog is now merged!</span><br></li><ul class="listtype-bullet listindent3 list-bullet3"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z">please get into a habit of using it in new code.  there’s some examples in b9191eeb09</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z">if </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">fm ops</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z"> notices specific log outputs they want fixed they can throw them at ellie</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z">will continue to chip away at converting existing ones as time/motivation permits</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z">mbname_from_foo() constructor APIs</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z s-lparen"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z h-lparen">(esp</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z"> mbname_from_userid()) should work harder to only produce valid mbname objects?  mbname_from_intname() and mbname_from_extname() look fairly thorough, but mbname_from_userid() is especially naive, causing #3169.  i haven’t looked at the others</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z s-lparen"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z h-lparen">(if</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z"> there are others).</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">A</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z958z80z1v6z78zz65z7mz81zz89zxz73zijz75zgz74zz77zdedctz66zc0z73zz88z">ustralia will be back in DST again in a few weeks, so we should start thinking about when to flip the meeting time to the other end of the day</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">added a new makefile target to run each cunit test individually</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z s-lparen"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z h-lparen">(instead</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"> of along with all others) and found 55 tests that don’t run on their own, mostly due to the same leaky abstraction</span><br></li><ul class="listtype-bullet listindent3 list-bullet3"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">imapd.conf contents were being generated, but not every test that relied on those did the generation, so they passed because an earlier test did</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">some mbox name tests remain to fix, though</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z s-lparen"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z h-lparen">(?)</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">custom annotation definitions: are specified case-insensitive, but we load them case-sensitively — would be easy to fix, but a comment suggests that our DAV annotations are case-sensitive.  Q:  Do we need </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"><i>custom</i></span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"> DAV annotations?</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">brong</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">working on compaction stuff</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">first pass of synchronous replication is done!  needs testing, but maybe this week can go onto unstable testing stores</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">MR called</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z s-ldquo"> </span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z h-ldquo">“debug</span><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z"> syslog lock ordering”, keeps ptr atr of open locks; the bookkeeping has been a mess because a bunch of code just closes the fd, not an explicit lock destroy</span><br></li><ul class="listtype-bullet listindent3 list-bullet3"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">[ some discussion of how we can improve this and track locks better ]</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">fix search code path to better eliminate items in non-mail folders</span><br></li></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">rsto</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">AFL has detected an httpd crasher! \o/</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">ran fuzzer for 11d against the httpd, didn’t find any other crashers</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">may turn fuzzer back to other components, or maybe update its dictionary for better-targeted attack</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">JMAP calendars work still happening on the side</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">“I’d like to return to the coverage report.”</span><br></li><ul class="listtype-bullet listindent3 list-bullet3"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">have found a few places that are clearly under-tested</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">the rest of us should give it a look to see what else looks insufficiently tested</span><br></li><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">also: can we run an instrumented-for-code-path-entry Cyrus on a used-but-not-for-customers branch to gather more real-world usage?  Answer:  yes, probably, but there are some owner/mode shenanigans to make it all work</span><br></li></ul></ul><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">murch</span><br></li><ul class="listtype-bullet listindent2 list-bullet2"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">spent a bunch of time on JMAP Sieve script code, mostly the testing code</span><br></li><ul class="listtype-bullet listindent3 list-bullet3"><li><span class="author-d-iz88z86z86za0dz67zz78zz78zz74zz68zjz80zz71z9iz90z956po2wz72znvhz70zhz77zqz71zkz90z070z88zqz72zz87zz65zz85z4z76ziz66z">there have been some memory management issues with ownership of strings</span><br></li></ul></ul></ul><div><br></div><div id="sig65535536"><div>-- <br></div><div>Ricardo Signes (rjbs)<br></div><div>CTO, Fastmail<br></div></div><div><br></div></body></html>