Author: kenjreno

  • Allfix 6.1.8-c53f16e (Development Build)

    This development release fixes the root cause of the FILES.BBS rename failure and adds comprehensive test coverage for FILES.BBS operations.

    Bug Fixes

    • Fixed FILES.BBS rename root cause: The TextRec.name buffer was being read with str2pas/StrPas which produced garbage due to FPC ShortString type conversion issues. The rename target was truncated to just H (OS/2) or / (Linux) instead of the full path. Fixed with manual byte-copy from the TextRec name buffer using String[255].

    Testing

    • Added test_fbbs.pas — 32 tests exercising FILES.BBS create, add, search, multiple sequential adds, and file replacement. All pass.
    • Full regression suite: 1,680+ tests pass.
  • Allfix 6.1.7-20ec2bd (Development Build)

    This build adds Linux and FreeBSD support, fixes the FILES.BBS rename bug, and adds cross-platform path handling.

    New Platforms

    • Linux x86_64 and FreeBSD x86_64 builds now included in releases. Native Unix binaries with forward-slash paths, case-preserving filenames, and FILES.BBS support.
    • On Unix, only BBStype 255 (fileecho config / FILES.BBS) is supported. DOS/OS2 BBS file databases are not yet compatible with Unix paths.

    Bug Fixes

    • Fixed FILES.BBS rename failure (root cause found): The TextRec.name buffer was being read with str2pas/StrPas which produced garbage due to FPC ShortString/AnsiString type resolution. The rename target was truncated to just H (OS/2) or / (Linux) instead of the full path. Fixed with direct byte-copy from the TextRec name buffer.
    • Fixed savedname corruption: The filename was also being read AFTER terase() which corrupts the TextRec buffer. Now saved before close/erase.
    • Fixed DOS file attach paths on Linux: Incoming netmail with DOS paths (e.g. C:\INBOUND\FILE.ZIP) now has drive letters stripped and separators converted. Falls back to searching inbound directories if the original path doesn’t exist.

    Cross-Platform Path Handling

    • All config paths normalized with SetDirSeparators at load time — converts \ to / on Linux, / to \ on Windows.
    • Replaced hardcoded backslashes with DirectorySeparator in dosutil, binkley, execuni2, snetmail, fbbs, fcomp, and all 12 BBS modules.
    • Replaced BuildPath with FPC’s ForceDirectories for recursive directory creation.
    • UprCase(path) replaced with case-preserving NormPath on Unix (30+ callsites).

    Testing

    • Added test_fbbs.pas — 32 tests for FILES.BBS create, add, search, multiple sequential adds, and file replacement. Specifically tests the FILES.$$0 rename that was failing in the field.
  • Well, if this doesn’t suck

    Well, I guess it was just a matter to time. Was contacted by an attorney today regarding the Allfix Branding. It seems there is someone out there that wants to get a trademark for the Allfix name. Granted, this is more then likely a Scam email, but the possibility of it happening at some point is a reality.

    If this were to go through, then we would be required to rename the product to avoid Trademark Infringement. I am currently looking into this, but I’m sure as all of you know, this is a hobby for me, and I do not make any money from the use of Allfix. In fact everything for Allfix comes out of my own pocket. The cost for the servers, maintenance and everything associated with the operation of it.

    So, I reached out to the attorney so that I can find out what would be required for us to get the trademark, as Allfix has been around since the 90’s, and have been established for that time. I know just the filing fees start at $350USD, plus then the costs of the trademark search itself and the other attorney fees with that.

    Stay tuned for updates as I get them.

  • Allfix 6.1.7-c8e7e18 (Development Build)

    This development build includes bug fixes for FILES.BBS handling, major code quality improvements, and expanded test coverage.

    Bug Fixes

    • Fixed FILES.BBS rename failure: When updating the file database, ALLFIX creates a temporary FILES.$$0 then renames it to FILES.BBS. If the rename failed, it was silently ignored — leaving FILES.$$0 behind and no FILES.BBS. Now retries up to 8 times with logging.
    • Fixed FILES.BBS not created when BBS area not configured: When a fileecho exists in ALLFIX but the BBS does not have a file area configured for the destination directory, ALLFIX now falls back to creating/updating a FILES.BBS in the fileecho’s destination directory. Previously it only logged a warning and the file listing was lost.

    Code Quality

    • Converted HandleMessage (snetmail.pas) to TAreaMgrHandler object — 40 nested procedures extracted to methods, 36 outer-scope variables promoted to fields.
    • Converted ManagerOBJ.Go (oopmgr.pas) — ~30 nested procedures extracted to object methods.
    • Fixed CP437 box-drawing character encoding in fixutil.pas statistics display.

    Testing

    • Added netmail WriteNetMail test with kludge line CR verification.
    • Added NormalExit code validation covering all 6 haltproc exit paths.
    • Expanded test Makefile: 20 test programs, ~1,670 tests total, 0 failures.
    • All 8 build targets compile clean.

    Packaging

    • Updated all FILE_ID.DIZ files to v6.1 with 2026 copyright.
    • Release packages now include TEMPLATE.ZIP (19 .APL template files) and WHATSNEW.LOG.
  • Allfix 6.1.6-df38108 (Development Build)

    This development build includes critical bug fixes reported by users testing the previous 6.1.6-a7f86c7 build on OS/2.

    Bug Fixes

    • Fixed BSY semaphore file not being deleted on exit (affects OS/2 and all FPC-compiled platforms). The cleanup code was guarded by a conditional that is not defined on OS/2 FPC builds, so the file-based semaphore was never removed.
    • Fixed free space check overflow causing files to be incorrectly tossed to the bad directory despite sufficient disk space. The DiskAvail function returned a 32-bit LongInt (max ~2 GB), so drives with more than 2 GB free would overflow and report insufficient space. Changed to 64-bit on all FPC platforms.
    • Improved logging when file database update fails — log messages now include the echo name and BBS file area path to help identify which areas are not configured on the BBS.

    Improvements

    • Added TSetupFile class for cleaner setup data file handling, replacing raw I/O in startup and asutil
    • Improved screen rendering performance in ASETUP
    • Updated documentation, help files, copyright, and contact information
  • Allfix 6.1.6-a7f86c7 (Development Build)

    Bug Fixes

    • Fixed Authorized Groups and file area selection not working (groups appeared empty and could not be toggled)
    • Fixed missing right border lines in the setup header and menu highlights
    • Fixed crash when adding the first group with no existing GRPFILE.FIX
    • Fixed WriteFast display corruption (off-by-one in screen writes)
    • Fixed MsgBox button highlight contrast in default color scheme
    • Fixed AFDIAG ZIP creation skipping directories

    Improvements

    • Tag/selection marker changed from * to √ checkmark
    • Added DosError checks to unchecked FindFirst calls
    • Replaced raw file I/O with new message base class handlers (MSG, JAM, Squish, Hudson, PCBoard, WildCat)
    • Added AFDIAG diagnostic and data scrub tool
    • Added AFTESTDATA test data generator for setup testing
  • Diagnostic Tool

    We built a diagnostic tool to help assist with the issues that may be happening with files.

    AFDIAG will make a afdiag folder, copy your data files into here, scrub all passwords, keys, email addresses, then create a zip file called afdiag.zip

    You can then email that zip file along with your bug submission to ken@blkdoor.com

  • 64Bit Windows Issues

    It has come to our attention that there is a issue with the 64 bit version of the program. The issue is with the program is that there is a pointer in the setup.fix file. The 64 bit setup file is 4 bytes larger and will display a error about wrong filesize if loading from one of the older 16/32 bit programs. I have removed the 64 bit version from the site until I can get this resolved. . We are actually working on a new structure for the data files that are more universal for all of the versions, and I might start implementing these now, as they will need to be in use for the Linux/FreeBSD versions anyway.

  • Allfix 6.1.5-4e774b7

    Here are the items for this release.

    • Switched to using the githash on the pre-releases to know better where a issue is, and if it’s been resolved.
    • Added support for Renegade BBS v1.35+
    • Added support for Remote Access 2.60
    • Add msg_goldbase.pas GoldBase message base handler, 221 tests
    • TGoldBase class handles QuickBBS 2.80 GoldBase message bases with widened types (LongInt MsgNum, Word Board/attrs, 500 max boards).
    • Replaces procedural PackGoldBase/ReIndexGoldBase in msgutil.pas, fixing bug where PackGoldBase called ReIndexHudson instead of ReIndexGoldBase.
    • Add Renegade 1.35+ BBS support as BBStype 33
    • New auto-add (bbs_renegade13x.pas)
    • Add ScanRenegade135 to fcomp.pas and BBStype 33 case entries to fbbs.pas.
    • Add RemoteAccess 2.60 BBS support as BBStype 34
    • RA 2.60 Y2K edition uses identical file database and area formats to RA 2.0x/2.5x, so BBStype 34 normalizes to 6 in fcomp.pas (same pattern as BBStype 15). Adds rastruct.260 with full Y2K structure definitions.

  • Allfix 6.1.4 Legacy

    ALLFIX 6.1.4 Legacy has been released with the following fixes:

    • Fix buffer overflow in snetmail.pas MoveFileAttaches: subject move() could write up to 256 bytes into 72-byte msg.subject array
    • Fix Delete() with pos=0 in CheckMessage: add guard before Delete() when Pos(#0,x) returns 0
    • Fix debug WriteLn statements removed from production build

    This update applies to the DOS, OS/2, and WildCat! 4 Legacy builds.

  • Allfix 6.1.4 FPC Version

    ALLFIX 6.1.4 FPC has been released. This is the FreePascal compiled version with the following changes:

    • Added Windows builds (Win32 and Win64) and WildCat! 4 support for all cross targets
    • Makefile: added target blocks for go32v2, os2, win32, win64 (was linux only)
    • Added WILDCAT=1 support for WildCat! 4 builds
    • B-Tree Filer: fixed Windows compilation by undefining WIN32/WIN64 in btdefine.inc
    • Fixed btfileio.pas FlushFileBuffers for Win64
    • Added build-cross-rtl.sh for building cross-compilation RTL and packages
    • Fixed snetmail.pas buffer overflow and CheckMessage Delete() bug

    Available for: DOS, DOS WC4, Win32, Win32 WC4, Win64, Win64 WC4, and OS/2.

  • Allfix 6.1.3

    ALLFIX 6.1.3 has been released. This clears up several issues and fixes:

    • Consolidated 5 include file variants into a single inc/include.inc
    • Fixed missing comma in autoadd.pas SearchLight ifdef uses clause
    • Updated CompDate timestamp in aftypes.pas
    • Replaced include.wc, include.os2, include.uni, and include.nor with a single unified include file
    • Added toggleable WILDCAT4 define for WildCat! builds

    Available for DOS and OS/2. WildCat! 4 build coming soon.

  • Update Feb 8

    Just a quick update on where we are sitting.

    Freepascal is now able to compile at least the Allfix Program for the following OS’s

    • DOS
    • OS/2
    • Windows Both 32 and 64 bit
    • Linux Both 32 and 64 bit

    Been working on the TUI programs, and almost complete with conversion with that.

    At the rate things are progressing, we would have some working releases in the next 1 to 2 weeks. Now this first set of releases will not have any new features or functions yet. This is just to get a working copy of the program running to do bug and regression testing to make sure we dont have any lingering issues. Once we know this is stable, then we can start working on adding the new BBS Systems, and updating features.

    We will create a new page that will have our milestones on it with what we are looking at fixing and enhancements and changes.

  • Update Jan 29th

    Well, we have been working on getting the updated code converted over. So far here is where we stand:

    • ❗ Allfix: Compiles, crashing
    • ❗ fixtil: Compiles, crashing
    • ❗ msgutil: Compiles, crashing
    • ❗ fcomp: Compiles, crashing.
    • ✅ Cookie: Compiles. Working.
    • ✅ Bake: Compiles. Working.
    • ✅ Scramble: Compiles. Working.
    • ✅ helpcomp: Compiles. Working (This just updates the help index for the documentation)

    The Graphical Programs

    • ❌ ASetup: Still working up updates.
    • ❌ Update: Still working up updates.
    • ❌ Hatch: Still working on updates:

    This is just to get compiled for DOS. Once these are working correctly, will post as a Gamma version. Those that wish to test can download them. I’m going to get a form created to track issues.

    Once we get these working, will begin the big update to start cleaning code up more, as these were considered Gamma/Beta versions. And, will be pulling out the messaging feature as we want to focus on the file processing more then the mail. This may be revisited at a later time.

    We have been getting record layouts/requests for some of the newer BBS’s so will be getting these added as well.

    • Renegade v1.35 (Thanks T.J)
    • Wildcat v5/WINS

    Will post another update soon!

  • It’s About Time

    I know it’s been a long time.. Way too long. Allfix is back in development again. Today we have placed online new versions of the DOS, OS/2 and Wildcat! v4 versions.

    Now that we have these being able to be compiled again, now we can work on bug fixes, and at the same time the re-coding for FreePascal. The only issue with this is the Wildcat! v4 Will not be able to be converted over. This is due to the fact they only produced library files for Borland Pascal. Because of this, some new features may not make it into the Wildcat Version. But, we are looking into supporting Wildcat! 5 WINS, and maybe others as well.

    We also have been getting record formats for newer BBS software, and will make sure we start getting these implemented as well.

  • Downloads Working Again

    We have fixed the download pages, and all downloads should be working again. Missing a couple of files, but in the process of hunting them down again.

  • ALLFIX.COM Down

    We have been made aware that the allfix.com domain is no longer pointing to anywhere. The official ALLFIX website is now allfix.app.

  • OS/2 Development

    I have my OS/2 environment set up and have begun making the changes needed to compile at least a version 6.1 to correspond to the DOS version that we have. Work has begun at least!!!

  • Website New Look

    We have a new look.

    We have upgraded the site to a little more updated look. Still working on some of the content (File Downloads still need work).

    Work is still progressing on the OS/2 Version (Just purchased 3 new servers. Dual 12 Core Xeon’s with 128 GB RAM for a small cluster backup). This will hold the new Virtual System used for Development and running the websites.

    We are also building up our old BBS (if we can find all of the backups. So far, just been installing from scratch.) I have been able to find all of my codes for Solar Realm’s Elite, Barron Realms Elite and Falcons Eye. Have also downloaded all of the old Sunrise Doors. Also found some of the old source code for our Doors we created way back when. Stay tuned for a URL to access all of these as well.

  • Some Good News: New Development

    I have been in the process of getting all new development workstations setup and configured. I have setup a new internal git repository to start
    keeping track of the code changes (have had a svn setup for a while without being touched in a long time) and I am working on getting a CI/CD
    setup going to help with testing and getting it deployed to the websites, and via Fidonet. I have been able to get a generic compile of the DOS code,
    and with setting up my old OS/2 system in Proxmox, I have been able to get a OS/2 version compiled. I will work on getting the updated OS/2 version online
    that removes all of the registration only functionality. Some code has been converted into Freepascal, getting away from the Turbo Pascal (DOS) and Virtual Pascal (OS/2) compilers.

    Stay Tuned for more as it progresses