Skip to content
View SpitfireTN's full-sized avatar

Block or report SpitfireTN

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
SpitfireTN/README.md

Gary "Spitfire" McCulloch

I've run Reign of Fire BBS for over 25 years, and I write the software that keeps it — and other Amiga boards — on the FidoNet networks.

Everything here runs a live board every day. None of it is a proof-of-concept, and nothing gets published until it has survived a night of real traffic.


AmiBinkD  ·  C  ·  GPL-2.0

A native AmigaOS 3.x port of binkd, the FidoNet mailer. No ixemul, no ixnet — it talks straight to bsdsocket.library, and builds for plain 68000, so a stock A500 will start it. BinkP/1.1 with CRAM-MD5.

The goal was never to write a new mailer. It was to get binkd itself onto the Amiga: 18 of its 34 source files are untouched, and protocol.c — the binkp engine, 3,769 lines — carries exactly one Amiga-specific line.

RoFTIC  ·  C  ·  MIT

An AmigaOS TIC and nodelist processor. Routes file-echo announcements into file areas, extracts and verifies archived nodelists, and runs TrapList only when one actually changed. Also on Aminet.

SSH and RLOGIN gateways  ·  Python  ·  MIT

Three ways into a telnet-only BBS that it cannot provide itself, and one way out — all driven from outside, with no changes to the BBS binary. SSH straight into the board (with CP437→UTF-8 transcoding, so the box-drawing characters survive on a modern terminal), inbound RLOGIN with scripted auto-login, and an outbound telnet→RLOGIN bridge for door servers.


Why any of this is published

Most of the hard parts turned out not to be in the BBS software at all. They were in the Amiga C library:

  • an fstat() that reports every file as zero bytes while returning success — which meant every piece of outbound mail was announced as empty, with nothing anywhere logging an error;
  • a file-descriptor table with no locking anywhere in it, so two processes opening files at the same moment could be handed the same slot and write into each other's files.

Both are written up in the repositories, because anyone else building Amiga software with the same toolchain has them too and probably doesn't know it.

And because this shouldn't die with one sysop's hard drive. It's all licensed so you can take it, run it, fix it, and pass it on.


Reign of Fire BBScall.rofbbs.com — telnet 6800 · ssh call@call.rofbbs.com

Bug reports, patches and questions all welcome.

Popular repositories Loading

  1. Guru Guru Public

    Forked from mkillewald/Guru

    A computational knowledge client for C-Net/5 Amiga BBS written in ARexx

    1

  2. AmiBinkD AmiBinkD Public

    Native AmigaOS 3.x port of binkd, the FidoNet mailer — no ixemul or ixnet, talks straight to bsdsocket.library, builds for plain 68000

    C 1 1

  3. Django_Social_Network_App Django_Social_Network_App Public

    Forked from bubbaandy89/Django_Social_Network_App

    A Social Media Web-Application with Chat and Video Call functionality, made with Django.

    HTML

  4. website website Public

    Forked from inspircd/website

    The InspIRCd website

    HTML

  5. cnet5-ssh-rlogin cnet5-ssh-rlogin Public

    SSH and RLOGIN gateways for C-Net/5 Amiga Pro — ssh into a telnet-only BBS, inbound RLOGIN auto-login, and an outbound telnet→RLOGIN door bridge

    Python

  6. RoFTIC-releases RoFTIC-releases Public

    RoFTIC — AmigaOS TIC and nodelist processor for FTN systems. Downloads and documentation.