File: rbl.rb

package info (click to toggle)
hiki 0.8.7-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 1,796 kB
  • ctags: 1,736
  • sloc: ruby: 20,269; lisp: 926; sh: 269; makefile: 12
file content (22 lines) | stat: -rw-r--r-- 453 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require "resolv"

def postable?
  dnsbl_list = (@conf['rbl.dnsbl_list'] || '').split
  if dnsbl_list.empty?
    dnsbl_list = ["niku.2ch.net"]
  end

  address = ENV['REMOTE_ADDR']
  ip = address.scan(/\d+/).reverse.join(".")

  dnsbl_list.each do |dnsbl|
    begin
      Resolv.getaddress( "#{ip}.#{dnsbl}" )
        STDERR.puts "RBL : #{address}"
        return false
    rescue Resolv::ResolvError
    rescue Exception
    end
  end
  return true
end