[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: closed SMTP channel - response overrun on smtpwrite()
> OK, I nailed this down. Remote end is not 8 bit clean, (and honestly
> confess it). Message in the queue was produced with another Micro$oft
> tool and contained this:
>
> Content-Type: application/octet-stream; name="C_18_06.XLS"
> Content-Transfer-Encoding: 8bit
Shudder.... This should *never* happen; even by M$ ...
You don't, by change, use 'translation' facility at
the smtpserver ?
By looking at it, it would decode any incoming single
content C-T-E: Q-P message to 8-bit independent of
TEXT/PLAIN Content-Type specifier. That is, unless
"PARANOID_TRANSLATION" setting is also used.
> The body itself was actuall binary file. When 8bit data was sent to
> the remote, at some moment it dropped data mode and tried to parse the
> rest of the message as SMTP commands, producing a heap of
> "500 Unknown command"'s. This heap overran Zmailer's input buffer
> when it at last tried to read responce to ".".
>
> Zmailer's automatic conversion to QP did not work because of the
> content-type. I think that the piece of code below needs to be taken
> off, we want to convert to 7 bit even (and especially!) non-texts:
>
> --- transports/libta/mimeheaders.c.orig Mon Feb 8 14:10:27 1999
> +++ transports/libta/mimeheaders.c Wed Jun 23 14:15:25 1999
> @@ -836,7 +836,7 @@
> }
>
> ct = parse_content_type(CT);
> -
> +#if 0
> if (ct->basetype == NULL ||
> ct->subtype == NULL ||
> cistrcmp(ct->basetype,"text") != 0 ||
> @@ -845,7 +845,7 @@
> if (ct->charset &&
> cistrncmp(ct->charset,"ISO-8859",8) != 0 &&
> cistrncmp(ct->charset,"KOI8",4) != 0) return 0; /* Not ISO-* */
> -
> +#endif
> if (convertmode == _CONVERT_QP) {
>
> strcpy(*CTE, "Content-Transfer-Encoding: QUOTED-PRINTABLE");
>
> What do you think, Matti?
Not good.
There are several subleties.
Now having spent the evening with office colleques
out of office with a barbeque (and some beer), my
thinking isn't yet quite clear with how it should
be reworked to handle this.
See the CVS.
> Eugene
/Matti Aarnio