https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112015-11-09T08:52:16ZRuby Issue Tracking SystemRuby master - Feature #11666: IPAddr#private?https://bugs.ruby-lang.org/issues/11666?journal_id=547772015-11-09T08:52:16Zmatz (Yukihiro Matsumoto)matz@ruby.or.jp
<ul></ul><p>Accepted. But we have naming issue. <code>private?</code> or <code>private_addr?</code> or something else?<br>
Any comments?</p>
<p>Matz.</p> Ruby master - Feature #11666: IPAddr#private?https://bugs.ruby-lang.org/issues/11666?journal_id=548552015-11-15T08:27:02ZGlass_saga (Masaki Matsushita)glass.saga@gmail.com
<ul></ul><p>I think private? is better than private_addr? because private_addr? seems to be redundant in following code:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="no">IPAddr</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="s2">"192.168.1.1"</span><span class="p">).</span><span class="nf">private_addr?</span>
</code></pre> Ruby master - Feature #11666: IPAddr#private?https://bugs.ruby-lang.org/issues/11666?journal_id=569982016-02-16T06:33:00Znaruse (Yui NARUSE)naruse@airemix.jp
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Assigned</i></li><li><strong>Assignee</strong> changed from <i>Glass_saga (Masaki Matsushita)</i> to <i>knu (Akinori MUSHA)</i></li></ul><p>The maintainer is knu.</p>
<ul>
<li>feature issues
<ul>
<li>conflict with private visibility
<ul>
<li>“private?” is different from visivility</li>
</ul>
</li>
<li>Behavior when address family is IPv6
<ul>
<li>nil? false?</li>
<li>or treat link-local, site-local (deprecated), unique-local as true?</li>
</ul>
</li>
<li>Naming differencies with Addrinfo</li>
</ul>
</li>
<li>The name “ipv4_private?” is clear that the method returns false on IPv6 addresses.</li>
</ul> Ruby master - Feature #11666: IPAddr#private?https://bugs.ruby-lang.org/issues/11666?journal_id=571662016-02-26T22:20:51Zherwin (Herwin W)
<ul></ul><p>IPv6 has a private range too: d00::/8 (RFC 4193)</p>
<p>Also, there are more IP ranges that have been reserved for special use (there's an overview on <a href="https://en.wikipedia.org/wiki/Reserved_IP_addresses" class="external">https://en.wikipedia.org/wiki/Reserved_IP_addresses</a>). I think it would be better to make 1 method that can return a pre-defined symbol of that range if the IP address is in that range. Otherwise, there would be an explosion in the number of IP addresses.</p> Ruby master - Feature #11666: IPAddr#private?https://bugs.ruby-lang.org/issues/11666?journal_id=572522016-03-03T06:22:46Zshyouhei (Shyouhei Urabe)shyouhei@ruby-lang.org
<ul></ul><p>As far as I understand RFC4193 never defines its range being "private". There also are other private-ish address ranges e.g. fd00::/8. And what about v4-mapped v6 addresses? IPv6's situation is complicated (at least to me). I'd suggest OP to leave IPv6 situations untouched.</p> Ruby master - Feature #11666: IPAddr#private?https://bugs.ruby-lang.org/issues/11666?journal_id=617652016-11-27T11:47:33Zshyouhei (Shyouhei Urabe)shyouhei@ruby-lang.org
<ul><li><strong>Has duplicate</strong> <i><a class="issue tracker-2 status-5 priority-4 priority-default closed" href="/issues/10912">Feature #10912</a>: Add method(s) to IPAddr for determining whether an address is link local</i> added</li></ul> Ruby master - Feature #11666: IPAddr#private?https://bugs.ruby-lang.org/issues/11666?journal_id=674532017-10-21T13:34:30Zknu (Akinori MUSHA)knu@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li></ul><p>Applied in changeset trunk|r60270.</p>
<hr>
<p>Import ipaddr 1.2.0</p>
<ul>
<li>Add IPAddr#prefix</li>
<li>Add IPAddr#loopback?</li>
<li>Add IPAddr#private? [Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: IPAddr#private? (Closed)" href="https://bugs.ruby-lang.org/issues/11666">#11666</a>]</li>
<li>Add IPAddr#link_local? [Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Add method(s) to IPAddr for determining whether an address is link local (Closed)" href="https://bugs.ruby-lang.org/issues/10912">#10912</a>]</li>
<li>Reject invalid address mask [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: IPAddr accepts invalid address mask (Closed)" href="https://bugs.ruby-lang.org/issues/13399">#13399</a>]</li>
<li>Warn that IPAddr#ipv4_compat and #ipv4_compat? are deprecated [#Bug 13769]</li>
</ul> Ruby master - Feature #11666: IPAddr#private?https://bugs.ruby-lang.org/issues/11666?journal_id=674562017-10-21T13:35:40Zknu (Akinori MUSHA)knu@ruby-lang.org
<ul></ul><p>Added, thanks for the suggestion.</p>