Internet Exchange for cc:Mail Version 2.1 Release Notes

Version 2.0 represents a significant advancement over the previous version 1.04b. Several new features have been added, including the following:

Macintosh File Handling

Extensive Macintosh file handling support has been added, including support for the MacMIME standard and BinHex.

Rules Based Addressing

Flexible new address management between cc:Mail user names and Internet addresses allows the gateway administrator to select their own address translations between the two formats. This results in significant time savings over conventional manually maintained address translation tables.

Multilingual support has also been added on the ccmailName<=>InetName mapping. The administrator can now define extended ASCII code mapping.

Peer Based Encoding Methods

Internet Exchange now allows the gateway administrator define the capabilities of remote systems, including the attachment types that each site can decode. Before a message is sent, Internet Exchange determines the appropriate attachment types and encoding methods based on what the remote system supports.

Administrator Specified Usage Control

Internet Exchange allows the administrator to establish "permissions" related to communication with remote sites and local users. It is possible to disallow the sending and/or receiving of messages between your site and another. In addition Internet Exchange will check for permission to send Internet mail for each local cc:Mail user that sends mail through the gateway.

Improved Security

Security protections include anti-spoofing, SMTP port reassignment, remote host restrictions (inbound), and local user restrictions (inbound).

Database Backend

A database backend engine has been added to provide fast capabilities lookup compared to common text based approaches.

The new databases include the following:

Name Database File Backup Text File

Alias Database smtpadr.btr smtp.adr

Domain Database smtppod.btr smtp.pod

Directory Database rulebadr.btr - none -

Magic Database magic.btr [magic] in ima.ini

DNS Cache dns.btr - none -

Message Database mesg.btr - none -

Peer Database peer.btr - none -

When upgrading from Version 1.04x, the installation procedure will automatically startup the conversion utilities that create the initial database files. In addition, where backup text files are specified, it is possible through Auto Conversion to externally maintain this information in these text files, and Internet Exchange will detect if and when changes are made and automatically updatethe internal database files.

DNS Caching

The Domain Name System (DNS) system has been upgraded to include a local cache, reducing DNS traffic for repeat connections. This has the effect of significantly reducing outbound SMTP connection times for many sites.

Automated Technical Support

Internet Exchange now directly supports bug reporting via Internet email to support@ima.com. This capability is accessable from the Help button on the main SYSMAN screen.

Enhanced Auto Shutdown

The auto shutdown option can now specify a time interval from when the gateway was started rather than an absolute time. The time can be specified in the format "+hh:mm" or "+mm".

Windows 95 Dialup Networking Support

Added support has been added for dialup PPP. Under Configure Schedules it is now possible for Windows 95 to specify the dialup networking name for the remote site to contact. This will enable auto dialing and auto shutdown of the connection under Windows 95. An external scheduler however is still required to automate the startup of Internet Exchange.

TCP Application Level Keepalives - A new option under Configure Schedules has been added that enables the generation of single UDP "keepalive" packets to be sent to a remote discard port. This can be useful for keeping SMTPD alive during periods of inactivity on a dialup connection.

Renaming of admin.exe

The Internet Exchange System Manager has been renamed from admin.exe to sysman.exe to avoid confusion with the similarly named cc:Mail utility.

Audible Warnings

Audible warnings (beeps) have been added when any of the monitored resources reach a critical level.

VERSION 2.01 CHANGES

Bug Fixes

Non-deletion of bounces

When CCOUT decided to bounce an outbound message back to its cc:Mail originator (usually due do an invalid recipient address) it did it correctly, but failed to delete it from the post office. This resulted in a ever-growing set of copies of the same bounce being sent to the originator, until the offending message was manually removed through the Sysman interface.

Wrong mapping of cc:Mail addresses containing special characters

The default mapping of cc:Mail user names containing characters invalid as RFC822 address local parts outside quoted strings (such as '@') was mis-handled, with the addition of an extra double quote.

Malformed BinHex'd files causing GPF in CCIN

CCIN crashed attempting to convert corrupted BinHex'd attachments.

Case sensitivity in Domain Conversion utility

Due to a case mismatching, searching the domain database for PO names did not work.

Tab expansion could not be disabled

A value of zero for the Tab Expansion option (that disables the expansion altogether) was rejected as invalid.

Screen corruption in "Configure Users" screen when saving changes

Clicking "OK" and subsequently "Yes" in the users configuration screen resulted in the display being corrupted. The changes were properly saved however.

Enhancements

Optional suppression of audible warnings

Users annoyed by beeps and other audible diagnostics may now turn these off by setting the following option in IMA.INI:

[Options]

DisableAudibleWarning=YES

Elimination/relocation of superfluous or obscure log messages

Some misleading messages have been removed, re-phrased or moved to diagnostic level logging.

More tolerant syntax for SMTP.ADR

The conversion utility from SMTP.ADR to Alias database used to reject lines with extra spaces between the various fields. These spaces are now ignored.

TZ variable warning message now only displayed when required

If the timezone listbox entry "Use system TZ variable" was selected, a message warning about the need of setting the TZ environment variable was always displayed at startup, even when that variable in fact was properly set. This message is now only displayed if the environment TZ variable is not set.

Subject of message to technical support now containing Serial Number

The "Help!" subject line has been changed into "Help! [S/N : nnnn]"

Postmaster is now a mappable username

If an incoming message is addressed to "postmaster@some.local.domain", the gateway will attempt a mapping through the Alias and Directory databases before using the cc:Mail address defined as POAdministrator in the gateway's setup. That allows to assign postmaster@... addresses to administrators of downstream post offices.

VERSION 2.02 CHANGES

Bug Fixes

Inability to handle a large (>32) number of recipients

When CCOUT tried to convert messages addressed to more than 32 recipients, an array overflow occurred causing GPF or perennial loops. The limit has now been removed.

GDI resource leak in Sysman

A small amount of GDI resources was allocated but not released every time SYSMAN was restarted.

Inability to enter autoshutdown times ranging from 23:00 to 23:59

"23" was unduly considered an invalid hour value.

IEUPDATE required the use of the mouse

Now it is possible to run IEUPDATE even when a mouse is not installed, using only keyboard input.

SYSMAN started the automatic dialing even when in "Configure only" mode

SYSMAN will not initiate a dial-out procedure when "Configure only" mode is selected.

"Multipart/mixed" MIME types were not decoded under 8bit Content-transfer-encoding

In compliance with RFC1521, "8bit" and "binary" are now accepted as legal values for the "Content-transfer-encoding" header on "multipart/mixed" MIME types.

"Single dash" MIME boundaries were not recognized

In compliance with RFC1521, boundaries made of a single "-" character are now accepted.

Occasional error when the "OK" button was pressed in "Configure Connection"

Under some conditions, choosing "OK" in the "Configure Connection" screen resulted in a

spurious error message.

Installation or update procedure stopped when CTL3D.DLL was missing

Despite the fact that the Internet Exchange for cc:Mail distribution contains a valid CTL3D.DLL, the Install and Update programs could not make use of it, and terminated prematurely if none was already installed.

Message loops when a non-existent cc:Mail user was specified as "Bounce sender"

When the username configured as "Bounce sender" was not listed in the local PO's address book, an attempt to bounce a message resulted in message loops, and the bounce was not properly sent back to the author of the original message.

CCOUT could not handle "username at PO" entries in the Aliases database

Entries in the Aliases database whose cc:Mail user names was followed by a PO specification were not handled in the outbound conversions.

Enhancements

Customized notes to bounced messages

Two new parameter can be added under [Options] in IMA.INI:

RejUserToSendMsgFile=/full/path/filename.ext

When present, the content of the ASCII file "/full/path/filename.ext" will replace the default explanatory text accompanying messages bounced to users unauthorized to send messages to the Internet.

RejSendToPeerMsgFile=/full/path/filename.ext

When present, the content of the ASCII file "/full/path/filename.ext" will replace the default explanatory text accompanying messages bounced to users who have tried to send mail to peers for which there is no authorization to send to.

Logfiles sent to postmaster but not saved on disk were all named "DDMMM000.LOG"

The number is now properly incremented, even if the disk copy of each file is deleted after mailing it.

License agreement screen in evaluation version was displayed every time SYSMAN was started

To avoid inconveniences in dial-up applications, the license agreement screen is now presented only once after the installation.

The Update procedure did not back up IMA.INI

Now IEUPDATE.EXE produces a IMA.BAK file containing a copy of the previous IMA.INI .

Customized "Content-transfer-encoding" parameter for outbound uuencoded MIME messages

A new parameter can be added under [Options] in IMA.INI to define the string used to indicate "uuencode" content transfer encoding:

Uuencode=x-uuencode

The default value is x-uue. The version 1.04b used x-uuencode. Both of them are acceptable on incoming messages.

VERSION 2.03beta1 CHANGES

Bug Fixes

"TO" and "CC" recipients sometimes replaced by "BCC"

Under some circumstances, messages addressed to more than one recipient had their "To:" and "Cc:" RFC822 headers unduly translated into cc:Mail "BCC" instead of, respectively. "TO" and "CC".

"Unique" filename weren't

Some temporary filenames, supposedly unique, sometimes were not such, resulting into racing conditions and a variety of I/O errors: most commonly, the infamous "stat() failed".

Duplication of message ID's

The message ID's generated by SMTPD and CCOUT depended on the time() function; with fast machines, and high volumes of traffic, an input message and an output message could have been allocated the same ID. Most likely, that would have produced error conditions and, quite possibly, message mix-ups.

Message record locking

An auxiliary database, LOCK.BTR, has been introduced to better co-ordinate the access to the message base by different processes. It is automatically deleted every time SYSMAN is restarted.

GPF or crashes in CCIN when MIME messages contained more than 100 body parts

The bug, related to memory reallocation strategies, has been fixed increasing the limit to 300 body parts and bouncing messages exceeding that limit.

Mis-handling of return error code inside the MIME encoder

This was responsible for "outch: _lwrite failed" error messages being profusely logged.

Apple "Type" and "Creator" fields wrongly converted to lowercase

The content of the "Type" and "Creator" field for Apple files in "Configure MIME" was unduly converted to lower case before being stored in the MAGIC.BTR database. That prevented the "Force Apple" options (both for incoming and outgoing messages) from working correctly.

Enhancements

More descriptive message ID

When user selects a message and press a button like status, bounce or forward, the message ID for that message is now displayed on the dialog box title bar.

VERSION 2.03beta2 CHANGES

Bug Fixes

Safer Dynamic Address Conversion

Should any error occur during the address conversion, the old aliases database will not be replaced. Instead, an error message will be mailed to the Administrator. This should prevent the mysterious sudden disappearances of the Aliases database reported by some users.

VIMSetMessageItem NOTE_PART failed

If attaching a text as cc:Mail note part fails, the operation will be retried as text file.

Duplicated ccMail Recipients under VIM6

VIM version 6 produces an error condition when the same recipient address is present more than once. This bug has been fixed by eliminating duplicated addresses, also, the Recipient Type will be changed under the rules:

- Whenever a recipient appears on a "TO" field, its occurrences on other recipient fields are suppressed;

- Whenever a recipient appears on a "CC" field, its occurrences on "BCC" fields are suppressed.

A spurious "Cannot delete message, internal error" message popped up when the administrator tried to delete a message in either the "SMTP in" or "SMTP out" queue

This bug has been fixed.

Message locking for ccOut

Now ccOut will insert the message ID (VIM reference number) into a locks database (lock.btr) before trying to access it. Should the insertion fail due to "already existing record", that message will not be processed and skipped. After successfully processing the message, that record will be removed from lock.btr.

When sysman displays the queue status for the CCPO, an asterisk ('*') will precede the message date if the message ID is found in lock.btr. This indicates that the message is currently being processed by ccOut, _OR_, this message has not been exported by ccOut due to some VIM error. In that case, the system administrator can use the '*' to locate the bad message and delete it manually.

Space in content-type parameter.

Some non fully MIME-compliant mail programs generate "Content-Type" headers like:

Content-Type: application/x-zip; name = "123.zip"

The space in front of and after the "equal" sign is not valid, but, in order to accomodate those cases, we have modified the decoder to accept that format as well. This, however, requires that double-quotes be used to delimit the parameter.

Enhancements

Dial-up connections will not be closed until SMTPC has finished sending the current message

This will allow to send messages whose transmission time exceeds the scheduled connection time.

The enforcement of "Permission to receive" from a peer is now based on the domain declared in the "MAIL FROM" SMTP command

In previous versions, the control was over the domain declared in the "HELO" command, that is the domain of the host involved in the last hop. The "MAIL FROM" domain refers, more logically, to the domain of the original sender (envelope sender).

VERSION 2.03beta3 CHANGES

*** IMPORTANT GPF WARNING ***

The VIM library included in the version 6 of cc:Mail appears to cause GPF's and other system crashes when Applesingle attachments are imported into the post office. Until a new version of VIM 6 fill fix this problem, the administrators are advised to select the "Force Native" checkbox in the "Options|Inbound Attachment Option" pane. This does not apply to installations where VIM 2.21 is in use.

Bug Fixes

Sleeping SMTPD

We have changed in SMTPD a socket shutdown procedure that, under some circumstances with Windows NT 3.51, was found to prevent successive instances of that process from accepting new connections. This should remove the main, if not only, cause of this important malfunction.

Enhancements

Japanese language support

From the version 2.03beta3, Internet Exchange for cc:Mail includes Japanese language support, at the level previously available in the separate version 2.03JB3.

Besides all the points for the corresponding English version, listed under the title "Internet Exchange for cc:Mail - Enterprise Edition 2.0 Release Notes", the following additional notes apply:

- For outbound (cc:Mail->Internet) messages, if "ISO-2022-JP" is selected in the gateway setup as local character set, the gateway assumes that all the messages in the Internet queue are encoded in a mixture of ASCII and Shift-Jis; codes higher than 128 trigger a Shift-JIS to ISO-2022-JP conversion, instead of the QP encoding used when the character set is ASCII or ISO-8859-x.

NOTE. This implies that it is not possible to export from the same Internet PO mixes of messages containing Japanese characters and messages containing ISO-8859-x characters. The only solution for mixed Japanese/European environments, at present, is to use two gateways serving one Internet PO's each (say, INTERNET-I for messages whose 8-bit codes should be QP-encoded, and INTERNET-J for messages whose 8-bit codes should be transcoded into ISO-2022-JP 7-bit JIS).

- Inbound messages are converted from 7-bit JIS to Shift-JIS if they bear the "charset=ISO-2022-JP" parameter on the "Content-type" header; non-MIME messages will be converted only if the file IMA.INI (in the windows directory) contains, under the [Options] paragraph, the line:

ScanForJIS=YES

If, in addition, the line

RepairDamagedJISinNonMIME=YES

is present, the gateway will attempt to recover JIS messages without ESC characters (some mail transports, unfortunately, filter them out). This feature uses heuristic criteria, and might produce incorrect results in certain cases.

The same result, in MIME messages, is achieved if the option:

RepairDamagedJISinMIME=YES

is present. The same warning as above applies here.

- Finally, invalid Shift-JIS codes can be removed from the outbound message with the option:

InvalidCharacterMark=

or mapped to an arbitrary string (e.g., *INVALID*) with:

InvalidCharacterMark=*INVALID*

Installation for Japanese post offices

The distributed kit is a self-extracting ZIP archive that, once run, will produce an installation disk (evaluation version). The installation procedures are the same as for the English version; in particular, the VIM library must be the English one, version 2.21, available from:

ftp://ftp.ccmail.com/pub/comm/ccmail/dev_tools/vdlwin.zip

We haven't yet tested the Japanese version over the VIM version 6, that is necessary for the new PO format (DB8) but is not yet available from Lotus' ftp site (the only way to put it in place is to install a copy of the cc:mail client for the version 6).

On the other hand, the underlying version of Windows MUST be one with Japanese language support.

VERSION 2.03beta4 CHANGES

Bug Fixes

Memory leak in MIME library

A memory leak affecting sysman, ccIn, smtpd and smtpc has been discovered and fixed.

Recipients unduly removed

The code to remove duplicated recipients, introduced with 2.03beta2 to avoid a problem with VIM 6, was sometimes removing legitimate recipients as well.

SMTP "5xx" responses during the initial greetings phase will now cause SMTPC to bounce the message

Response codes starting with "5" are to be considered permanent; however, SMTPC insisted in retrying the delivery if such codes arrived in the initial "greetings" phase.

ccIn can now handle uuencoded files with 4 digit in the headers

Some rare uuencode utilities produce files starting with lines like:

Begin 0644 file1.doc

Instead of the more common:

Begin 644 file1.doc

The four-digit format used to be considered invalid by ccIn. Now, both formats are considered acceptable and equivalent to each other.

Enhancements

Check on the mail relay host domain

Using the gateway's FQDN as "mail relay host" is a common mistake for first-time users. In previous versions, it went undetected and the gateway tried to deliver outgoing mail to itself, with predictable consequences.

New "PostmasterIsMappable" option

Before the version 2.01, "postmaster" was always resolved to the cc:Mail user specified in the configuration and saved as "POAdministrator" in the [PostOffice] section of IMA.INI.

That did not allow to define different postmasters for downstream post offices mapped to separate subdomains. As this was considered inconvenient by some users, we relaxed the limitation keeping the "POAdministrator" parameter simply as default when no other mappings existed. Unfortunately, this caused unexpected problems to other users. To satisfy both groups, we have now made this behaviour dependent on a new option. Adding the line:

PostmasterIsMappable=YES

under the [Options] section of IMA.INI, the "postmaster" internet username will be considered mappable through "users configuration", as it has been since the version 2.01 . The default is NO, as it was in precedent versions.

The Install procedure no longer need stress.dll

STRESS.DLL is not necessary for the INSTALL procedure, but a reference to it, unduly linked in the code, required its presence in order to initiate the installation.

Delayed delivery notification notes now report in the "Subject" line the subject of the original message

This will allow the sender to identify the message being delayed without having to go through the RFC822 headers attached to the note.

VIM error text is now included in message bounces

The textual equivalent of VIM status/extended_status numeric codes was always reported in the log file, but not in the "non-deliverable" notes bounced back to the Internet sender. Now it is.

Sanity checks on domain names user in "Peer" configuration

Characters illegal in domain names, like "&" or "_", will now be spotted if used for the strings defining the peer domains/subdomains. Also, surrounding square brackets will be added automatically when user enter an IP address in the domain name edit box.

VERSION 2.03beta5 CHANGES

Bug Fixes

GetFreeFileHandles() causing file I/O errors

For statistic logging purposes, all the executable programs (SYSMAN.EXE, SMTPD.EXE, CCIN.EXE, CCOUT.EXE, and SMTPC.EXE) used to report the number of available free handles free before terminating calling the system function GetFreeFileHandles() provided by STRESS.DLL. For some reason, it appears that under NT that function consume, for a short amount of time, all the free file handles available to the 16-bit subsystem (at least, inside the same memory space) causing serious error if another 16-bit application attempted disk I/O operations at the same time. That call has now been removed, and the number of database and VIM errors (the latter often degenerating into GPF's) observed in our lab tests has dropped to zero.

"554 Remote protocol error" bounces traced to erroneous SMTP response code returned by SMTPD

When SMTPD, due to a timeout in the data reception, decided to abort a "DATA" phase, it returned the response code 221. In fact, the SMTP protocol does not allow that response: the peering client (sendmail) usually reacts bouncing the message accompanied by the status "554 Remote protocol error". The response "221" has now been changed to the canonical "451", which tells the remote client to retry later. Note: the default value of 5 minutes for "SMTPDTimeout" may be too small: some UNIX systems use up to 120 minutes.

Bug in routine scanning non-MIME messages for ISO-2022-JP sequences

Due to a coding error, scanning incoming non-MIME messages for ISO-2022-JP escape sequences frequently caused GPF's. That part of the code, introduced in 2.03b3 and 2.03b4, had to be disabled with the "ScanForJIS=NO" option in order to limit the damages. This bug has now been fixed, and the functionality may be safely restored.

"Flashing CCOUT icon" syndrome

Due to a bug in the code, SYSMAN, if "Synchronous mode" was selected, started CCOUT even if the only messages queued for export were locked as "bad". As CCOUT could not find any "good" message to export, it terminated immediately, only to be restarted again (consuming a great deal of CPU resources). Now SYSMAN only counts the non-locked messages.

CCIN getting confused by messages with a large number of recipient headers

Messages with many "To:" or "Cc:" header recipients caused CCIN to treat them erroneously as envelope recipients, trying to split the delivery into multiple copies. In turn, this caused an attempt to bounce a message that failed due to the lack of an envelope sender, and the error message "ccIn: Warning! Trying to bounce message .... with no bad recipients" was repeatedly reported in the log file. Under some circumstances, a GPF occurred. Now, extra "To:" or "Cc:" headers not coincident with envelope recipient are simply ignored if reporting them as non-delivery recipients ("Sent-to" or "Sent-cc", in cc:Mail jargon) exceeds the maximum size allowed for the cc:Mail headers.

Enhancements

ISO-2022-JP scanning of non-MIME messages

In 2.03b3 and 2.03b4, the ScanForJIS option by default was set to YES. This may be inconvenient for users not interested in Japanese language support. The default han now been left YES only if the local character set is ISO-2022-JP; otherwise, it is NO.

ISO-2022-JP -> Shift-JIS conversion now optional for MIME messages

Whilst the conversion for incoming ISO-2022-JP non-MIME messages was optional, MIME messages were always converted if the "Content-type:" header contained the parameter "charset=ISO-2022-JP". This was highly inconvenient for installation where the gateway runs on non-Japanese Windows: the conversion gives erroneous results, and it prevents manual decoding by the user through stand-alone utilities. Therefore, the conversion is now subject to the new option, under the [Options] section of IMA.INI:

ConvertJISinMIME=YES

As for ScanForJIS, the default is YES if the local character set is ISO-2022-JP, NO otherwise.

"Too many recipients" message moved to diagnostic logging level

The message "ccIn:Too many recipients; will deliver to others later" is not signalling an error condition; however, it was erroneously logged at "errors only" level, unduly alarming most administrators. It has now been moved to "diagnostic" level.

VERSION 2.03beta6 CHANGES

Bug Fixes

Memory leak in NT circumvented

Windows NT appears to leak global memory every time an application is started and subsequently terminated. The cumulative effect resulted in several malfunctions, including GPF in 0001:01F5. To avoid this problem, CCIN, CCOUT and SMTPC are no longer started and stopped; instead, after completing their job they remain in a idle status, waiting for a wake-up signal from Sysman.

Multiple dynamic conversions prevented

The new mechanism of background dynamic conversion for SMTPBTR.ADR allowed SYSMAN to start a second instance of the conversion utility before the termination of the one in progress, if the system schedule interval was short enough. This usually resulted in oversized SMTP.BTR, and often in database corruption and lock-up conditions in the database engine. Now, only one copy of conversion utility can be run at one time.

SMTPCqueueRunSize limited to 50

Previous versions allowed arbitrarily large values for this parameter, even zero which means "no limit". That resulted in huge memory allocations when the number of messages in the SMTP OUT queue was high. As increasing this parameter too much yields diminishing returns in terms of efficiency, its value has been limited to 50.

The sender addresses of Outbound messages were generated ignoring the domains configuration

A silly bug introduced in beta5. Now fixed.

UUdecode algorithm failed under rare conditions

Now fixed.

DNS resolver froze when it received truncated answers from the server

When the size of a DNS response exceeds 1024 bytes, the server has the option of returning a truncated reply asking the client to repeat the query over TCP instead of UDP. The code handling this was buggy, and crashed the calling application.

GPF in CCIN when the disk space was close to zero

If the free space on the disk where the QUEUE directory resided was close to zero, CCIN crashed. Now fixed.

GPF in SYSMAN when clicking on status buttons not greyed out but without messages in the window

With "Regular Screen Updates" deselected, it could happen that the Message Functions buttons were not greyed out even if no messages were in the displayed queue. Under these conditions, clicking on any of those buttons caused a GPF.

Bug in SMTPC exponential back-off algorithm

If the delivery of a message failed thirty times, the interval for subsequent retries dropped to zero. That way, some undeliverable messages could clog the SMTP OUT queue instead of being put aside and, ultimately, bounced.

Enhancements

Possibility of disabling the reverse DNS look-up

The reverse DNS look-up, while useful to spot spoofers, is sometimes harmful to the delivery throughput: this is especially true when the IP address of the SMTP peering client has not been registered under the IN-ADDR.ARPA domain. In that case, even DNS caching does not help, because failed queries must not be cached. It is now possible to disable the reverse DNS look-up by adding, under the [Options] section, the line:

DisableReverseDNSLookup=YES

If this option is selected, SMTPD will assume that the domain declared in the "HELO" SMTP command may not be true, and will record the peer's IP address in the generated "Received:" headers. Should there be suspicion of SMTP spoofing, that IP address will provide clues about the identity of the hacker for an off-line analysis of the messages.

Possibility of saving permissions in dynamic conversion from SMTPADR.BTR to SMTP.ADR

This option achieves, during the dynamic conversion, the same result as clicking the "Yes" button in the Address Conversion utility when prompted with the question "Do you want to add additional information..." after choosing to convert from database to ASCII file.

To enable that feature, add under the [Dynamic Conversion] section:

UseNewAddressFileFormat=YES

Possibility of partially qualified addresses

By default, the gateway extends addresses containing only a hostname (like "user@host") by attaching the local domain suffix. This may result inconvenient for use on some intranets that don't use DNS or, in general, domainized addressing. It is now possible to prevent this from happening by adding in IMA.INI, under the [Options] section, the line:

QualifyRecipientHosts=NO

Also domain literals to mail relay host

Messages sent to recipient addresses containing domain literals (like user@[1.2.3.4] ) will be subject to the same routing rules as for normal domainized addresses (user@domain.com). Previously, they escaped routing though the mail relay host.

Change in Configure Rule-Based Addressing

The functionality of the "Configure Rules" screen has been made more intuitive, in order to ensure alignment between saved rules and content of RULEBADR.BTR database. In particular, saving the rules will imply their compilation into a new database; discarding the changes will preserve the existing database as well.

Content-disposition: inline

In previous releases, the parameter used in the "Content-disposition:" header was "attachment". This prevented Eudora users from viewing the text attachments without saving them first as files.

Bounces by SMTPC will contain recipient address

Previously, messages bounced as undeliverable by SMTPC did not specify the failed recipient address.


VERSION 2.1 Gold Candidate CHANGES

Bug Fixes

CCOUT not recognizing CCPODOWN in beta6

The new "stay idle when finished" mechanism, introduced in beta6 for CCOUT, SMTPC and CCIN, had inadvertently resulted in inability of CCOUT to recognize CCPODOWN. The subsequent VIM errors caused a prematire auto-shutdown of the gateway. This has now been corrected.

CCOUT not changing default encoding until restarted in beta6

For the same reason, CCOUT ignored changes to the default encoding.

SendOldLogFile() did not generate proper envelope lines in the message file

The code responsible for mailing log files was not starting the message files with the envelope lines "#F ..." and "#R ...". Normally this caused no harm, but it prevented the recovery from some abnormal conditions, sometimes resulting in reports of failure to "bounce message with no bad recipients" being logged.

The exponential back-off algorithm was still faulty

Now fixed for good.

The "Deliver", "Forward" and "Bounce" button occasionally didn't work

Now fixed.

QualifyRecipientHosts only affected the SMTP envelope

Now it also affects the RFC822 headers.

Timeout on peer's response to the "QUIT" SMTP command caused SMTPC to leave a message file stranded in the OUT queue

When SMTPC did not receive a "250" reply to the "QUIT" command within the time interval specified by the SMTPCQuitTimeout parameter (normally 5 minutes), it failed to remove the message just sent from the QUEUE\OUT directory. However, the message database was updated, causing a discrepancy in SYSMAN between the number of messages displayed in the SMTP OUT counter and those shown in the message list when "SMTP OUT" was selected. Re-building the message database created a new record for that message, resulting in a double delivery. This bug has now been fixed.

Enhancements

Maximum lenght of the "Alternate host/domain names" list increased from 512 to 2048 characters

This will allow a higher number of "alternate host/domain names".

Masking of mailing list names in CCOUT made optional

In versions successive to the 1.04b, CCOUT removed from the recipients list cc:Mail names starting with the "#" character. This was a workaround to an abnormal behaviour of the cc:Mail client, that used to generate replies to both mailing list name AND to each address obtained exploding the mailing list. Recent versions of the client have fixed this problem; the removal by the gateway has therefore been made optional. The administrator can control it by adding in IMA.INI, under the [Options] section, the line:

MaskccMailList=NO

The default value for this option is YES.

Possibility of partially qualified addresses for senders as well

The similar option introduced in beta6 for recipient addresses is now available also for the sender address:

by default, the gateway extends addresses containing only a hostname (like "user@host") by attaching the local domain suffix. This may result inconvenient for use on some intranets that don't use DNS or, in general, domainized addressing. It is now possible to prevent this from happening by adding in IMA.INI, under the [Options] section, the line:

QualifySenderHosts=NO

Change of default values for several options

The default for three options has been modified to values more suitable to most installations:

RegularScreenUpdates=NO

MaxDNSRecordNumber=0

DisableReverseDNSLookup=YES

Message database rebuilt as startup

Every time Sysman is re-started, the message database will be re-built.

DNS cache database flushed at start-up

Every time Sysman is re-started, the DNS cache database will be cleared.

Ability to ignore the domain -> PO mapping on incoming messages

Some sites are based on a single "hub" PO receiving from the gateway messages originally addressed to a number of different subdomains mapped to downstream PO's, whose users all have remote entries in the hub PO. In that case, the normal domains mapping should be disabled (for incoming messages only), and the gateway should consider all the mapped domains as equivalent to the FQDN. This behaviour can be activated by adding in IMA.INI, under the [Options] section, the line:

SkipPOD=YES

VERSION 2.1 CHANGES

Bug Fixes

Attachments of bounces to cc:Mail messages sometimes failed for sizes larger than 20K

In some cases, attachments of large bounced messages were not retried as text file attachments when too big for being attached as note parts. That caused VIM failures.

Enhancements

Japanese language support extended to all Japanese versions of Microsoft Windows through Japanese VIM

Now Internet Exchange for cc:Mail supports the Japanese version of VIM 2.04, that comes with the Japanese versions of cc:Mail 2. Using the Japanese VIM allows the gateway to work on Japanese Win3.1, Japanese Win95 and Japanese NT 3.51 (and, presumably, also NT 4.0). It is important to note that:

- The local Post Office should be created by Japanese ADMIN

- The line

VIMCharSet=CP932

must be added to IMA.INI, under the [Gateway] section.

Note: the Japanese VIM can be put in place by installing, on the PC used for Internet Exchange, the Japanese version of cc:Mail Available from Lotus. An update to some of the DLL's can be downloaded from:

http://www2.lotus.co.jp/msginfo/21b2.htm

Japanese language support extended to "From", "To", "Cc", and "Subject" fields

Now the Shift-JIS<->ISO-2022-JP conversion also affects the headers. Should this cause problems, it is possible to disable it by adding to IMA.INI, under the [Options] section, the following line:

DisableJISinHeaders=YES

By default, the automatic recovery of ISO-2022-JP escape sequences lacking the escape character will not be attempted. It is possible to enable this feature by adding to IMA.INI, under the [Options] section, the following line:

RepairDamagedJISinHeaders=YES

Message database ONLY OPTIONALLY rebuilt as startup

Rebuilding the message database every time Sysman is re-started can create serious problems, especially in dial-up applications. The operation has now been conditioned to an option, by default set to NO: under the [Options] section, the line:

AutoRecovery=YES

will enable the automatic recovery of the message database at startup.

DNS cache ONLY OPTIONALLY rebuilt as startup

Same as above, but with default YES. To disable the feature, put under the [Options] section the line:

ClearDNSCacheWhenRestart=NO