https://redmine.pfsense.org/https://redmine.pfsense.org/favicon.ico?16780521162022-06-29T07:50:42ZpfSense bugtrackerpfSense - Bug #13318: Neighbor hostnames in the NDP Table on ``diag_ndp.php`` are always emptyhttps://redmine.pfsense.org/issues/13318?journal_id=620142022-06-29T07:50:42ZJim Pingle
<ul><li><strong>Project</strong> changed from <i>pfSense Plus</i> to <i>pfSense</i></li><li><strong>Category</strong> changed from <i>Web Interface</i> to <i>Web Interface</i></li><li><strong>Assignee</strong> set to <i>Jim Pingle</i></li><li><strong>Target version</strong> set to <i>2.7.0</i></li><li><strong>Affected Plus Version</strong> deleted (<del><i>22.05</i></del>)</li><li><strong>Plus Target Version</strong> set to <i>22.11</i></li></ul><p>Looks like for some reason <code>_getHostName()</code> is forcing the DNS lookup to use <code>-6</code> when it shouldn't, as that controls how the DNS lookup is made to the DNS server, not the type of address being passed.</p>
<p>This seems to fix it for me:</p>
<pre><code class="php syntaxhl"><span class="n">diff</span> <span class="o">--</span><span class="n">git</span> <span class="n">a</span><span class="o">/</span><span class="n">src</span><span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">inc</span><span class="o">/</span><span class="n">system</span><span class="mf">.</span><span class="n">inc</span> <span class="n">b</span><span class="o">/</span><span class="n">src</span><span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">inc</span><span class="o">/</span><span class="n">system</span><span class="mf">.</span><span class="n">inc</span>
<span class="n">index</span> <span class="mo">07</span><span class="mi">9480</span><span class="n">c674</span><span class="mf">..28</span><span class="n">db31a88c</span> <span class="mi">100644</span>
<span class="o">---</span> <span class="n">a</span><span class="o">/</span><span class="n">src</span><span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">inc</span><span class="o">/</span><span class="n">system</span><span class="mf">.</span><span class="n">inc</span>
<span class="o">+++</span> <span class="n">b</span><span class="o">/</span><span class="n">src</span><span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">inc</span><span class="o">/</span><span class="n">system</span><span class="mf">.</span><span class="n">inc</span>
<span class="o">@@</span> <span class="o">-</span><span class="mi">2802</span><span class="p">,</span><span class="mi">8</span> <span class="o">+</span><span class="mi">2802</span><span class="p">,</span><span class="mi">7</span> <span class="o">@@</span> <span class="k">function</span> <span class="n">_getHostName</span><span class="p">(</span><span class="nv">$mac</span><span class="p">,</span> <span class="nv">$ip</span><span class="p">)</span> <span class="p">{</span>
<span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nv">$dhcpip</span><span class="p">[</span><span class="nv">$ip</span><span class="p">])</span> <span class="p">{</span>
<span class="k">return</span> <span class="nv">$dhcpip</span><span class="p">[</span><span class="nv">$ip</span><span class="p">];</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="o">-</span> <span class="nv">$ipproto</span> <span class="o">=</span> <span class="p">(</span><span class="nf">is_ipaddrv4</span><span class="p">(</span><span class="nv">$ip</span><span class="p">))</span> <span class="o">?</span> <span class="s1">'-4 '</span> <span class="o">:</span> <span class="s1">'-6 '</span><span class="p">;</span>
<span class="o">-</span> <span class="nb">exec</span><span class="p">(</span><span class="s2">"/usr/bin/host -W 1 "</span> <span class="mf">.</span> <span class="nv">$ipproto</span> <span class="mf">.</span> <span class="nb">escapeshellarg</span><span class="p">(</span><span class="nv">$ip</span><span class="p">),</span> <span class="nv">$output</span><span class="p">);</span>
<span class="o">+</span> <span class="nb">exec</span><span class="p">(</span><span class="s2">"/usr/bin/host -W 1 "</span> <span class="mf">.</span> <span class="nb">escapeshellarg</span><span class="p">(</span><span class="nv">$ip</span><span class="p">),</span> <span class="nv">$output</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nb">preg_match</span><span class="p">(</span><span class="s1">'/.*pointer ([A-Za-z_0-9.-]+)\..*/'</span><span class="p">,</span> <span class="nv">$output</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="nv">$matches</span><span class="p">))</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nv">$matches</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o"><></span> <span class="nv">$ip</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="nv">$matches</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
</code></pre>
<p>I need to look through the history and see why it was trying to pass -4 or -6, there may be some other case where that helps that I'm not seeing, or maybe it was an attempt to fix some other behavior that needs a different approach.</p> pfSense - Bug #13318: Neighbor hostnames in the NDP Table on ``diag_ndp.php`` are always emptyhttps://redmine.pfsense.org/issues/13318?journal_id=620162022-06-29T07:57:36ZJim Pingle
<ul></ul><p>Looking at <a class="issue tracker-8 status-5 priority-4 priority-default closed" title="Regression: DHCP Leases page and ARP table page fail to load if DNS is not available (Closed)" href="https://redmine.pfsense.org/issues/11512">#11512</a> and <a class="changeset" title="DNS check optimization for NDP diag page. Fixes #11512" href="https://redmine.pfsense.org/projects/pfsense/repository/2/revisions/aa1936eefc251b5330e7392f3b1fbc23a006a400">aa1936eefc251b5330e7392f3b1fbc23a006a400</a> where that was added, it isn't necessary. There is a place in another function where it was helpful when connecting to a specific DNS server, but this is not connecting to a specific DNS server, just trying to resolve a certain kind of address which doesn't require forcing the DNS request to use a specific address family. I'll commit the change above shortly.</p> pfSense - Bug #13318: Neighbor hostnames in the NDP Table on ``diag_ndp.php`` are always emptyhttps://redmine.pfsense.org/issues/13318?journal_id=620182022-06-29T08:10:09ZJim Pingle
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Feedback</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>Applied in changeset <a class="changeset" title="Don't force DNS to use 4/6 here. Fixes #13318 It's not trying to force communication with a spec..." href="https://redmine.pfsense.org/projects/pfsense/repository/2/revisions/8c9ab20efe61161e30fe215166d8573c801b947d">8c9ab20efe61161e30fe215166d8573c801b947d</a>.</p> pfSense - Bug #13318: Neighbor hostnames in the NDP Table on ``diag_ndp.php`` are always emptyhttps://redmine.pfsense.org/issues/13318?journal_id=620232022-06-29T12:16:25ZJohnPoz _
<ul><li><strong>File</strong> <a href="/attachments/4320">fixed.jpg</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/4320/fixed.jpg">fixed.jpg</a> added</li></ul><p>Jim - just to let you know, applied this and seems to be working now. Thanks for such a quick response!</p> pfSense - Bug #13318: Neighbor hostnames in the NDP Table on ``diag_ndp.php`` are always emptyhttps://redmine.pfsense.org/issues/13318?journal_id=620552022-07-02T02:57:23ZLev Prokofev
<ul><li><strong>File</strong> <a href="/attachments/4330">clipboard-202207021056-wabip.png</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/4330/clipboard-202207021056-wabip.png">clipboard-202207021056-wabip.png</a> added</li></ul><p>Seems it works.</p>
<p><img src="https://redmine.pfsense.org/attachments/download/4330/clipboard-202207021056-wabip.png" alt="" /></p> pfSense - Bug #13318: Neighbor hostnames in the NDP Table on ``diag_ndp.php`` are always emptyhttps://redmine.pfsense.org/issues/13318?journal_id=620832022-07-05T07:36:39ZJim Pingle
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Resolved</i></li></ul> pfSense - Bug #13318: Neighbor hostnames in the NDP Table on ``diag_ndp.php`` are always emptyhttps://redmine.pfsense.org/issues/13318?journal_id=631812022-10-11T14:41:00ZJim Pingle
<ul><li><strong>Plus Target Version</strong> changed from <i>22.11</i> to <i>23.01</i></li></ul> pfSense - Bug #13318: Neighbor hostnames in the NDP Table on ``diag_ndp.php`` are always emptyhttps://redmine.pfsense.org/issues/13318?journal_id=643602022-12-07T14:52:28ZJim Pingle
<ul><li><strong>Subject</strong> changed from <i>NDP Table not showing hostname</i> to <i>Neighbor hostnames in the NDP Table on ``diag_ndp.php`` are always empty</i></li><li><strong>Category</strong> changed from <i>Web Interface</i> to <i>Diagnostics</i></li></ul><p>Updating subject for release notes.</p>