From: nov@... Date: 2021-01-10T09:31:18+00:00 Subject: [ruby-core:101997] [Ruby master Feature#17524] resolv: add some more characters in IPv6 link local zone id Issue #17524 has been updated by no6v (Nobuhiro IMAI). Thanks for your comment and pull request. That is what I expected. I'm looking forward it to be merged. ---------------------------------------- Feature #17524: resolv: add some more characters in IPv6 link local zone id https://bugs.ruby-lang.org/issues/17524#change-89846 * Author: no6v (Nobuhiro IMAI) * Status: Assigned * Priority: Normal * Assignee: akr (Akira Tanaka) ---------------------------------------- According to [RFC6874](https://tools.ietf.org/html/rfc6874#section-2), IPv6 link local zone id is: ``` ZoneID = 1*( unreserved / pct-encoded ) ``` where `unreserved` in [RFC3986](https://tools.ietf.org/html/rfc3986#section-2.3) is as follow. ``` unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" ``` Actually, `docker` can create such an interface. ```sh $ docker network create --ipv6 --subnet fe80::/64 --opt com.docker.network.bridge.name=ruby_3.0.0-1 ruby $ ruby -rsocket -e 'p Socket.ip_address_list.last' # ``` This makes `TestResolvAddr#test_valid_socket_ip_address_list` failure. Supporting a `pct-encoded` may be overwork, but adding the all of `unreserved` to * `Resolv::IPv6::Regex_8HexLinkLocal` and * `Resolv::IPv6::Regex_CompressedHexLinkLocal` sounds reasonable for me. What do you think? -- https://bugs.ruby-lang.org/ Unsubscribe: