zmuxuny opened a new pull request, #4523:
URL: https://github.com/apache/rocketmq-dashboard/pull/4523

   ### Which Issue(s) This PR Fixes
   
   - Fixes #4520
   
   ### Brief Description
   
   `NamesrvAddrParser.normalize` lowercased an entire bracketed IPv6 literal. 
For a scoped address such as `[FE80::1%ProdNIC]:9876`, that correctly 
normalized the hexadecimal address but also rewrote the named zone identifier 
to `prodnic`.
   
   Named IPv6 zone identifiers are interface identifiers rather than DNS names, 
so their spelling must be preserved. This change lowercases only the IPv6 
address portion before `%` and keeps the zone identifier unchanged.
   
   Existing DNS host normalization, unscoped IPv6 normalization, numeric scope 
ids, separators, ports, and validation semantics remain unchanged.
   
   ### Red / Green Verification
   
   Baseline: `master@987b748e8f4f421c5cd3c4c4e51a064cc7e59f18`.
   
   Fail-before, Java 21:
   - Added the named-zone parser regression to the unmodified baseline.
   - `NamesrvAddrParserTest`: **18 tests, exactly 1 failure**.
   - Expected `[fe80::1%ProdNIC]:9876`, but current master produced 
`[fe80::1%prodnic]:9876`.
   
   Green, Java 21:
   - `NamesrvAddrParserTest,NameserverRegistryServiceTest`: **40/40 passed**, 0 
failures/errors.
   - Parser coverage includes named zones and numeric scope ids.
   - Registry coverage verifies both create and update preserve named-zone 
casing before persistence.
   - Checkstyle: **0 violations**.
   - `mvn -B -ntp -DskipTests package`: **BUILD SUCCESS**.
   - `git diff --check`: clean.
   
   ### Compatibility / Risk
   
   Only characters after the IPv6 `%` scope separator stop being lowercased. 
Unscoped IPv6 addresses continue to normalize to lowercase, numeric scope ids 
are unchanged, and non-IPv6 host normalization is untouched.
   
   No API, schema, dependency, or frontend changes.
   
   AI-assisted source audit, implementation and regression authoring; 
fail-before and green verification were executed locally against the stated 
baseline.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to