Hack WHOIS lib to implement a 5-second timeout on DNS resolution.
[selectricity] / app / views / quickvote / list_voters.rhtml
index 1672499f0a3b38af7fe185ee5e750e4a5b703667..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>
             voter.ipaddress =~ /^172\.[1-3]/
             %>
             <% w=nil
+            puts "WHOIS #{voter.ipaddress}"
             if Cache and w=Cache.get("WHOIS:#{voter.ipaddress}")
             elsif Cache
+              puts "CREATE"
               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),true)
         <%=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?