Skip to content

AOL callers: play the client's network, then join the line to the AOL host - #16

Merged
Neo-Desktop merged 1 commit into
mainfrom
claude/project-thread-2u91ij
Nov 9, 2026
Merged

Neo-Desktop merged 1 commit into
mainfrom
claude/project-thread-2u91ij

Conversation

@Neo-Desktop

Copy link
Copy Markdown
Collaborator

🤖 Generated with Claude Code

https://claude.ai/code/session_01B82eRRm1WrfJdB863kw36V

What this adds

The classic AOL client (2.5 to 4.0) never types at a login prompt. Its CCL script answers the prompts of a network (AOLnet, SprintNet or Tymnet) and then speaks P3. With [aol] enabled = yes, modemmenu plays that network, then pipes the line to [aol] host, which is D-Modem/bbs's AOL front end. There the caller signs on with their BBS account.

What modemmenu does for each network, using the strings AOL 3.0's own AOLNET.CCL, SPRINT.CCL and TYMNET.CCL wait for:

Network Script modemmenu
AOLnet waits for UQKT1, answers aol says UQKT1 before the first login prompt, then CONNECTED
SprintNet sends @D TERMINAL=, @, answers par? 11 with 11:14, answers C <addr> with <addr> CONNECTED
Tymnet sends A with no line end PLEASE LOG IN:, +, CALL CONNECTED
P3 a script that starts P3 at once joins the line at the first packet (0x5A)

Recognising the client at the login prompt:

  • The Tymnet A and a P3 packet are spotted before a name is read, the same way AutoPPP spots a PPP frame. A lone A counts only if nothing follows it within 1.5s, so a person typing a name that starts with A still logs in.
  • The AOLnet and SprintNet answers (aol, @D) are recognised as names.

Also:

  • Settings: host, networks, aolnet_prompt and sprintnet_speed. These are in the sample config and the regenerated reference, and there is a new docs page, docs/aol.md.
  • Tests: TestAOLLine runs each network's dialogue on a pty against a stand-in host, plus a person whose name starts with A. TestAOLSettings covers the settings.

Not yet tried with a real AOL client over a modem.


Generated by Claude Code

… host

The classic AOL client's CCL script answers a network's prompts before it
speaks P3. With [aol] enabled, modemmenu plays AOLnet (UQKT1, aol,
CONNECTED), SprintNet (@d, TERMINAL=, D1, @, par? 11, C address,
CONNECTED) or Tymnet (A, LOG IN:, +, CALL CONNECTED), as AOL 3.0's own
AOLNET.CCL, SPRINT.CCL and TYMNET.CCL wait for them, or takes P3 at
once, then pipes the line to [aol] host (the BBS's AOL front end).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B82eRRm1WrfJdB863kw36V
Signed-off-by: Claude <noreply@anthropic.com>
@Neo-Desktop
Neo-Desktop force-pushed the claude/project-thread-2u91ij branch from 7ed6d23 to adffdad Compare November 9, 2026 05:20

Copy link
Copy Markdown
Collaborator Author

The bbs job failed in bbs's own internal/msn TestIRC, waiting for "RNG ". That's a timing race in that test: Carol writes before the server has handled alice's switchboard OUT. It isn't caused by this PR. It passes when run alone, and I reproduced it once in a full local run against bbs main. The test fix is in a bbs PR. I'll re-run this job once that's merged.


Generated by Claude Code

@Neo-Desktop
Neo-Desktop merged commit c79a38f into main Nov 9, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants