jokerzsd opened a new issue, #4520:
URL: https://github.com/apache/rocketmq-dashboard/issues/4520

   ### Bug
   On master 987b748e, NamesrvAddrParser.normalize lowercases the entire 
bracketed IPv6 literal, including its named zone identifier. For example, 
`[FE80::1%ProdNIC]:9876` becomes `[fe80::1%prodnic]:9876`.
   
   The hex address is case-insensitive, but the zone name is an interface 
identifier, not a DNS name. Java requires the exact string returned by 
NetworkInterface.getName() for a named IPv6 scope: 
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/net/Inet6Address.html#scoped
 . Rewriting it can make the persisted endpoint refer to a different or 
nonexistent interface.
   
   Both create and update in NameserverRegistryService call this normalizer 
before saving the endpoint.
   
   ### Reproduction
   Call NamesrvAddrParser.normalize("[FE80::1%ProdNIC]:9876"). Expected 
`[fe80::1%ProdNIC]:9876`; current result is `[fe80::1%prodnic]:9876`. This is a 
deterministic normalization problem; reproducing the wrong string does not 
require an interface with that name.
   
   ### Proposed scope
   Lowercase the IPv6 address portion only; preserve everything from `%` 
onward. Keep numeric scope ids, unscoped IPv6, DNS normalization, separator 
normalization and existing validation behavior unchanged. Add parser and 
registry regression coverage.
   
   ### Duplicate search
   Checked all PR states for NamesrvAddrParser, IPv6 scope/zone, and NameServer 
normalization. Inspected #2745, #2869, #4154 and the DNS normalization work 
#2465/#2469. Those address literal validity, DNS casing or frontend preflight, 
not preserving named IPv6 scope casing.
   
   AI-assisted source analysis. Runtime checks for the parser and registry are 
being prepared; this report does not claim a live IPv6 broker test.


-- 
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