On Mon, 17 Nov 2003, David wrote:

> I've been exchanging email with a guy and have twice got the following
> message half way through a sentence in his email:
>
> <snip>
> ...... This way I know exactly where the
>    [Error: Formatting error: Non-hexadecimal character in QP encoding]
>
> after which pine doesn't display the rest of his email.
>
> I can read the rest of his email from mbox with less or vi. I can't find
> any sign of a dodgey character.
>
> I've never seen this problem before... anyone got any suggestions? This
> guy seems to be sending email from a web mailer thus:
>
> This SF. Net email is sponsored by: GoToMyPC
> GoToMyPC is the fast, easy and secure way to access your computer from
> any Web browser or wireless device. Click here to Try it Free!
> https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl

Hi David,

[wonder how this rates for longest delay before initial reply]

You've actually pasted the dodgy character here :-)

I recently became similarly annoyed with this message and took a closer
look. It arises from sourceforge adding taglines like the one you've
pasted above without taking notice of the message encoding. If a message
is encoded in quoted-printable, then 8-bit characters are encoded in a
little hex string, prefixed by '=', meaning that '=' is also encoded. SF
adds adverts that have non-encoded '='s, thus breaking it. sf.net
has a master bug report here:

https://sourceforge.net/tracker/index.php?func=detail&aid=652897&group_id=1&atid=200001

Anyway, I figured I'd reply since I couldn't find any decent references or
fixes for this problem with a google search. There are two workarounds
that I've got:

1) Turn on enable-full-header-and-text in the pine config. Then you can
   see the raw message when viewing with full headers (H key):
            [X]  enable-full-header-cmd
            [X]  enable-full-header-and-text
   I believe this feature was added in v4.50.

2) I wrote a procmail rule that fixes broken messages so that you get
   the actual message properly encoded. There may be strange bits where it
   flukes being valid (e.g. =12345 in a URL), but in sf.net cases, you're
   at least seeing the actual message properly encoded, as opposed to
   option (1):

-------------

# fix broken quoted-printable
# (particularly sf.net inserting a tagline advertisement with
# unencoded ='s, which makes pine particularly unhappy)
# =3D is the "=" encoding
# Note that a correct encoding is an =HH (H = hexadecimal digit)
# So a bad encoding is an = followed by zero characters (end of line)
# or 1 character, or 2 chars where one isn't hex

:0 fb
* Content-Transfer-Encoding: quoted-printable
| sed 's/=\([^0-9a-fA-F]\|.\([^0-9a-fA-F]\|$\)\|$\)/=3D\1/g'

-------------

Hope that helps :-)

Cheers,

 - Simon
-- 
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Reply via email to