AminetAminet
Search:
85481 packages online
About
Recent
Browse
Search
Upload
Setup
Services

comm/fido/RoFTICv3_2c.lha

Mirror:Random
Showing: m68k-amigaos iconppc-amigaos iconppc-morphos iconi386-aros iconi386-amithlon iconppc-warpup iconppc-powerup icongeneric iconother icon
No screenshot available
Short:C-Net TIC and nodelist processor
Author:Gary "Spitfire" McCulloch
Uploader:spitfiretn gmail com
Type:comm/fido
Version:3.2C
Architecture:m68k-amigaos
Date:2026-08-16
Requires:C-Net/5 Amiga Pro, FTN TIC files, TrapList
Distribution:Aminet
Download:comm/fido/RoFTICv3_2c.lha - View contents
Readme:comm/fido/RoFTICv3_2c.readme
Downloads:1

ROFTIC (C EDITION)
Reign of Fire BBS C-Net/5 TIC / Nodelist / TrapList Processor
===============================================================================

DESCRIPTION
===============================================================================

ROFTIC is a compiled Amiga C program that processes incoming FTN-style TIC
files for C-Net/5 Amiga SysOps. It reads the FILE and AREA fields, and places
received files into the correct C-Net/5 file areas using roftic.cfg.

It also supports automatic nodelist maintenance. When a nodelist TIC is
received, ROFTIC stages the file, extracts it if needed, locates the real
nodelist, installs it into the C-Net/5 nodelist directory, and runs TrapList
only after a successful nodelist update.

This is a from-scratch C port of the original roftic.rexx (ARexx) processor,
same version lineage, same configuration values, same log format, and the
same file layout on disk. Behavior is unchanged -- what's different is how it
runs: every AmigaDOS housekeeping step (MAKEDIR/DELETE/LIST/COPY/verify) that
the REXX version did by forking a Shell process now runs as a direct library
call in-process instead. A profiling pass of the REXX version found that
forking accounted for roughly 80% of its runtime, so the practical result is
a noticeably faster processor with identical output. Being a compiled binary
rather than a plain-text script is also simply less convenient to casually
copy or re-brand.

The script is designed to fail safely. If a required archiver is missing, if
an archive cannot be extracted, if the configured AREA is missing, or if the
expected file cannot be found, the inbound file and TIC are left in place so
the SysOp can correct the problem and run the processor again.

For full installation notes, examples, testing procedures, troubleshooting,
and version history, see manual.txt.


FILES INCLUDED
===============================================================================

roftic                    Compiled AmigaOS executable (m68k, AmigaOS 3.0+)
readme.txt                Quick overview and install notes
manual.txt                Full SysOp documentation
roftic-example.cfg        Example AREA to C-Net/5 file directory map

Rename roftic-example.cfg to roftic.cfg after editing it for your system.

roftic.cfg has two parts: an optional settings block (TICDIR, NODELISTDIR,
TEMPDIR, PROCESSED, LOGFILE, TRAPLIST, MOVETIC, LOGMODE) followed by the
usual AREA to C-Net/5 file directory map. Any setting you leave out keeps
this release's compiled-in default -- see QUICK INSTALL below and manual.txt
for the full keyword list and defaults.


REQUIREMENTS
===============================================================================

* Commodore Amiga or compatible/emulated Amiga system, AmigaOS 3.0 or newer
* C-Net/5 Amiga Pro
* FTN mailer/tosser setup receiving TIC files and files
* C-Net/5 file directories already created
* C-Net/5 nodelist directory available
* C-Net/5 TrapList available, normally in Mail:bin/
* Archivers required for the nodelist formats your links send

No ARexx dependency -- ROFTIC is a standalone compiled executable.

Recommended archivers, depending on your links:

* UnZip   - FTN .Z## nodelist archives
* LHA     - FTN .L## nodelist archives
* ARC     - FTN .A## nodelist archives
* ARJ     - FTN .J## nodelist archives
* RAR     - FTN .R## nodelist archives

Plain archive files such as .ZIP, .LHA, .LZH, .ARC, .ARJ, and .RAR are routed
by TIC AREA unless their filename uses an FTN day-of-year nodelist archive
pattern such as .Z70 or .L70.


QUICK INSTALL
===============================================================================

1. Copy the ROF_TIC folder into your C-Net/5 mail directory.

   Example:

   Mail:ROF_TIC/roftic

2. Make sure TrapList exists.

   Example:

   Mail:bin/TrapList

3. Copy roftic-example.cfg to roftic.cfg.

4. If your system's paths differ from the defaults, set them in the
   settings block at the top of roftic.cfg:

   TICDIR       Inbound:
   NODELISTDIR  Nodelist:
   TEMPDIR      Echomail:Inbound_Temp/RoFTIC
   PROCESSED    Echomail:Processed
   LOGFILE      SysData:log/RoF_TIC.log
   TRAPLIST     Mail:bin/traplist
   MOVETIC      1
   LOGMODE      SHORT

   Every line here is optional -- anything you leave out (or leave the
   whole block out entirely) keeps this release's compiled-in default,
   the values shown above. TICCFG itself (the location of roftic.cfg) is
   the one thing that isn't settable this way, since it's what ROFTIC
   needs to find before it can read anything else; that one still
   requires the source and a cross-compiler (m68k-amigaos-gcc) to change.

5. Edit roftic.cfg and map each normal TIC AREA to a C-Net/5 file directory.

   Example:

   FTN_FILES     UDBase0:FTN_FILES/
   CNET_MODS     UDBase0:CNET_MODS/
   AMIGA_UTILS   UDBase0:AMIGA_UTILS/

6. Run the program manually first.

   From AmigaDOS Shell:

   Mail:ROF_TIC/roftic

7. Review the log after testing.


BASIC PROCESSING FLOW
===============================================================================

A recommended C-Net/5 maintenance flow is:

1. Mailer receives packets, files, and TIC files.
2. C-Net/5 Toss processes mail, if used in your setup.
3. ROFTIC processes TIC files.
4. Normal TIC files are routed to UDBase0: file areas using roftic.cfg.
5. Nodelists are staged, extracted if needed, verified, and installed into
   Nodelist:.
6. TrapList runs only when at least one nodelist was successfully updated.


NODELIST DETECTION
===============================================================================

ROFTIC uses conservative, generic nodelist detection so the program can be
used by SysOps on many different FTN networks.

Automatically treated as nodelist files:

* Plain numeric nodelists:

  NETWORK.170
  ARAKNET.170
  CNET.170

* FTN day-of-year nodelist archives:

  NETWORK.Z70
  NETWORK.L70
  NETWORK.A70
  NETWORK.J70
  NETWORK.R70

* Historical FTN nodelist archive styles:

  NETWORK.NNA
  NETWORK.AXA
  NETWORK.NNJ
  NETWORK.NNR

Normal archive extensions by themselves are not enough to identify a nodelist.
Files such as PACK.ZIP, INFO.LHA, UTILITY.ARC, or DOCS.RAR should normally be
routed by AREA through roftic.cfg.

This avoids the common problem where infopacks mention "current nodelist" in
the TIC description and accidentally get processed as nodelist updates.


ARCHIVED NODELIST HANDLING
===============================================================================

When a day-of-year archived nodelist is received, ROFTIC:

1. Reads the TIC FILE and AREA fields.
2. Detects the FTN archive extension, such as .Z70 or .L70.
3. Selects the proper archiver.
4. Extracts into the configured temporary directory.
5. Searches the extracted files for a usable nodelist.
6. Copies the nodelist into Nodelist:.
7. Verifies the copy.
8. Removes older matching nodelists only after the new one is verified.
9. Deletes or moves the processed TIC based on MOVETIC.
10. Runs TrapList only if a nodelist was successfully installed.

If anything fails, the inbound archive and TIC are kept.


SAMPLE roftic.cfg
===============================================================================

Each normal file echo AREA must be mapped to a destination directory.

Example:

FTN_FILES       UDBase0:FTN_FILES/
CNET_MODS       UDBase0:CNET_MODS/
AMIGA_UTILS     UDBase0:AMIGA_UTILS/
COMMODORE       UDBase0:COMMODORE/
BBS_ADS         UDBase0:BBS_ADS/

The AREA name must match the AREA line inside the incoming TIC file.

If an AREA is not configured and the file is not detected as a nodelist,
ROFTIC leaves the file and TIC inbound for SysOp review.


RUNNING
===============================================================================

From AmigaDOS Shell:

Mail:ROF_TIC/roftic

From C-Net/5, call the program from your event, maintenance command, or menu
setup using the path appropriate for your system.

Recommended while testing:

MOVETIC = 1 (the default in this build)

This moves processed TIC files to the processed directory instead of deleting
them immediately.


===============================================================================
VERSION HISTORY
===============================================================================

v3.2C - Amiga C Port
---------------------

* Rewrote roftic.rexx as a native Amiga C program, same behavior, same
  config values, same log format and file layout on disk.
* Replaced per-operation AmigaDOS Shell forks (MAKEDIR/DELETE/LIST/COPY/
  verify) with direct library calls, removing the ~80% of runtime a
  2026-07-17 profiling pass attributed to ARexx interpreter and shell-fork
  overhead. Archive extraction and TrapList still shell out, unchanged --
  profiling showed those were never the cost.
* No ARexx dependency; runs as a standalone compiled executable.
* Verified against synthetic test data covering area routing, ZIP-based
  and plain numeric-extension nodelist handling, unmapped areas, malformed
  TICs, and the old-nodelist replace-after-verify edge case, then deployed
  to Reign of Fire BBS production and confirmed against a real TIC.
* Added an optional settings block to roftic.cfg (TICDIR, NODELISTDIR,
  TEMPDIR, PROCESSED, LOGFILE, TRAPLIST, MOVETIC, LOGMODE), so SysOps with
  different paths no longer need the source and a cross-compiler just to
  change them. Any setting left out keeps its compiled-in default, so
  existing area-mapping-only roftic.cfg files still work unchanged.
* Fixed the startup banner (version, telnet/dial-up/SSH contact info) being
  silently dropped by the LOGMODE SHORT filter -- it now appears in the log
  on every run, in both SHORT and FULL.

For the full roftic.rexx version history (v1.x through v3.2) that this port
carries forward, see the original ROFTIC.REXX package documentation.

SECURITY NOTES
===============================================================================

Only process TIC files from trusted FTN links.

A TIC processor moves files around your BBS file system. Incorrect TIC files,
bad area names, damaged archives, or malicious input can cause problems if your
system is not configured carefully.

Recommended precautions:

* Keep backups.
* Review logs regularly.
* Test one file echo and one nodelist format before live use.
* Do not allow unknown TIC areas to write into important system directories.
* Keep archivers in trusted locations.


DISCLAIMER
===============================================================================

ROFTIC is provided as-is.

Every C-Net/5 system is different. SysOps should test carefully before using
this program on a live BBS.

The author is not responsible for lost files, incorrect configuration, bad TIC
files, damaged archives, wrong area mappings, missing archivers, archiver syntax
differences, or damage caused by improper setup.

Always keep backups.


CREDITS
===============================================================================

ROFTIC was written and tested for:

Reign of Fire BBS
C-Net/5 Amiga Pro
call.rofbbs.com:6800

Created for the C-Net/5 SysOp community and other retro BBS operators who want
to automate TIC file handling, nodelist installation, and TrapList updates on
real or emulated Amiga systems.

Website:

https://www.rofbbs.com

SysOp / Author (REXX original and C port):

Gary "Spitfire" McCulloch

Networks:

ArakNet, CommodoreNet, DiscipleNet, PiNet, and RetroNet

===============================================================================
END OF README.TXT                                      SpitfireTN Entertainment
===============================================================================


Contents of comm/fido/RoFTICv3_2c.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[Amiga]                  24404   48612  50.2% -lh5- a3c0 Jul 18 23:25 bin/roftic
[Amiga]                   1410    3048  46.3% -lh5- 147c Jul 18 11:36 bin/roftic.info
[Amiga]                   2073    4073  50.9% -lh5- 867c Jul 18 15:58 BUILD.txt
[Amiga]                    324     634  51.1% -lh5- b2a5 Jul 19 05:27 File_ID.DIZ
[Amiga]                  11454   39812  28.8% -lh5- 17f1 Jul 18 23:26 manual.txt
[Amiga]                   4589   12014  38.2% -lh5- 5623 Jul 18 23:27 readme.txt
[Amiga]                    668    1306  51.1% -lh5- 19c2 Jul 19 05:36 roftic-example.cfg
[Amiga]                    901    1949  46.2% -lh5- f990 Jul 19 09:15 RoF_ReadMe
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         8 files   45823  111448  41.1%            Aug 16 10:22
Page generated in 0.05 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>