[pull] master from jquast:master#13
Merged
pull[bot] merged 3 commits intothreatcode:masterfrom Feb 15, 2026
Merged
Conversation
- **change**: `telnetlib3-client` now defaults to raw terminal mode (no line buffering, no local echo), which is correct for most servers. Use `--line-mode` to restore line-buffered local-echo behavior. - **change**: `telnetlib3-server --pty-exec` now defaults to raw PTY mode. Use `--line-mode` to restore cooked PTY mode with echo. - **change**: `connect_minwait` default reduced to 0 across `BaseClient`, `open_connection()`, and `telnetlib3-client`. Negotiation continues asynchronously. Use `--connect-minwait` to restore a delay if needed, or use `TelnetWriter.wait_for()` in server or client shells to await a specific negotiation state. - **new**: Color, keyboard input translation and `--encoding` support for ATASCII (ATARI ASCII) and PETSCII (Commodore ASCII). - **new**: SyncTERM/CTerm font selection sequence detection (`CSI Ps1 ; Ps2 SP D`). Both `telnetlib3-fingerprint` and `telnetlib3-client` detect font switching and auto-switch encoding to the matching codec (e.g. font 36 = ATASCII, 32-35 = PETSCII, 0 = CP437). Explicit `--encoding` takes precedence. - **new**: `TRACE` log level (5, below `DEBUG`) with hexdump style output for all sent and received bytes. Use `--loglevel=trace`. - **bugfix**: `robot_check()` now uses a narrow character (space) instead of a wide Unicode character, allowing retro terminal emulators to pass. - **bugfix**: ATASCII codec now maps bytes 0x0D and 0x0A to CR and LF instead of graphics characters, fixing garbled output when connecting to Atari BBS systems. - **bugfix**: ATASCII codec normalizes CR and CRLF to the native ATASCII EOL (0x9B) during encoding, so the Return key works correctly. - **bugfix**: PETSCII bare CR (0x0D) is now normalized to CRLF in raw terminal mode and to LF in `telnetlib3-fingerprint` banners. - **bugfix**: `telnetlib3-fingerprint` re-encodes prompt responses for retro encodings so servers receive the correct EOL byte. - **bugfix**: `telnetlib3-fingerprint` no longer crashes with `LookupError` when the server negotiates an unknown charset. Banner formatting falls back to `latin-1`. - **bugfix**: `TelnetClient.send_charset()` normalises non-standard encoding names (`iso-8859-02` to `iso-8859-2`, `cp-1250` to `cp1250`, etc.). - **enhancement**: `telnetlib3-fingerprint` responds more like a terminal and to more y/n prompts about colors, encoding, etc. to collect more banners for the https://bbs.modem.xyz/ project. - **enhancement**: `telnetlib3-fingerprint` banner formatting uses `surrogateescape` error handler, preserving raw high bytes (e.g. CP437 art) as surrogates instead of replacing them with U+FFFD.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )