FTN Bundles
FTN mail can arrive as a raw .pkt file or as an arcmail archive containing one or more packet files. OxideBBS keeps packet parsing separate from archive handling so the tosser can make clear decisions about pass-through, extraction, archive, and quarantine behavior.
Current oxidebbs-ftn bundle foundation:
.pktis classified as a raw packet and can be handed directly toPacketReader..zipis classified as a ZIP arcmail bundle and extracts top-level.pktentries into the requested output directory.BundleCreator::create_zip_bundlecreates a ZIP arcmail bundle from one or more packet files using top-level packet filenames as entries..arjis classified as an ARJ arcmail bundle and extracts top-level.pktentries through the built-in archive reader.
ZIP extraction is intentionally strict. OxideBBS accepts only top-level .pkt entries. It rejects nested paths, absolute or traversal-style names, non-packet entries, duplicate output names, corrupt archives, empty archives, and attempts to overwrite an existing extracted packet. This keeps inbound processing deterministic before the tosser decides whether to import, archive, or quarantine a packet.
ZIP creation is also intentionally strict. OxideBBS refuses empty packet lists, non-.pkt packet inputs, duplicate packet filenames case-insensitively, and existing bundle output files. The created bundle can be passed back through the same extraction boundary for verification.
net scan calls the ZIP bundle creator for enabled links configured with ZIP compression. It records the created bundle as a pending outbound packet row and marks the individual packet rows processed with a bundled reason.
Classic day-of-week arcmail names such as .su0, .mo0, .tu0, .we0, .th0, .fr0, and .sa0 still need a documented naming and compression policy before OxideBBS treats them as extractable bundles. The current classifier intentionally recognizes only unambiguous suffixes.
Out of scope for caller-facing FTN operations:
- implement arcmail bundle naming
- outbound ARJ bundle creation; outbound arcmail creation is ZIP-only
