Older blog entries for benno (starting at number 6)

pmap is scary

I did a fair bit of work making the FreeBSD/PowerPC pmap implementation compile today. It ain't going to work yet as a lot of the functions just return, but at least it's not flooding me with undefined references anymore. Once the thing's booting part-way I'll go back and do a major tidy-up of it.

I'm heading off to see The Wall tonight in 70mm. =)

I'm baaack...

Whee! I finally got access to my advogato account back. =) Many thanks to raph for chasing up my password (which I'd forgotten) and sending it to me.

Well, I've started working on a port of FreeBSD to the PowerPC. The reasoning behind this project is that I want to learn more about the guts of the OS and about the PowerPC, so it seemed the best way to go about it. You can see where I'm up to by going to the homepage link above.

Oh yeah, I got my FreeBSD commit bit too. =)

Oops.

I found a nasty bug in my SSL patch for Squid. I wasn't shutting the connection down properly. I've fixed my patch, and it's available here.

BreadBoard

I'm starting a revision of the system. I'm putting shared libraries in. My original root module was all static, but I'm trialling it with shared libs, and the space saving appears to be quite substantial. I'm keeping various critical binaries static, almost everything is dynamic. I'm also writing a script for the build process. I should probably be doing it in make, but I'm doing it in perl for the moment, because I need it quickly. =)

Squid

I'm starting to bolt Jonathan Lemon's kqueue into Squid as a replacement for select/poll. I'm also thinking about having a bash at bolting rproxy into Squid as well, but we'll have to see about that. =)

I finished rewriting my Squid SSL patch. It now applies against Squid 2.4-DEVEL2. You can get it here.

I changed my methodology this time around. Instead of the gratuituous hackery I was attempting to sprinkle through the various HTTP reader and writer functions, I added a read_method and write_method field to the fde struct and then converted all of the calls to read() and write() to calls to the methods instead. This allows me to override the calls with SSL calls, and also means that other odd read/write types can be added later if people so desire.

Please have a play and let me know. =)

BreadBoard goes into production next week.

Had some problems with the SSL patch I put into Squid, so I'm reworking that. Also, postfix and squid seemed to get in each other's way a bit, so I'm not running the both on the same box any more. Also had to do some hacking around the ISC DHCP client's resolv.conf creating stuff for one box, which has given me some more ideas for things that need to be configurable (ie, listen to bits of DHCP config or not).

A belated thank-you to John Baldwin and Paul Saab for making the PXE loader stuff in FreeBSD work, and for putting up with me pestering them about it. =)

Well, coming up on the first in-production use of BreadBoard. I'll try and post a brief run-down on what the hell BreadBoard is soonish, but it's basically a net (or CD eventually) bootable stripped back FreeBSD, with facilities for plugging in modules that do stuff (eg, squid, postfix, named, etc).

The major thing I want to add to it soon is firewall support and some kind of unified configuration interface, but I still need to think about how I want that to work.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!