Porting mod_virgule to Apace 2.x – part II

After a little more hacking on Monday, I completed the port of mod_virgule to the Apache 2 API. It’s now running natively using the 2.x APR functions directly – no need for the 1.3 compatibility headers at all. I’m going to bang on it a few more days and then shift robots.net over to it. I’ll post the source later this week as well.

I’m doing the work on a new CentOS Linux 4.0 box that I set up to try out CentOS. Most of our boxes still run Red Hat 9 and since Red Hat’s demise I’ve been casting around for a suitable replacement. CentOS seems ideal. It’s basically a community supported, free (as in speech and as in beer) clone of Red Hat Enterprise Linux. So everything is exactly where it should be and works like you’d expect it to.

In other news I just got my hands on one of the New Micros TinyARM 2131 boards. It’s a tiny little ARM microcontroller (1″ x 1.3″) with 32K Flash and 8K RAM. Looks like another gcc cross compiler adventure in the making.

Porting mod_virgule to Apace 2.x

I got mod_virgule working on Apache 2.x this week. I started with the patch for the official codebase that James Henstridge did back in early 2004. While the official mod_virgule hasn’t changed much in the last couple of years, mine has continued to diverge due to patches for libxml2 and other requested features. So it took a little tweaking to get the old Apache 2 patch to work but it still saved a lot of time. I’m not planning on keeping Apache 1.3 compatibility, so I dropped some changes from the original patch related to 1.3 support.

I’ve still got a ways to go before it’s ready for release. At present it relies too heavily on the APR compatibility headers. Once I get things cleaned up, I’ll move robots.net to an Apache 2 server with the new code and give it some good testing. A release should follow shortly after that.

It’s nice to play with some C code again after all the website related Perl coding I do at NCC.

Photos and a Chunk Exploit

My friend, Robert, from Colorado sent me some photos of Colorado Springs showing all the smoke in the air from the Hayman fire.

And the photos from the DFW Mozilla Release party finally turned up. I’m in the group shot and there’s also a shot of me with Susan. Thanks to Bob Zoller for being the official photographer. We still need names for a couple of the individual shots and anyone in the group shot that isn’t named elsewhere. If you can identify any of the anonymous Mozilla supporters email Bob.

The only other news today is that I spent a lot of time upgrading Apache on our servers because of the chunk handling vulnerability. Working exploit code was posted on Bugtraq this morning, so I thought it might be a good idea to upgrade as soon as possible. We run Ximian Red Carpet on several of our machines and it makes installing all the latest versions of stuff really fast and painless most of the time. But when I fired up Red Carpet on the first server, it segfaulted during startup while connecting to Ximian. It did the same thing on the second server I tried it on. And on the third, fourth, fifth… Something must have been hosed up at Ximian that was causing all the Red Carpet clients to die. I filed a bug on it at Ximian (bad things happening at the server end are no excuse for the client to crash!). Looks like everyone else was busy filing the same bug and there were quite a few dupes by the end of the day. Anyway, I figured out a workaround to get Red Carpet working again and eventually got all our servers updated.

Why Build a Website When You Can Build a Portal?

If I haven’t been doing a very good job of keeping my news page up to date lately, I can only make the excuse that I’m running a little short of free time these days. I’ve been helping a client migrate a lot of Solaris and Linux boxes to a new data center and it’s turned into a quite a major project. The last several days have also been spent helping them set up a Linux box to run Epicentric, a large, non-free, buzzword rich web development gizmo. Officially it’s used to make “portals” but the term seems to be defined very loosely so as to mean what we used to call a “web site”. And to make sure that enough buzzwords can be included, the Epicentric Portal Server runs on top of a big stack of other stuff including a Sun JDK, a JIT compiler, a web server, a Java servlet engine, JSP server, JDBC, and an SQL database. The end result is that you can take a simple web project that would take one person a couple of hours to do on a server with Apache and mod_perl and turn it into a giant project that requires dozens of developers, costs lots of money, and goes much slower.

The large number of components involved has created its own political problems with some people insisting that only high priced, non-free software like NT, IIS, and such must be used. What I’m actually using is Linux, Apache, the Sun JDK, IBM JIT compiler, and Jakarta Tomcat (the Apache Java servlet engine & JSP server). The only non-free components will be our existing Oracle 8i database and Epicentric itself. If anyone is interested, I may post a HOWTO page of the steps it takes to get all this debris working together. (assuming that I do in fact get it to work together!)

In unrelated news, I guess everyone saw the Slashdot article about Copyleft being named as a new defendant in the DeCSS suit because their DeCSS T-Shirt is a “circumvention device”? I’ve already bought two of their DeCSS shirts but when I heard the news I decided to buy some additional T-Shirts from them. Some of the money from each shirt you buy goes to the EFF or FSF so visit their site, buys some fun stuff and help fight the forces of evil.

Running Apache on Windows Sucks

I’ve made quite a bit of progress on the Apache/Perl project. I now have Apache 1.3.9 and ActiveState Perl running on a Dell Inspiron 7500 laptop. I sure wouldn’t want to run NT as a real web server but it looks like it’s stable enough and fast enough for this job with only the local web browser as a client. One annoyance was having to go through all the scripts to fix little things like path delimiters to work the Microsoft way instead of the right way. If you’ve been fortunate enough not to have encountered a Microsoft OS before, the weird thing about them is that Microsoft chose to use ‘\’ as a path delimiter (instead of ‘/’ like everybody else) and many programming languages (like Perl) use ‘\’ to mark an escape sequence. So a path like /home/http/index.html has to be rewritten as something like e:\\apache\\html\\index.html. It’s good to be nearly finished with this one.

Random Software Updates

The work stacked up pretty fast while I was gone this week and I’ll be spending the weekend trying to get caught up. The biggest part of the weekend will be spent completing the Apache/Perl setup on Windows NT.

We finally received our Red Hat 6.1 Professional package with the new version of the secure server. Once we get our certs updated, I’ll be bringing at least one new machine online. The new version includes sendmail enhancements to make filtering out spam easier. Hopefully, this will help reduce the amount of spam that everyone is getting these days.

I haven’t mentioned SETI@home lately but after a month or so in the number one position in group slashdot, we fell back to number two and recently to number three. Well, we had our fifteen minutes of fame, what more can you ask?