quality: decompose server.c main() #324

Closed
opened 2026-09-23 02:10:50 +02:00 by TapTap · 1 comment
Owner

src/server/server.c:1302-1566 main() mixes CLI parsing, the standalone --hash-credentials mode, --stdio, daemon-config loading + credential validation, listener/TLS setup, and daemonization (265 lines).

Work: extract run_hash_credentials_tool(), run_stdio_server(), and run_daemon_server() (each <=60 lines); main becomes a dispatcher.

`src/server/server.c:1302-1566` `main()` mixes CLI parsing, the standalone `--hash-credentials` mode, `--stdio`, daemon-config loading + credential validation, listener/TLS setup, and daemonization (265 lines). **Work:** extract `run_hash_credentials_tool()`, `run_stdio_server()`, and `run_daemon_server()` (each <=60 lines); `main` becomes a dispatcher.
TapTap added the quality label 2026-09-23 02:10:50 +02:00
Author
Owner

Fixed in PR #329. server.c main() reduced from 265 to 27 lines as a dispatcher over configure_server_process/run_hash_credentials_tool/run_stdio_server/run_daemon_server/load_daemon_policy/validate_daemon_credentials/create_daemon_limits/start_listener; exit codes, output, and fail-closed behavior unchanged, with previously-leaked globals now freed on error paths. Closing as completed.

Fixed in PR #329. `server.c` `main()` reduced from 265 to 27 lines as a dispatcher over `configure_server_process`/`run_hash_credentials_tool`/`run_stdio_server`/`run_daemon_server`/`load_daemon_policy`/`validate_daemon_credentials`/`create_daemon_limits`/`start_listener`; exit codes, output, and fail-closed behavior unchanged, with previously-leaked globals now freed on error paths. Closing as completed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: TapTap/FastSync#324