On locking problems

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. Which isn’t great.

Read More

Parsing queries

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!) the CLucene index has been removed, and the query interface to it therefore doesn’t exist any more. It’s quite possible that CLucene will make a come-back, but the query interface is something I want to get rid of: for no better reason than it requires us to duplicate information from the SQL database to the Lucene index.

Read More

Reading configuration from store.

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.

Read More

Setting up Access Control Lists

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. I rarely leave the store code in Bongo feeling unimpressed, which I suppose is a good feeling!

Read More

Simple store introduction.

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!), it’s actually very good and only needs a small helping hand. (It would be a great job for a new bongo hacker 😉

Read More

SQLite experiment; r800 reached….

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. It’s at the point now where it needs some decent testing while the final pieces are put together.

Read More

Sudden dislocation

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.

Read More

Suggestion for Pat

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”

Read More

The Bongo Project has applied for Google Summer of Code

We talked about it, and I did the form yesterday – we’ve applied as a mentoring organisation for this summer’s Google of Code. I’ve never done an application to GSoC before, although I’m familiar with many of the other projects who’ve taken part. In hindsight, I wanted to say a lot more on our application form, but ho-hum. It would have been nice to find something like OpenSolaris’ application before-hand, but I feel comfortable knowing that our application is completely our own 🙂

Read More

This is how we cool it.

Recently, I decided I needed to move my server downstairs, but in order to do that I had to reduce the noise substantially – it’s going in our living room for now. It had the standard AMD fan kit on it, and a pretty awful power supply.

This is how it looks now:

I don’t think it’s going to overheat any time soon, and it’s really quite unnoticeable in terms of sound now – I can just hear the hard drive, and that’s it.

Read More

Page 19 of 20