[#98645] [Ruby master Misc#16933] DevelopersMeeting20200618Japan — mame@...

Issue #16933 has been reported by mame (Yusuke Endoh).

14 messages 2020/06/04

[#98663] [Ruby master Bug#16936] `make check TESTS="-n !/Foo#method/"` not skipping the test case — jaruga@...

Issue #16936 has been reported by jaruga (Jun Aruga).

13 messages 2020/06/05

[#98772] [Ruby master Bug#16959] Weakmap has specs and third-party usage despite being a private API — headius@...

Issue #16959 has been reported by headius (Charles Nutter).

13 messages 2020/06/12

[#98826] [Ruby master Feature#16963] Remove English.rb from Ruby 2.8/3.0 — hsbt@...

Issue #16963 has been reported by hsbt (Hiroshi SHIBATA).

9 messages 2020/06/16

[#98920] [Ruby master Bug#16978] Ruby should not use realpath for __FILE__ — v.ondruch@...

Issue #16978 has been reported by vo.x (Vit Ondruch).

24 messages 2020/06/23

[#98947] [Ruby master Feature#16986] Anonymous Struct literal — ko1@...

Issue #16986 has been reported by ko1 (Koichi Sasada).

66 messages 2020/06/26

[#98964] [Ruby master Feature#16989] Sets: need ♥️ — marcandre-ruby-core@...

Issue #16989 has been reported by marcandre (Marc-Andre Lafortune).

33 messages 2020/06/26

[#98965] [Ruby master Feature#16990] Sets: operators compatibility with Array — marcandre-ruby-core@...

Issue #16990 has been reported by marcandre (Marc-Andre Lafortune).

11 messages 2020/06/26

[#98968] [Ruby master Feature#16993] Sets: from hash keys using Hash#key_set — marcandre-ruby-core@...

Issue #16993 has been reported by marcandre (Marc-Andre Lafortune).

10 messages 2020/06/26

[#98997] [Ruby master Feature#17000] 2.7.2 turns off deprecation warnings by deafult — mame@...

Issue #17000 has been reported by mame (Yusuke Endoh).

16 messages 2020/06/30

[ruby-core:98627] [Ruby master Feature#10911] IPAddr.new should ignore zone identifiers

From: merch-redmine@...
Date: 2020-06-02 17:13:49 UTC
List: ruby-core #98627
Issue #10911 has been updated by jeremyevans0 (Jeremy Evans).


jeremyevans0 (Jeremy Evans) wrote in #note-4:
> Dan0042 (Daniel DeLorme) wrote:
> > So "fe80::1%fxp0" is not even recognized as an IP address. This could result in unpleasantness in cases like this:
> > 
> > ```ruby
> > str = "fe80::1%fxp0"
> > ip = IPAddr.new(str) rescue nil   #validate IP address
> > TCPSocket.new(ip.to_s, 42) if ip  #and connect
> > ```
> 
> Good point.  We would probably want to fix socket to support this before adding support to ipaddr.

It turns out that the socket library already supports this, at least on my operating system (and I would guess other operating systems supporting IPv6 zone identifiers).  If I get the IPv6 loopback address with the zone identifier, and use `nc` to create a listening socket:

```
$ ifconfig lo0 | fgrep fe80
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
$ nc -l fe80::1%lo0 1042
```

I can use that address with Ruby to write to it, as well as get the addrinfo:

```ruby
require 'socket'
t = TCPSocket.new("fe80::1%lo0", 1042)
t.write("foo\n")
t.close

Socket.getaddrinfo("fe80::1%lo0", nil)
# => [["AF_INET6", 0, "fe80::1%lo0", "fe80::1%lo0", 24, 2, 17], ["AF_INET6", 0, "fe80::1%lo0", "fe80::1%lo0", 24, 1, 6]]
```

And `foo` gets printed to the stdout of the `nc` process. I've tested and this works back to Ruby 1.8.

So I don't think we need changes to socket, and I think it we should apply the patch to ipaddr (it still applies without conflicts).

----------------------------------------
Feature #10911: IPAddr.new should ignore zone identifiers
https://bugs.ruby-lang.org/issues/10911#change-85951

* Author: postmodern (Hal Brodigan)
* Status: Assigned
* Priority: Normal
* Assignee: knu (Akinori MUSHA)
----------------------------------------
Link local IPv6 addresses may have a zone identifier suffix:

    fe80::1%lo0

IPAddr.new currently does not ignore the zone identifier and raises IPAddr::InvalidAddressError.

---Files--------------------------------
ipaddr-ipv6-zone-id-10911.patch (5.17 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next