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

comm/fido/amibinkd_10.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:FTN mailer (binkd port, no ixemul/ixnet)
Author:Gary "Spitfire" McCulloch (Amiga port); binkd by Dima Maloff
Uploader:spitfiretn gmail com and the binkd project
Type:comm/fido
Version:10.0
Architecture:m68k-amigaos
Date:2026-07-21
Requires:bsdsocket.library (Roadshow/AmiTCP/Amiberry bsdsocket_emu), C-Net/5 Amiga Pro or another FTN-aware BBS engine
Distribution:Aminet
Download:comm/fido/amibinkd_10.lha - View contents
Readme:comm/fido/amibinkd_10.readme
Downloads:13

AMIBINKD
Native AmigaOS 3.x port of binkd, the FTN mailer
===============================================================================

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

AmiBinkD is a native AmigaOS 3.x build of binkd, the FidoNet Technology
Network (FTN) mailer, used to send and receive FTN echomail/netmail
packets over TCP/IP using the BinkP protocol.

Unlike every prior Amiga build of binkd, this one does not require
ixemul.library or ixnet.library. It talks to bsdsocket.library directly,
and every place the historical Amiga port depended on ixemul's vfork()-
based process model has been replaced with a synchronous, single-session
execution path native to classic AmigaOS.

This is a from-scratch reconstruction, not a recompile of the old ixemul
Amiga port. It was built by tracing every ixemul/ixnet dependency in
upstream binkd's own historical Amiga support and replacing each one with
a direct AmigaOS/bsdsocket.library equivalent, then hardening the result
against several real behavioral differences between Amiberry's
bsdsocket_emu and genuine Roadshow/BSD sockets that only showed up under
live testing, not at compile time. See manual.txt section 17 for the
full list, if you're maintaining this on a different TCP/IP stack.

For full installation notes, configuration reference, known real-hardware
findings, and version history, see manual.txt.


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

AmiBinkD                  Compiled AmigaOS executable (m68k, AmigaOS 3.0+)
readme.txt                Quick overview and install notes
manual.txt                Full SysOp documentation
amibinkd-example.cfg      Example configuration file

Copy amibinkd-example.cfg to a name of your choosing (e.g. AmiBinkD.cfg,
or one file per network -- see manual.txt section 07) and edit it for
your system before running.


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

* Commodore Amiga or compatible/emulated Amiga system, AmigaOS 3.0+ (m68k)
* bsdsocket.library -- Roadshow, AmiTCP, or (as tested) Amiberry's
  bsdsocket_emu
* An FTN-aware BBS engine or tosser to hand packets to/from (built and
  tested against C-Net/5 Amiga Pro, but AmiBinkD itself only reads/writes
  standard FTN packet and outbound-flow files -- it doesn't call into
  C-Net/5 directly)
* At least one FTN address and an uplink/hub willing to carry your mail

AmiBinkD is a standalone compiled executable. It has no ixemul.library or
ixnet.library dependency of any kind -- confirmed via string search on
the built binary.


IMPORTANT LIMITATION: ONE SESSION AT A TIME
===============================================================================

Classic AmigaOS has no fork()/pthreads without ixemul. AmiBinkD runs every
BinkP session -- inbound or outbound -- synchronously, one at a time, in
the same process. If you poll several networks, either use several -P
addresses in one invocation or chain separate invocations from a driver
script (see manual.txt section 09); either way, each session runs to
completion before the next one starts. This is an intentional, working
v1 design, not a bug -- see manual.txt section 05 for the reasoning.


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

1. Copy the AmiBinkD folder to your BBS mail directory.

   Example:

   Mail:AmiBinkD/AmiBinkD

2. Copy amibinkd-example.cfg to AmiBinkD.cfg (or a per-network name --
   see manual.txt section 07) and edit it: your domain(s), your FTN
   address(es), sysname/location/sysop, log path, inbound directories,
   and your node/hub line(s) with the real host, port, and password.

3. Create the directories your config references if they don't already
   exist: the outbound directory named in each "domain" line, the
   inbound/temp-inbound directories, and the log directory.

4. Test an outbound poll manually first, from a Shell:

   AmiBinkD:AmiBinkD -p -P<address> AmiBinkD:AmiBinkD.cfg

5. Review the log, then set up your regular polling schedule and/or
   inbound server (see manual.txt sections 09-10).


BASIC MAIL FLOW
===============================================================================

1. AmiBinkD polls (outbound) or accepts a connection (inbound), performs
   the BinkP handshake, and exchanges queued files/packets over TCP.
2. Received .pkt files land in your configured inbound directory.
3. Your tosser (e.g. C-Net/5's Toss) processes them into your message
   bases.
4. Outbound mail queued by your BBS/tosser into the domain's outbound
   directory gets picked up and sent on the next poll.


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

v10.0 - Native AmigaOS Port
----------------------------

* Rebuilt from a clean upstream binkd checkout with every ixemul/ixnet
  dependency replaced by native AmigaOS/bsdsocket.library equivalents,
  rather than patching an incomplete existing Amiga port.
* Runs each BinkP session synchronously (no fork()/pthreads needed) --
  a genuine, working single-session-at-a-time design.
* Found and fixed several real behavioral differences between
  Amiberry's bsdsocket_emu and genuine BSD sockets that only surfaced
  under live testing (getaddrinfo(), non-blocking I/O, accept()
  blocking after a ready select(), WaitSelect() signal handling) -- see
  manual.txt section 17 for the full list.
* Verified two ways before shipping: cross-compiled clean (zero
  warnings) with the bebbo/amiga-gcc toolchain, and run live on a
  production Amiberry instance -- confirmed both outbound (client/poll)
  and inbound (server) sessions, including a full multi-network polling
  run (7 networks) with real inbound file reception and successful
  tosser import, not just clean-looking session logs.
* Soak-tested unattended overnight across all 7 configured networks with
  no hangs, no gaps, and no recurrence of any fixed bug.

For the full technical history -- every ixemul-era assumption replaced,
every real-hardware finding, and why each fix works the way it does --
see manual.txt section 17 and 21.


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

AmiBinkD accepts inbound TCP connections and moves files onto your
system based on what a remote FTN node sends it.

Recommended precautions:

* Set a real per-node password (areafix password) for every "node" line
  -- don't leave a node unauthenticated unless you mean to.
* Use send-if-pwd (on by default in the example config) so an
  unauthenticated session can only receive, not pull mail from you.
* Keep your inbound/outbound directories separate from directories your
  BBS treats as directly executable or auto-processed without review.
* Review your log regularly.
* Keep backups.


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

AmiBinkD is provided as-is. It is a from-scratch reconstruction of
ixemul-dependent Amiga binkd behavior verified against one real system
(Amiberry-emulated AmigaOS 3.x, bsdsocket_emu) -- other bsdsocket.library
implementations (real Roadshow, AmiTCP) have not been tested and may
behave differently; see manual.txt section 17 before assuming a finding
there applies to your setup.

Every FTN network and BBS system is different. Test carefully before
using this on a live system carrying real mail.

The author is not responsible for lost mail, misconfigured domains/
addresses, missing passwords, or damage caused by improper setup.

Always keep backups.


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

AmiBinkD is a native AmigaOS port of binkd
(https://github.com/pgul/binkd), originally written by Dima Maloff and
maintained by the binkd project. All BinkP protocol logic, FTN packet
handling, and configuration semantics are upstream binkd's; this port's
own work is the AmigaOS/bsdsocket.library integration layer and the
real-hardware fixes documented in manual.txt.

Built and tested for:

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

Website:

https://www.rofbbs.com

SysOp / Author (Amiga port):

Gary "Spitfire" McCulloch

Networks tested against:

AmigaNet, ArakNet, CommodoreNet, DiscipleNet, FidoNet, PiNet, RetroNet

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


Contents of comm/fido/amibinkd_10.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[Amiga]                 100868  182556  55.3% -lh5- bd5f Jul 20 05:49 AmiBinkD
[Amiga]                   1279    2524  50.7% -lh5- 970a Jul 20 05:49 amibinkd-example.cfg
[Amiga]                   1410    3048  46.3% -lh5- 147c Jul 18 07:36 AmiBinkD.info
[Amiga]                    308     612  50.3% -lh5- 79cb Jul 20 05:53 File_ID.DIZ
[Amiga]                  14231   40092  35.5% -lh5- 52a2 Jul 20 05:54 manual.txt
[Amiga]                   3597    9215  39.0% -lh5- 7cb5 Jul 20 05:50 readme.txt
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         6 files  121693  238047  51.1%            Jul 21 00:38
Page generated in 0.01 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>