• src/ssh/deucessh-algorithms.h deucessh-arch.h deucessh-auth.h deucessh

    From Deucе@VERT to Git commit to main/sbbs/master on Sun Mar 22 12:49:35 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/2f29f6b1ebb87c6194d5183f
    Added Files:
    src/ssh/deucessh-algorithms.h deucessh-arch.h deucessh-auth.h deucessh-conn.h deucessh-portable.h ssh-internal.h
    Modified Files:
    src/ssh/README.md api-design-4254.md audit-4250.md audit-4251.md audit-4252.md audit-4253.md audit-4254.md client.c src/ssh/comp/none.c none.h src/ssh/deucessh.h src/ssh/enc/aes256-ctr.c aes256-ctr.h none.c none.h src/ssh/kex/curve25519-sha256.c curve25519-sha256.h dh-gex-sha256.c dh-gex-sha256.h src/ssh/key_algo/rsa-sha2-256.c rsa-sha2-256.h ssh-ed25519.c ssh-ed25519.h src/ssh/mac/hmac-sha2-256.c hmac-sha2-256.h none.c none.h src/ssh/server.c ssh-arch.c ssh-auth.c ssh-chan.c ssh-chan.h ssh-conn.c ssh-trans.c ssh-trans.h ssh.c
    Removed Files:
    src/ssh/portable.h ssh-arch.h ssh-conn.h
    Log Message:
    DeuceSSH: opaque session/channel handles, rename public API to dssh_/DSSH_

    Make both dssh_session and dssh_channel opaque pointers — struct
    definitions move to ssh-internal.h, invisible to consumers. Public
    headers contain no <threads.h>, <stdatomic.h>, or struct internals.

    Session API changes:
    - dssh_session_init(client, max_packet_size) allocates and returns
    an opaque handle (NULL on failure)
    - dssh_session_cleanup() frees the session
    - dssh_session_is_terminated() replaces direct terminate flag access
    - dssh_session_set_cbdata/debug_cb/banner_cb/etc. replace direct
    struct member access
    - I/O callbacks receive dssh_session handle instead of atomic_bool*

    Channel API changes:
    - Open/accept functions return dssh_channel (NULL on failure)
    - Close functions free the channel

    Header consolidation:
    - 10 per-algorithm headers consolidated into deucessh-algorithms.h
    - All public headers renamed to deucessh-*.h prefix
    - Consumer includes just 4 headers: deucessh.h, deucessh-auth.h,
    deucessh-conn.h, deucessh-algorithms.h

    Symbol prefix shortened: deuce_ssh_/DEUCE_SSH_ -> dssh_/DSSH_

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

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