* * * * * 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 > 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: > > 1. it's simple. > 2. it's simple to install (this is a very important part). > 3. it works. > > 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) > > [ 1] EMAIL is NOT FTP (File Transfer Protocol)! > [ 1] Sorry. > > [ 1] I was never one for sending files via email, as there are better, more > efficient and faster ways of doing that. What no one (and by “no one” > I mean those that aren't programmers) seems to realize that when you > send a file through email, the file has to be converted to text, least > a lot of email software along the way blows up. This conversion > process inceases the file size by at least a third (so a file that's > 3M now becomes an attachtment 4M in size). > > [ 1] But it's damned convenient [3][5], so everybody does it. > > [ 1] Well, except me. But I'm not your typical user to begin with. > > [ 1] Anyway … > > [ 2] Not that I minded—that's how I receive such messages, even though my > the email client I now use understands the MIME headers. Yes, what you > were seeing was the raw message body itself, in all its bloated HTML > glory that every email client seems to bloody default to these days > [3]. > [ 3] Thank you so very much, Microsoft. [4] > [ 4] May you rot in Hell. > [ 5] Thank you so very much, University of Washington. [4][6] > [ 6] http://en.wikipedia.org/wiki/Pine_(e-mail_client) > [ 7] That's a technical term. > 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] gopher://gopher.conman.org/0Phlog:2007/01/07.1 Email Sean Conner at sean@conman.org .