Saturday, July 25, 2009

Cult of workarounds

Wouters otherwise great document on daily buildd maintainance touches a pet issue of mine. There is a great example of a very, very common behaviour pattern in free software community. And I'm certainly as guilty of as Wouter from this behaviour.

Doing it wrong:


Note the 'tr'; this is to avoid 8bit characters from appearing in the mail, which might otherwise be converted to their quoted-printable version in transit to the buildd; and since buildd-mail (the part that receives that mail) does not understand MIME, this would corrupt the GPG signature. This way, we do lose a few characters from the changelog, but that doesn't really matter -- the source still contains the unmodified changelog entry.


Doing it right.

Why, when we have access to all the sources, we still prefer hacks and workarounds over fixes? We are wasting our biggest advantage over propiertary systems!

Why #2 - do we still have to fight 7bit issues in email? Any mailer deployed in the last decade support passing 8bit mail fine. But, not all mailers (most usually, exim or qmail) support _converting_ 8bit mails to 7bit, and thus don't _advertize_ 8BITMIME capability. And when a properly 8BITMIME supporting mailer needs to pass a mail to a smtp daemon that doesn't advertize 8bit capability, the sending mail daemon will happily convert the mail to quoted printable mime. Graah.

4 comments:

  1. > And when a properly 8BITMIME supporting
    > mailer needs to pass a mail to a smtp
    > daemon that doesn't advertize 8bit
    > capability, the sending mail daemon
    > will happily convert the mail to quoted
    > printable mime.

    Actually, the Debian ones, out of all,
    don’t!

    For example, both *@mirbsd.org mailers
    are sendmail customised to *NOT* adver-
    tise 8BITMIME in the ESMTP EHLO dialo-
    gue and strip bit7 from any incoming
    eMails (both because we can and as hi-
    storical behaviour to protect possibly
    buggy MUAs – which I don’t use, but
    still). When I send reports to the BTS,
    the mails get mangled because Debian’s
    MTAs (at least rietz) send them as 8bit
    and refuse to convert, *DESPITE* our
    party not advertising 8BITMIME.

    Upon complaining to the BTS maintainers,
    they say that this is the desired beha-
    viour IN ORDER TO *NOT* BREAK signatu-
    res! Hah!

    So they’re willingly breaking standards
    compliance to optimise for a corner case
    instead of fixing PGP/MIME to handle
    messages with changed Content-Transfer-
    Encoding.

    .oO(wouldn’t happen with Inline PGP?)
    .oO(PGP/MIME sucks anyway)

    ReplyDelete
  2. like *@mirbsd.org, *debian.org, including rietz, do not advertize 8BITMIME, and should thus not recieve any 8bit mails from anyone. It is the responsibility of the party sending to rietz.debian.org to convert to 7bit before passing the mail to rietz.

    rietz, not being a 8BITMIME supporting mailer, has no reason to convert any mails it is forwarding.

    The BTS maintainer probably just failed to really research what 8BITMIME is about.

    The real problem here is that year 2009, exim still doesn't support 8BITMIME. The major other mailer not supporting 8BITMIME (qmail) has at least the excuse of not being developed anymore.

    ReplyDelete
  3. Oh, interesting. So it’s really the
    fault of reportbug then?

    ReplyDelete
  4. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=539157

    Yeah, definitively reportbug bug.
    Note the line I quote in my second
    mail… but now they know, they can
    indeed fix it (right, hopefully).

    Thanks for the heads-up regarding that
    the original mail was broken already!

    ReplyDelete