Skip to content

Redesign CLI flags, help, and argument validation - #3061

Merged
madeye merged 1 commit into
masterfrom
feature/redesigned-cli
Sep 12, 2026
Merged

Redesign CLI flags, help, and argument validation#3061
madeye merged 1 commit into
masterfrom
feature/redesigned-cli

Conversation

@madeye

@madeye madeye commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

The five C CLI programs now expose descriptive, role-specific long flags such as --server-port, --listen-port, and --destination, while retaining working short aliases. Help is grouped by purpose and includes --version.

Explicit transport and address-family flags override configuration, with the last flag winning: for example, --tcp-only --ipv4-first overrides a UDP-only, IPv6-first configuration. Invalid options, missing arguments, invalid numeric values, and positional arguments return status 2 with diagnostics on stderr that omit argument values. Previously ignored server/manager -l is now rejected. Doxygen HTML and man-page sources document the new interface and compatibility details.

Validation on macOS after rebasing onto current master:

  • Build and all 36 CTest tests, including CLI subprocess and live configuration-override tests.
  • 131 ss-setup assertions and 10 MB relay stress tests across three ciphers.
  • actionlint, pinned Ruff checks, and whitespace checks.
  • 10 documentation regression tests, Doxygen HTML/man builds, and source/rendered documentation consistency checks.

@madeye
madeye merged commit 243f1f9 into master Sep 12, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant