Skip to content

Combine server host and port with strict IPv6 endpoint parsing - #3062

Merged
madeye merged 1 commit into
masterfrom
feature/server-endpoints
Sep 12, 2026
Merged

Combine server host and port with strict IPv6 endpoint parsing#3062
madeye merged 1 commit into
masterfrom
feature/server-endpoints

Conversation

@madeye

@madeye madeye commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Clients now accept --server example.com:8388 and --server '[2001:db8::1]:8388' without a separate server-port flag. Repeated endpoints retain their individual ports; legacy -s HOST -p PORT and configured fallback ports remain supported.

The CLI parser validates brackets, IPv6 literals and scope IDs, and ports from 1 to 65535. Bare IPv6 is always treated as a host, never split at its last colon. Embedded ports override fallback ports regardless of option order. SIP003 rejects endpoints with conflicting ports because its interface exposes a single remote port.

Updated help, Doxygen documentation, parser/CLI regression tests, and the relay stress test to use combined endpoints.

Validation:

  • Local build, 36 CTest tests, 131 ss-setup assertions, actionlint, pinned Ruff, and whitespace checks.
  • Three-cipher relay stress tests with 10 MB transfers using combined endpoints; IPv6 loopback relay also verified.
  • Ten documentation regression tests, Doxygen HTML/man builds, and rendered/source consistency checks.

@madeye
madeye merged commit d52ddf2 into master Sep 12, 2026
27 checks passed
@madeye
madeye deleted the feature/server-endpoints branch September 13, 2026 03:19
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