Version scheme: Major.Minor.Build-Revision.
BinkP gains every major Argus/binkd extension:
- PLZ (zlib) compression with adaptive block sizing (4KB→16KB)
- NR mode inbound resume via .bkp-part partials (FSP-1029)
- ND/NDA deferred cleanup: mid-session abort preserves outbound (FSP-1038)
- MBT multi-batch: FREQ response rides same session via second EOB
- M_NUL TRF traffic advisory and M_NUL FREQ (FRL-1026)
- M_NUL NDL/PHN info strings (new Phone, NodelistFlags config)
- RFC 2822 date format for M_NUL TIME
- Strict M_GET validation and duplicate-file pre-check
- TBinkpPostAuthCallback: host can route InboundDir before transfer
(models binkd select_inbound / complete_login)
- TCometBinkpResult: Authenticated / AuthMethod fields
Comet native extensions keep the protocol ahead of BinkP:
- INIT payload adds Location/Time/Phone/NodelistFlags (trailing
strings, backward-compatible)
- LST file listing: NPKT_LSTREQ/LSTITEM/LSTEND + COPT_LST
- Transactional file cleanup: destructive actions deferred until
successful session close (matches ND semantics)
- Shared CometRFCDateStr across protocols — no drift between
BinkP TIME and Comet INIT.Time
Daemon:
- BinkP inbound now starts unsecure and promotes to secure only
after auth (fixes pre-1.2.1 bug where SecInbound was selected
unconditionally).
TCometFileProvider: GetPartialSize and OpenForReceiveNamed for
NR partials; defaults preserve the random-temp scheme for
providers that don't track partials (Fastway plugin safe).
WebUI: /src/web/ + /src/webui/ backend, modeled after the Argus
GUI. Live session activity, outbound polls, FREQ requests,
nodelist, config editor, scheduler, SSE event stream.
- COMET.DOC: Added showkey to command reference. Added section 17.7
documenting CallNodeExternal API with code examples for both
simple (BSO) and host-provided (stream) modes. Updated changelog
with all v1.2 changes.
- COMET.SAM: Added showkey command, updated PrivateKey/PublicKey
comments to reflect keygen output format.
- README.md: Added showkey to quick start, updated tested-against
list with Argus, Fastway, BinkIT versions and auth methods.
- Version header updated to 1.2
- Added cometio.pas to source file listing
- Updated embedding example to show FileIO provider usage
- New section 17.5: File I/O Provider API reference
- New section 17.6: Custom file provider example
- Added v1.2 changelog entry
Updated COMET.DOC, COMET.QA, COMET.SAM to version 1.01 with changelog.
Fixed DOS build: removed StrUtils dependency, guarded SO_SNDBUF for
Watt-32, added IFDEF UNIX around CometTcpRecv EINTR retry loop for
Windows. Release archives and TIC files for all 5 platforms.
- Fix: encryption (X25519+ChaCha20) now requires ED25519 authentication.
Previously encryption activated whenever COPT_CRYPT was negotiated,
even with NOPWD/CRAM-MD5 — vulnerable to MITM.
- Add AuthMethod tracking (AUTH_ED25519/CRAM/NOPWD/PLAIN) to TCometSession
- Strip COPT_CRYPT from SharedCaps when auth != ED25519, communicated
via INITACK so both sides agree
- Remove plain text password support from Comet protocol (ED25519/CRAM/NOPWD only)
- NOPWD signaled via COPT_NOPWD capability flag, not password field
- Add log/event callback system for BBS embedding (cometlog.pas):
CometLogSetCallback() for log messages, CometLogSetEventCallback()
for structured session events (progress, file start/end, auth status)
- Wire progress events into both Comet and BinkP transfer loops (4/sec throttle)
- Document embedding API in COMET.DOC section 17