__                 _ _                _
  / _| ___   ___   __| | |__   __ _ _ __| | __
 | |_ / _ \ / _ \ / _` | '_ \ / _` | '__| |/ /
 |  _| (_) | (_) | (_| | |_) | (_| | |  |   <
 |_|  \___/ \___/ \__,_|_.__/ \__,_|_|  |_|\_\

A personal BBS  ·  Missoula, Montana  ·  formerly NaClCON BBS

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • src/syncterm/ssh.h

    From Deucе@VERT to Git commit to main/sbbs/master on Sat May 2 16:26:41 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/830d29d7bfddf53ef01e0d70
    Modified Files:
    src/syncterm/ssh.h
    Log Message:
    SyncTERM: guard SFTP externs in ssh.h on WITHOUT_DEUCESSH

    The squash in 961d4d4631 moved the sftp_state / sftp_available
    externs (and the sftp.h include they need) from sftp_session.h
    into ssh.h. Worked fine in DeuceSSH builds but broke the no-SSH
    configuration: telnets.c includes ssh.h to reach init_crypt()
    and friends, and pulled in sftp.h transitively — but sftp.h
    isn't on the include path when the SFTP library isn't built.

    Wrap the sftp.h include and the two externs in
    `#ifndef WITHOUT_DEUCESSH`. Function declarations
    (init_crypt, ssh_connect, etc.) stay unguarded — telnets.c
    still calls those. stdatomic.h moves inside the same guard
    since only the _Atomic bool extern needed it.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net