Files
comet/src
Ken Johnson dcbc03e52b
All checks were successful
Build and Release / build-and-release (push) Successful in 20s
BinkP: fix multi-file transfer, add SentFiles tracking, showkey cmd
Multi-file transfer fix (matches binkd sent_fls):
- After sending all data for a file, close immediately and add to
  SentFiles tracking list instead of blocking on M_GOT. Next file
  starts sending right away — no serial waiting.
- M_GOT/M_SKIP now match against SentFiles by filename, not the
  current TxFile (which may already be on the next file).
- EOB only sent when send queue empty AND all SentFiles confirmed.
- SessionDone checks SentFiles is empty.
- Fixes bidirectional multi-file sessions that were losing files
  because M_FILE for the next file arrived before previous file's
  data was fully transmitted.

M_FILE receive handler (matches Argus bdrxReceData M_FILE):
- When new M_FILE arrives while receiving, finalize current file
  if data is complete (send M_GOT), or skip if incomplete.
- Previously always skipped, discarding completed files.

Other changes:
- Add 'showkey' command: prints public key from configured private key
- Update keygen: show PublicKey as config comment (not parsed at system level)
- Replace daemon Sleep(100) with select() on listener socket
- Strip trailing NUL bytes from BinkP args (Argus FormatBinkPMsg adds #0)

Tested: 5-node simultaneous bidirectional (45 files SHA256 verified),
Argus/Radius 4.010 interop (48 files inbound + 5 outbound), BinkIT/sbbs,
both BinkP CRAM-MD5+CRYPT and Comet ED25519+ChaCha20 protocols.
2026-04-09 08:08:34 -07:00
..