>>>>> "RSW" == Randall S Winchester <rsw@Glue.umd.edu> writes:
RSW> I will try to clarify...
Sorry; I'm just dense this late at night.
RSW> To me this depends. I also get to see error messages, and I would
RSW> prefer if things took care of themselves more.
Do note that the 2.0 parser tells you things like "skipped 24 lines of
garbage" instead of complaining about every weird line.
RSW> But some of the worlds most helpless and confused people use majordomo
RSW> services, and "they deserve all of the error messages they get" does
RSW> not settle with me, and was the motivation for my reply.
Well, it boils down to this: 2.0 as currently implemented will only look
for commands in parts of type text/plain. If it sees a text/plain part it
expects plain text; that is the contract that it expects to be followed.
HTML is not plain text. Sending HTML in a part marked text/plain is
illegal; we have no choice but to complain. Given that we can't even
distinguish HTML from plain text without some sort of AI, there is
absolutely nothing else we can do. HTML tags look like route addresses;
both are in brackets. We can't decide whether "Jason Tibbitts <tibbs>" is
plain text of HTML. So the naive behavior, removing any HTML tags from a
text/plain part that we receive, is just plain wrong.
Now that applies to text/plain parts only. It is conceivable that we could
see a text/html part and remove the HTML tags from it, assuming that things
like brackets in addresses have been HTML-escaped properly. I have little
interest in doing this, but I wouldn't refuse a code contribution to do it.
Such a contribution would also have to make sure to do the right thing with
a multipart/alternate message so that we don't interpret the same commands
twice. Ignoring all but text/plain parts conveniently does this by
Finally, I know of no MUA capable of generating HTML which gets the
content-type wrong. Thus this discussion is largely academic. The worse
that will happen is the user will see their HTML message completely
ignored. It will eventually even be possible to include the URL for the
web interface directly into the message about the text/html part being
ignored. (This assumes that a web interface is eventually written.)
RSW> I doubt you fully mean this however as you have spent a ton of time
RSW> trying to make mj sing.
Well, I really do mean it to some degree. In an ideal world we'd have
Majordomo send back a form letter with a complete explanation of standards
and what they mean, and send a fax to the authors of the software the poor
user's running. In the real world all we can do is say, "ah, plain text.
We'll interpret it as plain text." and then run screaming at all of the
crap. There is nothing else we can do; in fact, to try to interpret HTML
tags in a text/plain document would be something of a standards violation
(if you want to say that Majordomo must interpret the content types as an
MUA would, which I believe is the right way to do it).
RSW> From your first sentance of this reply it appeared that you had
RSW> "fixed" behaviour that was present in mj.
To some degree; at least it won't abort when it sees a text/html part
because it will never look inside a text/html part. Actually, it shouldn't
ever abort anyway; I'm assuming these aborts come from Majordomo1 seeing
HTML as really badly formatted addresses. 2.0 should just tell the user
their address is illegal and get on with things if it ever does see such a
RSW> This comment was ment in appreciation for all the work you have been
RSW> doing on mj-2 (90% by yourself it appears).
99.996%, by lines of code. But much input was gathered from this list
before I began and during development, so in a way I'm largely the
implementation tool (fool?) of the will of the Majordomo community. And
over the last several months, I have seen very few requests I couldn't
answer with "already in 2.0". Lately, though, I find myself forced to say
"feel free to give me code, but I have no interest in doing it myself".
This is due as much to exhaustion as is is my desire to see this thing
actually be released instead of running as a curiosity on my server.