Category: bongo (Page 8 of 9)
I haven’t been able to do much Bongo hacking the past couple of weeks – workload has been such that I resigned myself mostly to offering hopefully helpful remarks on IRC, working on the Google SoC application and a few little build fixes. It’s been good to see that Bongo is building on a variety of OSes in the OpenSuse build service. It’s not a great measure of quality, but it helps.
Well, my informal little hackweek is coming to a close today, and it has been really good. The experimental store-sqlite branch is now well and truly merged onto trunk, and I’ve been running it the past couple of days. It’s not managing my personal mail yet, but I will probably switch over this weekend: as well as being a lot more performant, a number of serious issues for IMAP users are now totally gone.
Longish time no blog: not really getting enough hacking time at the moment 🙁
Recently we discovered a problem for IMAP users. IMAP clients can have multiple connections open at any one time, and some clients do that in practice to speed up certain operations: for example, Thunderbird’s filtering system runs more than one connection to move multiple messages at once. Which is great.
Our problem was twofold: primarily our indexing takes a little while, but the main issue is that while the indexing was happening, the mailbox was essentially frozen to other changes for various technical reasons.
I recently wrote to bongo-devel about a problem in our store protocol: in the trunk version, some commands have a “query” parameter which is unspecified in our documentation. The reason it’s unspecified is that it turns out that the parameter just gets passed through to CLucene, which as well as being something of a security issue also makes it more difficult to tell people how to use it.
In the experimental Store (coming soon to a server near you!
Probably most people will have noticed a little bit of a lull in Bongo hacking. I seem to have spent most of the last month taking care of a close relative with broken bones, which has meant me spending a lot of time away from home. At least, that’s my excuse. We totally missed the M2 milestone, but hey-ho. I’m going to wait a couple of weeks before re-profiling, to see what rate progress gets made again.
A little while ago, we decided that we would put some system configuration into the store, and rely more or less on access controls to govern who could read/write that data, which is quite a nice flexible system. However, although I knew the ACL system existed, I didn’t actually know anything about it, or even if it worked.
Like most things store related, the code is reasonably clear, and when you try it you find it basically works.
A couple of people now have asked how the store works. I’ve written a basic introduction to the features of the store, which is now available on the wiki – it’s called Store Overview, somewhat unsurprisingly, and should give people a reasonable idea of the basic structure.
We do have a store protocol guide too – linked within the overview – and although it’s both incomplete (the SEARCH command isn’t documented) and incorrect (stuff like HELP isn’t implemented, though that’s not a huge disaster!
First things, we just went past r800 yesterday – a commit I bagged myself, woo! Sadly no pretty graphs to show for it, but I think we’re back to a decent pace of commits again.
The work on the experimental branch of the Store is a good way through. This branch of Bongo builds reasonably cleanly, and works somewhat – you can deliver mail into it, and get mail out of it via IMAP.
I mentioned this on IRC, but I think it’s worth repeating again here: it’s looking like I’m going to be in the States for most of the week ahead. Pretty short notice, but oh well.
I do want to get another 0.2.9x release out soon, because some good bugs have been squished and the caldav stuff is now integrated, but we’ll see when. I’ll likely be online over there anyway.
Very excited to hear about the SMTP changes coming down the line. I’m still working pretty hard on getting the store a bit more responsive for IMAP, but the run-up to Christmas is pretty much always the busiest time of year for me.
When Pat said the following:
for lack of a better name, i named it bongosmtp_o for outbound. i’m sure there is a better name for the “agent that delivers smtp mail to remote systems”