https://gitlab.synchro.net/main/sbbs/-/commit/6afdd20feabc24162d9e7086
Modified Files:
src/ssh/TODO.md deucessh-auth.h server.c ssh-auth.c ssh-internal.h ssh.c
Log Message:
Add dssh_auth_set_banner() API; sarcastic example server
New public API: dssh_auth_set_banner(sess, message, language)
queues a banner to be sent before the next auth response.
Callbacks can set new banners dynamically. NULL message cancels.
Empty message rejected with DSSH_ERROR_INVALID per RFC 4252 s5.4.
Banners flushed in send_auth_success and send_auth_failure,
and at the top of the auth loop (for the initial pre-auth banner).
Pending banner freed on session cleanup.
Example server enhancements:
- Welcome banner before auth
- Sarcastic per-callback banners showing username/password/key info
- 75% random auth rejection with 16 quips
- publickey auth support with same rejection odds
- Debug, unimplemented, and global request callbacks registered
- Banner logging via set_banner() helper
- All session callbacks now wired up
TODO: note auth/client/pw_changereq_send_fail timing flake.
Co-Authored-By: Claude Opus 4.6 (1M context) <
noreply@anthropic.com>
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net