TNT/include
m1ngsama 7f9babf4f4 refactor: extract exec module (PR2-M2)
Move the SSH exec subcommand interface (help, health, users, stats,
tail, post) and the dispatcher out of ssh_server.c into a dedicated
module.

New API (include/exec.h):
- exec_dispatch(client_t *)  -- single entry point invoked from the
  bootstrap path when client->exec_command[0] != '\0'.

Helpers that travel with the exec subcommands:
- format_timestamp_utc, trim_ascii_whitespace, json_append_string,
  resolve_exec_username, parse_tail_count

Two cross-module bridges:
- is_valid_username() lifted into common.c/h since exec, the input
  read path, and the :nick command all need it.
- ssh_server_start_time() added to ssh_server.h as a read-only
  accessor; exec_command_stats no longer reaches into the global.
- notify_mentions stays in ssh_server.c for now and is exposed via
  ssh_server.h.  Will move to a dedicated client.c during PR2-M6.

ssh_server.c shrinks from 2200 to 1769 lines (-431).
Behaviour is preserved: implementations are byte-for-byte the same.
2026-05-17 08:49:58 +08:00
..
.gitkeep Initial commit 2025-07-01 09:00:00 +08:00
chat_room.h feat: consolidated improvements, manpage, and deployment prep 2026-04-19 17:49:06 +08:00
common.h refactor: extract exec module (PR2-M2) 2026-05-17 08:49:58 +08:00
exec.h refactor: extract exec module (PR2-M2) 2026-05-17 08:49:58 +08:00
message.h feat: add :last, :search, :mute-joins commands and MOTD support 2026-04-23 12:03:27 +08:00
ratelimit.h refactor: extract ratelimit module (PR2-M1) 2026-05-16 23:06:56 +08:00
ssh_server.h refactor: extract exec module (PR2-M2) 2026-05-17 08:49:58 +08:00
tui.h Replace telnet with SSH and fix full-screen display 2025-11-24 16:48:14 +08:00
utf8.h refactor: stabilize SSH runtime and add exec interface 2026-03-10 18:52:20 +08:00