[ 
https://issues.apache.org/jira/browse/HDDS-15778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18108724#comment-18108724
 ] 

Dian-Xuan Yang commented on HDDS-15778:
---------------------------------------

Hello! I would like to work on this issue!

Since the description covers multiple distinct changes, I plan to keep this as 
the parent issue and split the implementation into two sub-tasks to make the 
review process smoother:

*Sub-task 1: Construct listeners from separate host and port values*
Setting a bind-host to an IPv6 literal (like `::`) currently fails at startup 
due to string concatenation issues. I will update the affected methods across 
`HddsUtils`, `HddsServerUtil`, `ScmUtils`, `BaseHttpServer`, and `OmUtils` to 
use the bracket-aware `HddsUtils.getHostPortString`. I will also add unit 
tests. IPv4 and DNS defaults will remain unchanged.

*Sub-task 2: Validate advertised addresses before startup/registration*
I will implement validation to reject wildcard, link-local, and scoped IPv6 
addresses for advertised endpoints using existing predicates. 

*(Note: OS-specific address family verification and user documentation are out 
of scope here and belong in HDDS-15779 and HDDS-15780 respectively.)*

> Support explicit IPv6 listeners and advertised-address validation
> -----------------------------------------------------------------
>
>                 Key: HDDS-15778
>                 URL: https://issues.apache.org/jira/browse/HDDS-15778
>             Project: Apache Ozone
>          Issue Type: Task
>            Reporter: Siyao Meng
>            Priority: Major
>
> Existing IPv4 listener defaults must remain unchanged. Ozone must allow 
> operators to opt into IPv6 listeners without treating a successful IPv6 bind 
> as proof of IPv4 reachability.
> Requirements:
> * Preserve the existing IPv4 defaults, including 0.0.0.0.
> * Accept DNS names, IPv4 literals, IPv6 literals, and :: in the applicable 
> bind-host settings.
> * Cover SCM, OM, datanode, Recon, S3 Gateway, HTTPFS Gateway, HTTP/HTTPS, 
> gRPC, and Ratis listeners.
> * Construct listeners from separate host and port values.
> * Keep bind addresses separate from advertised peer and client addresses.
> * Reject wildcard, link-local, and scoped IPv6 addresses in 
> advertised-endpoint settings.
> * Reject invalid advertised addresses before startup, registration, or 
> publication.
> * Verify the address families accepted by :: on each supported operating 
> system; do not assume dual-stack behavior.
> * Add component tests for listener construction and advertised-address 
> validation.
> Operator guidance is tracked by HDDS-15780.
> Parent epic: HDDS-15763.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to