SFTOSS32 v1.05
Spitfire BBS FidoNet Tosser for 32-bit Windows
Release date: July 21, 2026

OVERVIEW
========
SFToss32 imports FidoNet echomail and netmail into Spitfire's native
message base and exports locally written messages into a ZIP packet bundle
for a separate mailer such as iREX. SFToss32 does not connect to the network.

The supplied executable is the exact field-tested v1.05 Beta 5 Build 2
binary promoted unchanged for release review. Retaining the tested binary
means startup log lines and SFTOSS.BSY still contain the internal label
"Beta 5". The network tearline is simply:

    --- sftoss32 1.05

COMMANDS
========
    SFTOSS32.EXE -check [config-file-path]
    SFTOSS32.EXE -toss  [config-file-path]
    SFTOSS32.EXE -scan  [config-file-path]

With no config path, SFToss32 reads SFTOSS32.CFG from the current directory.

-check is read-only. It validates configuration, conference routing, node
state and the Spitfire PTR/IDX/DAT message bases. It appends diagnostics to
TOSSER.LOG but does not import, export or modify messages.

-toss scans INBOUND for ZIP packet bundles and raw valid FTS-0001 packets.
Successful files are archived or deleted according to KEEPPROCESSED.

-scan exports unsent local echomail and netmail to OUTDIR. A complete ZIP
bundle is published before Spitfire messages are marked sent.

FIRST STEPS
===========
1. Back up your Spitfire MESSAGE directory.
2. Put SFTOSS32.EXE and your edited SFTOSS32.CFG in their own directory.
3. Keep every Spitfire node offline while running -toss or -scan.
4. Run SFTOSS32.EXE -check and resolve every reported issue.
5. Test one inbound and one outbound message before scheduling automation.

When upgrading, keep your existing working SFTOSS32.CFG. Save the old EXE as
a rollback copy, replace only SFTOSS32.EXE, then run -check.

CONFIGURATION
=============
Required and optional directives are documented in the supplied
SFTOSS32.CFG template. The main directives are:

    INBOUND <mailer inbound directory>
    CONFDIR <Spitfire home directory containing SFMCONF.DAT>
    WORKDIR <directory containing SFWHOSON.DAT; defaults to CONFDIR\WORK>
    MSGDIR  <Spitfire MESSAGE directory>
    OUTDIR  <mailer outbound directory>
    ADDRESS <your FTN address>
    HUB     <your hub FTN address>
    SYSTEM  <Origin system name>
    PKTPW   <optional packet password, maximum 8 characters>
    KEEPPROCESSED yes|no
    PROCESSEDDIR <optional archive directory>

SECURITY
========
Do not publish SFTOSS32.CFG, unredacted TOSSER.LOG files or packet headers
when they contain packet or AreaFix passwords. Packet passwords are stored in
classic FTS packet headers and are not encrypted.

NODE AND LOCK SAFETY
====================
-toss and -scan use one atomic SFTOSS.BSY lock and verify SFWHOSON.DAT before
touching the message base. Missing or unreadable node state fails closed.
Busy-node messages report the exact node, signed UserNo and Mode byte.
Ctrl+C cleanup was live-tested and removes SFTOSS.BSY immediately.

MESSAGE-BASE CAPACITY
=====================
Spitfire's body-address field is 16-bit. A conference can address at most
65,536 DAT records, or 8 MiB at 128 bytes per record. SFToss32 refuses any
append that would exceed the limit and retains the inbound source.

-check reports capacity notices at 80, 90 and 95 percent and at full
capacity. To reclaim DAT space:

1. Back up the MESSAGE directory.
2. Shut down all Spitfire nodes.
3. Run Spitfire's SFPCKMSG /CONF<n> utility.
4. Run SFTOSS32.EXE -check again.

SFToss32 intentionally does not implement its own message-base packer.

COMPATIBILITY
=============
The executable is PE32/i386, Windows console subsystem 4.0, statically links
its compression code and imports only KERNEL32.DLL and MSVCRT.DLL. The target
is Windows XP SP2 through Windows 10 32-bit. This exact executable was
production-tested on Windows 7 32-bit with Spitfire v3.7 and iREX. XP remains
a field-test target; an earlier SFToss32 build was reported working on XP SP2.

FILES
=====
    FILE_ID.DIZ                 BBS archive description
    README.TXT                  This document
    INSTALL.TXT                 Fresh install and upgrade steps
    RELEASE_NOTES.TXT           v1.05 changes
    KNOWN_ISSUES.TXT            Deferred and review items
    VALIDATION.TXT              Completed test record
    SFTOSS32.CFG                Generic configuration template
    SFTOSS32.EXE                Exact field-tested Win32 executable
    SHA256SUMS.TXT              File integrity hashes
    SOURCE\SFTOSS32.C            Complete SFToss32 source
    SOURCE\BUILD_INFO.TXT        Compiler and binary details
    SOURCE\SOURCE_NOTICE.TXT     Source and licensing notice
    SOURCE\ZLIB_NG_LICENSE.MD    Third-party compression license
    DOCS\SPITFIRE.REC.TXT        Spitfire record-layout reference

Read KNOWN_ISSUES.TXT before deployment.
