Subj : AmiBinkd 2026 To : All From : Spitfire Date : Wed Aug 19 2026 20:33:32 AmiBinkD - a native AmigaOS binkd, and how it gets tested --------------------------------------------------------- AmiBinkD is a port of binkd to AmigaOS 3.x. It talks straight to bsdsocket.library - no ixemul, no ixnet - and runs on real 68k iron or under emulation. BinkP/1.1, CRAM-MD5, works with C-Net/5 and any other FTN-aware BBS. The goal is not to write a new mailer. It is to get *binkd itself* running on the Amiga. 18 of binkd's 34 source files are completely untouched, and protocol.c - the binkp engine, 3,769 lines - carries exactly one Amiga-specific line. Where the port does deviate, it is almost always to work around something broken in the Amiga C library, not to change how binkd behaves. TESTING It runs on a live board carrying seven networks, and that is where the bugs turn up. Recent examples, all found in production: * Outbound mail was going out as ZERO BYTES - every bundle, always. Nothing logged an error, because no layer had one: the tosser packed a valid archive, and binkd sent exactly the byte count it was given. The cause was libnix13's fstat(), which always reports st_size == 0 (it measures with SEEK_CUR right after seeking to the start). Upstream binkd's code was correct; the C library was not. Fixed by overriding fstat(). If you build ANY Amiga software with -mcrt=nix13 and it depends on file sizes, this affects you too. * Log lines were being torn in half when two sessions wrote at once. binkd locks its log - but with a private semaphore, which is fine for one process with threads. This port runs each session as its own AmigaOS Process, so the lock has to be a PUBLIC semaphore to span them. * Concurrent sessions all logged under one id, so three simultaneous inbound calls read as triplicated lines. Now each has its own. RELEASES v10.25 is current and in the file area. v10.29 follows once its soak is done - by then the fixes are mostly small: quieting a benign lock race that logged at error level, and removing a diagnostic that turned out to be reporting garbage. Nothing ships until it has run on the board for a day or more. A fix that has not survived a real night of traffic is a guess. Reign of Fire BBS - call.rofbbs.com - telnet 6800 / ssh call@ * ACIS Member. AmigaNet ArakNet C=Net DescipleNet FidoNet PiNet RetroNet * C-Net/5 * Origin: call.rofbbs.com : 6800 6400 8502 : 423-541-8271 : rofbbs.com (64:500/1) .