It is possible to embed files in a TRN file. These are then copied into the host directory when Host reads the TRN. This is used by TacCom to transmit alliance information. This method is only supported by the Wisseman host, not PHost or others. As a consequence, only few hosting utilities consider TRNs with attachment valid. This function is supported by Host 3.20 and later.

 +0  10 BYTEs   Signature "NCC1701AD9"
+10     DWORD   Location of original TRN data in this file (as usual, + 1)
+14     DWORD   Size of original TRN file in bytes
+18  10 RECORDs of 20 bytes each:
                 +0     DWORD   Position of embedded file ( + 1)
                 +4     DWORD   Length of embedded file
                 +8  12 BYTEs   File name, padded with spaces. Blank (=only
                                spaces) if this "slot" doesn't contain a
                                file.

Following are the "attachments" and the TRN file. The host uses the data at +10 and +14 to extract the original TRN file. The result of extraction must be a valid TRN file (no more attachments).

Host rejects BAT, DAT, EXT, HST, INI, LOG, NM, RST and TRN files; since 3.22.035 also EXE, COM and BIN. This still is a security hole because it is still possible to upload files that end up as `.exe' on the Host's disk (I have a proof-of-concept program if you insist...)

On the other hand, this is a method to work around the X Modem problem, because it explicitly encodes the TRN file size within the file. How many people still use X Modem is another question.

This is a testing version.
It may be incomplete, and have more bugs (or features) than the public live version at planetscentral.com.