Hack WHOIS lib to implement a 5-second timeout on DNS resolution.
[selectricity-live] / app / views / quickvote / list_voters.rhtml
index 695794fc3f536d4776897b845b0460b548ba4086..be11290b444cad0bb0bbb0258b4e264bb60343ee 100644 (file)
@@ -1,5 +1,5 @@
 <%= GMap.header %> 
-
+<%require('whois/whois') %>
 <div id="title-header">
     <span class="header">Quickvote</span>
       <span class="subheader">Voters</span>
             if Cache and w=Cache.get("WHOIS:#{voter.ipaddress}")
             elsif Cache
               puts "CREATE"
-              w= Whois::Whois.new(IPAddr.new(voter.ipaddress),false)
+              w= Whois::Whois.new(IPAddr.new(voter.ipaddress),true)
               puts "SEARCH"
               w.search_whois
               puts "DONE"
               Cache.set("WHOIS:#{voter.ipaddress}", w)
             else
-              w= Whois::Whois.new(IPAddr.new(voter.ipaddress),false)
+              w= Whois::Whois.new(IPAddr.new(voter.ipaddress),true)
               w.search_whois
             end
             
         <%=h((w.host == nil or w.host.empty?) ? voter.ipaddress : w.host)%>
       </td>
       <td>
-        <%=h (w.all.grep(/^(OrgName|org-name)/)[0] or "").sub(/^(OrgName|org-name)\:/,'').strip -%> - <%=  (w.all.grep(/^(NetName|netname)/)[0] or "").sub(/^(NetName|netname)\:/,'').strip %>
+        <%org=(w.all.grep(/^(OrgName|org-name)/)[0] or "").sub(/^(OrgName|org-name)\:/,'').strip+" - "+ (w.all.grep(/^(NetName|netname)/)[0] or "").sub(/^(NetName|netname)\:/,'').strip %>
+        <% if org =~ /IANA/ %>
+          <%= "No additional information" %>
+        <% else %>
+          <%= h(org) %>
+        <% end %>
 
     <% rescue ArgumentError => err %>
       <%=h err %>

Benjamin Mako Hill || Want to submit a patch?