Most of my programming is done under the heading of Project Purple, a group of Open Source programmers I'm involved with. I'm also a Debian Developer and maintain a few packages. However, I've done a couple of other things that don't really fall into either category.

qmail virtualdomain support for Exim

I really like qmail's virtualdomain support and the power that .qmail-<ext> files give you over controlling where mail goes and allowing users to control entire domains worth of mail. But I really don't have time to keep track of all the patches I need to add to qmail to do new and funky things. So I wrote a config file snippet for Exim that adds support for .forward-<ext> files (though without multiple levels of -default support at present) and a /etc/exim/virtualdomains file that acts like qmail's file of the same name.

Download exim-virtualdomain (4k)

SSH Hacking

I've written a patch to ssh-1.2.26 to allow it to connect through an HTTPS proxy. It adds an extra config file option "httpsproxy" which takes a parameter of the form "host:port" specifying the HTTPS proxy to use. SSH can then be used as normal. One thing to note is that most HTTPS proxies only allow connections to port 443, so you might need to run sshd on that port as well/instead.

Many thanks to Simon Cozens, who performed extensive testing and also contributed some improvements.

Download ssh-https.patch.gz (3k)


XMLScript is an XML transformation language invented by DecisionSoft. I've worked on their implementation of XMLScript, called Xtract, primarily on the FreeBSD port.

I'm currently (slowly) working on a FreeBSD port of Xerces C++. My current patch (against Xerces 1.0.1) is here. It needs a libwcs. The one I'm using is a modified version of David Cross' work. It's available here.

Status at present is that the library compiles, but the samples don't link. I need to write iswspace() and towupper() for libwcs and there's some linking issues I believe. If anybody can help solve these issues I'd appreciate hearing about the solutions - my email address is below.


I've written a simple patch for qmail to add X-Spam-Warning headers when mail is received from hosts on the RBL/RSS/DUL/ORBS spam lists. It's available here. It's against a debianized qmail 1.02 source tree but is fairly trivial so should apply easily to others.


lg is a simple tool to help in situations where there are multiple admins for a machine. It provides a central method for logging work carried out by each of the admins. It was originally written by Mark Rigby-Jones for the Oxford University Computer Society and I've made a few changes to that version. You can get a source tarball here (9k) or an i386 .deb for Woody here (8k).