Bug hunt

It wasn't so easy to patch [1].

Email headers can technically span multiple lines, although the mailing list software I'm using doesn't actually support headers that span multiple lines.

And thus breakage.

The email I sent to the affected mailing list I run went into a bit more detail (more, I'm sure, than the members cared to know):

From: Sean Conner sean@conman.org
To: XXXXXXXXXXXXXXXX
Subject: [dss] Mailing list woes
Date: Fri, 12 Jan 2007 16:43:02 -0500 (EST)
Okay, you didn't ask for it, but you got it anyway.
What exactly was going on with the mailing list software, and why were the messages so funky to begin with?
The mailing list software I'm using has a few features that I like:
I started using it back in the mid-90s but I think it's a few years older than that even. It was written way back before there existed a stardardized method for sending files via email [1], so it never had the ability to handle attachtments, nor, as it turned out, HTML (HyperText Markup Language) formatted email.
In the mid-90s, a standard was created for the sending of multi-media based emails—MIME (Multipurpose Internet Mail Extensions). Not only did it allow a way to send attachtments, but it also allowed email messages to contain both a plain text version and a formatted version of an email (say, using HTML or even Microsoft Word Doc). This was done by adding some extentions to the headers of the email, which change the way the email client processes the body of the message.
The mailing list software, did not know about these headers, so it didn't preserve these headers and thus, you got funky looking email. [2]
So all I needed to do was preserve the required headers and bam! The mailing list software would automatically support all this MIME crap [7] and everybody would be happy and be able to actually read the messages.
Only, preserving said lines wasn't as easy as I expected.
You see, the headers in an email message are name/value pairs:
From: > Lorie Davis
To: > The Dragonslayers Society
Subject: > Are we done yet?
Date: > Fri, 12 Jan 2007 16:43:02 -0500
but the email standard states that a header can actually span multiple lines:
From: > Lorie Davis
To: > The Dragonslayers Society
Subject: > Have you finished using me as an example?
Mime-Version: > 1.0
Content-Type: > multipart/alternative;…> boundary="—-=_Part_44704_28465339.1168636054704"
Date: > Fri, 12 Jan 2007 16:07:34 -0500
(note how the Content-Type header spans multiple lines) Now, not all headers span multiple lines, but it is allowed by the email standard. But the mailing list software didn't allow for multiple lines per header, and for the headers it was originally interested in, were never really split across multiple lines.
I found this out the hard way.
The way the code was originally written made it difficult (read: damn near impossible) to support multiline headers. So it required a bit of rewriting to make this all work.
So, why not just install some modern mailing list software? See rule #2 above? Have you seen what's required to install modern mailing list software? At least a 2GHz machine to start off with. A score of libraries. And now I'm treading into the scripting lauguage du jour as well.
Believe me, it was easier to patch the existing mailing list software than to install something new (which basically, would require updating my entire server, which is something I refuse to do, seeing how it works and is secure as is—and I'll stop here before I start ranting on the whole upgrade culture).
-spc (Who still uses 486s)

If I come across as a curmudgeon, then yes, I don't like the fact that people send files via email (reguardless of how convenient it is) nor do I like HTML formatted email (if plain text is good enough for me, then gosh darn it's good enough for you!) so quite a bit of this is just me blowing off some steam.

=> [1] /boston/2007/01/07.1

=> Gemini Mention this post | Contact the author

Proxy Information
Original URL
gemini://gemini.conman.org/boston/2007/01/12.1
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
562.921721 milliseconds
Gemini-to-HTML Time
2.135382 milliseconds

This content has been proxied by September (ba2dc).