EMSI goes ISO, sort of

This document may be distributed freely provided no charge of any kind occurs and all accompanying files (XLAT.CPP, ISOXLAT.PAS, ISOTEST.PAS, and ISOEMSI.DOC) is left unmodified.

This is to document what has been suggested as an upcoming addendum to the EMSI specifications. The next version of FrontDoor (higher than 2.10) and, I believe TrapDoor, will (or does) use this scheme when creating the EMSI_DAT packet.

The reason for this is to allow high-bit ASCII (or “international characters”) and national codepages to be used transparently. The new encoding scheme does not break anything in existing implementations unless high-bit ASCII is used, in which case it may affect (cosmetic or otherwise) the operation of a mailer that doesn’t support the new scheme.

Basics

All data that is placed in the EMSI_DAT packet is translated to ISO 8859-1 and then processed as usual. Any escaping as per the EMSI specification, is done after the translation to ISO 8859-1. On the receiving side, the data is first unescaped and then translated from ISO 8859-1 to the local codepage. Data that is strictly seven bit ASCII is not translated by the code accompanying this document.

There is no flag or other indicator to show that the EMSI_DAT packet has been encoded using ISO 8859-1. The IEMSI portion of the EMSI specification is not affected at this time.

Notes

One rather serious drawback is that you will see password failures between mailers that use high-bit ASCII in the password between two systems where one is using a mailer that uses the ISO 8859-1 scheme and the other isn’t. The recommended cure is to either remove the high-bit ASCII, or to have the mailer replaced/updated.

Code

The accompanying code, XLAT.CPP (by Alexander Holy, 2:310/90) and ISOXLAT.PAS and ISOTEST.PAS may be used free of charge, no warranties or guarantees, etc. If you find reason to make changes, we would appreciate hearing about it.

That’s about it..

Joaquim Homrighausen
joho@defsol.se

// end of file “isoemsi.doc”